我有一个带文本的元素1,我点击了这个部件1,它带我到不同的网页,我点击另一个在element2并把我带回到部件1。但部件1应该有相同的文字作为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");
}
您可以检查通过获取元素的值之前验证标题:
//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");
}
您可以尝试this..It将比较你的两个预期值。
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");
}
捕捉你想与下面的语法来比较每个元素的文本。
String text1=element1.getText();
现在你可以使用if语句或断言,如果2个文本是相等的。
检查是否已经显示预期的元件上的两个元件或字符串。
assert(firstText.contains(secondText));
如果案件如果通过的情况下失效,这将返回True,和False。