代码改变世界

ui自动化测试三步走

2021-04-15 21:25  Tanwheey  阅读(447)  评论(0编辑  收藏  举报

UI自动化用例其实可以分成三部分,1. 定位元素;2. 调用接口操作该元素。3.校验结果其中定位一个元素的方法很多,常用的有 id,name,css,xpath。实际设计中选择哪种定位方法一般会在维护角度上考虑的会多一些,因为现在的服务器性能配置等都很优秀,所以跑一个WEB-UI用例可以不用考虑性能问题。从维护成本上考虑会优先选择 id、name,其次 css,最后用 xpath。

我们并不能保证每一个 web 系统的所有元素都能给你提供一个唯一 id 或者唯一的 name,当然如果能和前端开发达成合作这就是一件很美好的事情了,一般情况下我们都需要面对没有 id 和 name 这两个属性的情况。这时我们就可以使用 css 样式,很多时候 css 样式是能满足我们的定位需求。当然在这些都不提供给我们的情况下就只能选择 xpath,使用 xpath 的优点 1. 易获取,主流浏览器只要打开“查看”就可以通过 copy 轻松获取到;2. 页面上的元素都可以用 xpath 来描述;缺点,不稳定,大量使用的话会给用例维护产生很大的负担。xpath 一般只要前端在页面上做一下小调整用例就必须重新维护,在不得不使用 xpath 的情况下为了减少今后的维护量可对 xpath 做一些优化,可以减少 xpath 的路径长度提高稳定性。以下是实践过程中最长用到的几种类型:

1. 依靠自己的属性文本定位,如 //input[@value=‘XXXXX’]

2. 包含指示性字符,如 //input[contains(text(),’指示性字符’)]

3. 巧妙使用 descendant,如 //*[@id=‘app-container']/descendant::input

接下来主要介绍1. 定位元素;2. 调用接口操作该元素。3.校验结果这三部分该如何完成。

1. 定位元素

包|定位路径: 是用来定位元素的,平台上WebUI定位元素的语法为: 定位方式=定位路径

下面是几种常用定位方式
使用id定位:id=xxxxx
使用name定位 name=xxxx
使用css定位 cssselector=xxxx, xxxx为css定位元素语法
使用xpath定位 xpath=xxxxxx, xxxx为xpath定位元素语法
2. 调用接口操作该元素

方法|操作: 是调用接口操作该元素,在下拉列表显示所有WebUI的操作方法

参数: 方法|操作列选中方法所需的传参,多个参数用 | 分割

3. 校验结果

步骤动作:是执行该条用例是需要执行的操作,例如,执行此步需等待3秒,则此列的值为:#3wait ,其中数字3为等待时间,wait是个标识,在这里可以认为是秒的意思

预期结果:WebUI中执行完某一步时,我们会检查某个元素此时是否存在。此时预期结果里应该这样填:check(定位方式=定位路径),其中 定位方式=定位路径 同上,除此之外,此列还支持 完全匹配,只需把完全匹配字符串填上即可。模糊匹配,%=字符串 ,%= 是平台标识,表示模糊匹配的意思,后面的 字符串是需要模糊匹配的字符串。赋值,$=变量名 $=是平台标识,标识赋值的意思,后面变量名是要给赋值的变量的名字

赋值与引用 测试步骤支持参数赋值和参数引用,参数赋值有2种方式:1,公共参数里设置,具体可参考公共参数章节。2,步骤执行完赋值,即在预期结果中填写 $=变量名 即可把此步骤执行结果赋值给变量,后续步骤需要使用此变量只需使用 @变量名 便可引用变量