编写ui自动化问题总结

xpath定位

1、对于不好定位的元素,尽量不要使用parent等方式找父级、兄级进行定位,可以使用contains,或者加[1][2][3]进行定位;

举例:String a="//div[contains(@class,'style_Titles') and contains(.,'数据服务')]";

2、xpath路径中传入参数;

public void clickButtonByNumber(String Number){
twd.click(findBy.xpath,"//td[text()='"+number+"']//following-sibling::td//span[text()='查看']");
}

3、列表定位元素无法点击:有两层div,一层inner,一层outer,就是一层模板样式,一层具体数据覆盖模板样式,有时精确定位仅定位到outer,模板样式中的元素,所以无法点击到inner

解决方法一:通过模糊定位方式同时找到outer和inner的元素,比如一页十列数据,有10个查看,会定位到20个,再加上排序,去点击。

解决方法二:通过outer元素中的列表唯一订单号,反推出inner元素的列表序列号,再通过列表序列号,找到对应的列表操作按钮。

4、尽量使用xpath进行定位;

xpath不好定位时,考虑id定位等方式;

xpath不好定位时,键盘操作也是较好的办法;

xpath不好定位页面靠下方的图标时,考虑使用键盘操作,先将网页拉到最下面,再xpath定位点击。

其他

1、显性等待、隐性等待都有的情况下,仍可能出现页面元素加载未成功的情况,可以再加上sleep,硬性等待;

2、打开某一个页面后,再刷新一次,再进行等待;

3、改变assert判定方式或者改变判定元素;

4、每个用例运行完成后,重新开关浏览器,避免一个用例失败后,之后的步骤均无法执行的情况;

5、新开页面了,记得切换handle句柄,否则无法定位到元素!!!

原文地址:https://www.cnblogs.com/hushuer/p/14291910.html