自动化测试~元素定位

  • 介绍

本文介绍如何使用Phoenix自动化测试框架来进行元素定位。

新手经常遇到的一个问题是,要定位的元素在iframe中。这样是无法直接定位,需要先定位到iframe,然后再定位您需要的元素。对于这种情况,您可以选择下面介绍的“区域定位”策略。

  • 定位方法

id、css、name、xpath、超链接文本(部分)、标签名称(tagName)等。除了Selenium默认提供的定位方法外,PhoenixAutotest框架还提供来根据标签的任意属性或者文本来定位。

  • UI组件

框架封装了一些UI组件,可以简化操作。包括有:文本框(文本域)、按钮、下拉列表、单选按钮组等。

  • 文本框

框架把文本框和文本域都当做同一类来处理,都是用于输入文本的。但,这里不包括的是一些富文本框。

它对应的类为Text。例如:

 

  • 按钮

这里说的按钮,也不一定就是对应HTML中的按钮,指的是所有用于点击操作的元素。

它对应的类为Button。例如:

 

  • 下拉列表

这里的下拉列表特指HTML中的select元素。您可以根据文本(text)、值(value)、序号(index)来选择特定的选项,另外,框架还提供了随机选择一个选项的功能。如果,在该列表只是个必填项,所选的值不会影响后续的流程的话,就最适合使用随机选择的功能了。

下拉列表中选项的文本对用户是最直接的,而值则是需要传递给后台用来存储的数据,因此我建议各位测试人员,尽可能使用文本的方式来选择列表。

它对应的类为Selector。示例:

 

  • 单选按钮组

例如:性别的选择这种单选按钮,是需要根据值来选择。而它的定位是要定位到这组单选按钮的父(parent)元素上,我这里说的值指的是每个选项的value属性。

它对应的类为CheckBoxGroup。

  • Ztree
  • 日历控件
  • 策略

框架提供了三种策略来加强元素查找——优先级、区域、循环策略。默认使用的策略是优先级策略。

  • 优先级

该策略下,框架会优先使用id来定位元素。

  • 区域

该策略下,框架会先定位一个大的区域,然后再在该区域下定位第二级的元素,以此类推。例如:

注意上面的选项:StrategyType.ZONE就是用来设置定位策略的。而timeout参数可以很好地解决动态生成的元素的定位问题。

  • 循环

该策略会优先使用id来定位元素,如果找到就返回元素,找不到则继续使用后面的方法来定位。

  • 系列文章

自动化测试,从入门到放弃

自动化测试~模块篇

自动化测试~数据源

自动化测试~参数化

自动化测试~元素定位

自动化测试框架介绍

  • 参考

本文为原创,如果您当前访问的域名不是surenpi.com,请访问“素人派”。

发表评论

电子邮件地址不会被公开。 必填项已用*标注