赞
踩
在实际测试项目中,会出现新增数据记录不显示在第一页,而是显示最后一页,对于这种情况,那我们要根据每页显示数据数来进行翻页,保证代码能够准确拿到数据文本来做结果比对。
第一步:在基础类BaseTest中,写一个“翻页”方法getPageCountFlip()。
代码如下:
//若按主键排序,当数据大于 10条记录,即要翻页到尾页才能做后续操作,比如:删除
public void getPageCountFlip(WebDriver driver){
WebElement tableInfoElement = driver.findElement(By.cssSelector("#data_table_info .infos"));
String pageText = tableInfoElement.getText();
System.out.println("pageText=====" + pageText);
int index1 = pageText.indexOf("共");
int index2 = pageText.indexOf("条");
String pageStr = pageText.substring(index1 + 1, index2);
if(Integer.valueOf(pageStr.trim())>10){
WebElement lastpage =driver.findElement(By.cssSelector("#data_table_paginate .pagination .last a"));
lastpage.click();
}
}
第二步:在测试case中,继承BaseTest基础类(extends BaseTest)。在要截图的地方调用“翻页”方法getPageCountFlip()。
代码如下:
//翻页
this.getPageCountFlip(driver);
实例:比如添加角色后,新增的记录显示在最后一页,要比对新增结果是否正确,则要先检查数据列表的数据是否大于10条记录,如果大于10条记录,则翻页到最后一页,再去比对新增结果是否正确。
注意:在翻页前,最好等待时间3秒,保证能够拿到正确的记录数。
代码如下:
@Test(description="添加角色")
public void RoleCreateTest() {
//登录
YiiLogin yiiLogin = new YiiLogin();
yiiLogin.login(driver);
//进入角色管理
YiiOpenRole openrole=new YiiOpenRole();
openrole.openrole(driver);
//点击添加角色
YiiRoleCreate rolecreate=new YiiRoleCreate();
String code = rolecreate.rolecreate(driver);
//刷新页面
// WebDriverWait menuwait = new WebDriverWait(driver,40);
// WebElement menuopenNode = menuwait.until(new ExpectedCondition(){
// @Override
// public WebElement apply(WebDriver d) {
// WebElement menulastProject = driver.findElement(By.cssSelector("#admin-role-search-form"));
// return menulastProject;
// }});
//刷新页面等待时间5秒
try{
Thread.sleep(5000);
}
catch(Exception e){
e.printStackTrace();
}
//翻页
getPageCountFlip(driver);
//刷新页面,比对结果
witeForPageRefeshByText(driver, "#data_table > tbody", code,true);
//添加角色完成后截图
this.screenshot("RoleCreate添加成功.jpg",driver);
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。