我正在使用带有testng java的webdriver ..
1)如果已删除的记录不再出现在页面上,是否有任何方法可以断言。如果是,请给我一个小样本代码。
由于
感谢您的回复。目前,我没有关注页面对象模式。我做的是:
我只是创建@Test方法并在其中编写我的代码。例如:
@Test(优先级= 0 ......) //代码
@Test(优先级= 1 ......) //代码
依旧......
对于删除,当我创建新用户时,该记录会添加到现有记录中。每个记录都有一个复选框,其中包含特定的xpath。问题是最顶层记录的xpath始终相同,因此断言是否无法删除新记录。
@Gavin:你的'等待'技术似乎很好。
最顶层记录的xpath chechbox = .//* [@ id ='main'] / div / form [2] / table / tbody / tr [1] / td [1] / input
第二个最顶层记录的xpath chechbox = .//* [@ id ='main'] / div / form [2] / table / tbody / tr [2] / td [1] / input
由于
答案 0 :(得分:0)
您是否考虑过以另一种方式断言测试?
例如断言正确的记录仍然存在?
尝试让WebDriver等待该记录的独特内容呈现,当等待x出现时超时捕获WebDriver异常,然后您知道该项目就在那里。 这对我来说有点像黑客。
这是你应该在表示层测试的吗?我会测试这是一个直接的单元测试,将删除请求发送到“端点”,然后断言返回的结果集的内容/ lsit
答案 1 :(得分:0)
假设你有一个所述记录的By对象,你可以在你的代码中实现一个方法isElementPresent(),它将根据所述元素是否存在的条件返回true或false。
public boolean isElementPresent(WebDriver driver, By by){
try{
driver.findElement(by);
return true;
}catch(NoSuchElementException e){
return false;
}
}