XPath定位问题——针对UI自动化测试

2019-01-24  本文已影响0人  气球球_

最近在用公司开发的自动化测试工具测UI和接口,遇到的一个小小小问题,记录一下。

在写测试用例的脚本过程中,我想获取页面上的元素,找到其ID,如下图:

用例设计

想获取“用例设计“这个button,我按照老方法:

检查

用XPath定位:

copy

为://*[@id="auth"]/a

添加到我的用例中去,发现执行的时候并没有按预期执行:

用例步骤

上图是写的用例脚本,把刚刚的xpath://*[@id="auth"]/a添加进去,这个步骤的意思就是点击“用例设计“按钮,预期结果是能显示出用例设计按钮下UI测试和接口测试的按钮,发现实际结果是执行的是上一个按钮“测试计划“:

实际结果

为什么添加的是“用例设计”的参数,跑的时候却跑到“测试计划”上去了?检索了一下“测试计划”,发现XPath和“用例设计”一样,都是//*[@id="auth"]/a,id是一样的,难怪。

这里解决的办法是,构建//span[text()=" "],先去控制台获取一把:

$x

$x 可以用xPath的语法来获取页面上的元素:

$x

把//span[text()="用例设计"]替换原来的,问题就解决了。一开始的时候,我获取页面上的按钮的方式是定位id,但是发现很多按钮都没有id显示:

id

如百度一下的按钮id是su,下图登录的按钮id不显示:

id不显示

我就用XPath来定位,但是XPath会随着页面元素布局的改变而改变,没有直接获取按钮id那么准确(不过也能用)。公司开发的这个工具我个人觉得界面简洁,上手容易,还挺喜欢的,只是功能方面还不够强大,目前还在摸索中。

上一篇 下一篇

猜你喜欢

热点阅读