如何验证两个元素在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");
}
你可以检查通过获取元素的值之前验证标题:
//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");
}
它可以给我们相同的结果,因为我们匹配他们的文本 – 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");
}
是你的问题解决了吗? – iamsankalp89
这是不同的元素,但必须有相同的文字。 – alexhacki
getText()不带任何参数。 – Murthi
getAttributes()。我很困惑,如果一个人在不同的页面上,你将如何验证两个元素是否具有相同的值文本。 – alexhacki