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

时间:2017-09-21 05:57:27

标签: java selenium testing appium

我有一个带文本的element1,我点击了这个element1,它将我带到另一个页面,然后点击另一个element2并将我带回element1。但是element1应该与element2具有相同的文本,因为当我点击element2时它已经更新了。你会如何在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");
      }

5 个答案:

答案 0 :(得分:0)

您可以在获取元素值之前通过验证标题来检查:

  //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");
  }

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

尝试亚马逊网站的例子,其中页面不同但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");
}

答案 3 :(得分:0)

使用以下语法捕获要比较的每个元素的文本。

String text1=element1.getText();

现在你可以使用if语句或断言2个文本是否相等。

答案 4 :(得分:0)

检查两个元素或一个字符串是否显示在预期的元素上。

assert(firstText.contains(secondText));

如果案例通过则返回True,如果案例失败则返回False。