gpt4 book ai didi

java - Selenium 中的“断言 True”概念

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:57 25 4
gpt4 key购买 nike

我正在使用selenium来比较网络表中存在的名称,我已经声明了具有名字和第二个名称的局部变量,并将其与网络表中存在的值进行比较。

为了实现积极的流程,我的代码运行正常并且显示了预期的结果。

对于负流,其中声明的字符串 lastname 中的名称与 Web 表中存在的值不匹配,则不会显示预期结果。 assertTrue 中存在的消息不会被打印。我的 Eclipse 显示 testng 正在运行,但此后没有任何反应。

我的假设是,如果 web-table 具有“Product”以外的任何姓氏,则找到的记录应获得值 false,并且应移至“AssertTrue”行,并应打印 stmt Lastname is not as expected

@Test 
public void abc(){
String firstname="Test";
String lastname="Product";

boolean recordfound= false;

String firstpart="//*[@id='fchArea']/table/tbody/tr[";
String secondpart="]/td[1]/a";
int i=8;
while (iselementpresent(firstpart+i+secondpart)){
//firstname
String name1=driver.findElement(By.xpath(firstpart+i+secondpart)).getText();

if (name1.equals(firstname)){
String altofsecondpart = firstpart+i+secondpart.replace("td[1]", "td[2]");
String name2=driver.findElement(By.xpath(altofsecondpart)).getText();

if(name2.equals(lastname)){
System.out.println("secondcase pass");
recordfound = true;
break;
}
}
}
Assert.assertTrue(recordfound, "Lastname is not as expected");
}

public boolean iselementpresent(String xpath){
int lst=driver.findElements(By.xpath(xpath)).size();
if(lst == 0){
return false;
}
else{
return true;
}
}

最佳答案

你的 while 循环无限进行,并且总是检查索引 8 的元素,因为你已经固定了 i 值。所以你应该增加或减少我的值。但在这种情况下,如果行号不存在,则会给出找不到元素的错误。

这是捕获 Web 表中行数然后迭代循环的最佳方法。

谢谢,-萨迪克

关于java - Selenium 中的“断言 True”概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32903916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com