如何验证两个元素在Appium中具有相同的值?

问题描述:

我有一个元素1与文本,我点击这个元素1,它带我到一个不同的页面,我点击另一个元素2,并带我回到元素1。但element1应该与element2具有相同的文本,因为它在单击element2时得到更新。你将如何在Appium中验证它?如何验证两个元素在Appium中具有相同的值?

我很困惑,如何验证,如果element2的是不同的页面

 String txt1=element1.getText("same"); 
     String txt2=element2.getText("same"); 

     if(txt1.equals(txt2)) 
     { 
     System.out.println("Success"); 
     } 
     else 
     { 
     System.out.println("Failure"); 
     } 
+0

getText()不带任何参数。 – Murthi

+0

getAttributes()。我很困惑,如果一个人在不同的页面上,你将如何验证两个元素是否具有相同的值文本。 – alexhacki

你可以检查通过获取元素的值之前验证标题:

//current first page 
    String firstPageTitle = driver.getTitle(); 
    String txt1=element1.getText(); 
    element1.click(); 

    //current page Second 
    String secondPageTitle = driver.getTitle(); 

    if(!secondPageTitle.equals(firstPageTitle)){ 
    String txt2=element2.getText(); 
    } 
    //verify if element texts are equal 
    if(txt1.equals(txt2)) 
    { 
    System.out.println("Success"); 
    } 
    else 
    { 
    System.out.println("Failure"); 
    } 
+0

它可以给我们相同的结果,因为我们匹配他们的文本 – iamsankalp89

你可以试试这个它会比较你的两个期望值。

assertEquals(txt1,txt2,"txt1 And txt2 is not same"); 

尝试亚马逊的网站,网页是不同的充但gettext的价值的这个例子是相同

WebDriver driver=new FirefoxDriver(); 
driver.get("https://www.amazon.in"); 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
String titleFirstPage=driver.getTitle(); 
WebElement element1=driver.findElement(By.xpath(".//*[@id='nav- 
logo']/a[1]/span[1]")); 
String element1Text=element1.getText(); 

driver.findElement(By.xpath(".//*[@id='tile-top']/div[2]/a/span")).click(); 
String titleSecondPage=driver.getTitle(); 
WebElement element2=driver.findElement(By.xpath(".//*[@id='nav-logo']/a[1]/span[1]")); 
String element2Text=element2.getText(); 

if (!titleFirstPage.equals(titleSecondPage)) { 
    System.out.println("Differnt page"); 
    if(element1Text.equals(element2Text)) 
    { 
     System.out.println("Amazon title is same"); 
    } 
    else 
    { 
     System.out.println("not matched"); 
    } 

} 
else 
{ 
    System.out.println("Smoething is not correct"); 
} 
+0

是你的问题解决了吗? – iamsankalp89

+0

这是不同的元素,但必须有相同的文字。 – alexhacki

捕捉你想与下面的语法来比较每个元素的文本。

String text1=element1.getText(); 

现在,您可以使用if语句或在两个文本相等的情况下断言。

+0

和2107最高QA奖去.. – kushal

+0

这是非常友善的你! – bsk