RobotFramework自动化测试框架-移动手机自动化测试Element Attribute Should Match关键字的使用
Element Attribute Should Match 关键字用来判断元素的属性值是否和预期值匹配,该关键字接收四个参数[ locator | attr_name | match_pattern | regexp=False ],当通过locator识别到元素超过1个元素时,会默认选择第一个元素,attr_name参数代表所选元素的属性的名称,match_pattern参数代表预期匹配值。Regexp代表了匹配时是否通过正则表达式来进行匹配。
示例1:使用Element Attribute Should Match 关键字来判断通过locator为id=com.example.calculator:id/factorone和attr_name=name 获取到的值是否能和预期值匹配。在这里依旧采用上面使用的APP来做操作示例。
Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=22 deviceName=98YFBP522VSU app=C:/Users/yongqing/Desktop/app-debug.apk appPackage=com.example.calculator appActivity=MainActivity
Element Attribute Should Match
id=com.example.calculator:id/factorone name 输入框
执行结果:
Starting test: RobotFrameworkTest1.TestSuite5.TestCase017
20170513 15:48:54.838 : INFO : msg:find id=com.example.calculator:id/factorone
20170513 15:48:54.839 : INFO : prefix: id
20170513 15:48:54.840 : INFO : criteria: com.example.calculator:id/factorone
20170513 15:48:56.622 : INFO : elements: [<appium.webdriver.webelement.WebElement (session="6708d455-65b8-4af7-8d7c-ea86e7f039f3", element="1")>]
20170513 15:48:56.745 : INFO : Element 'id=com.example.calculator:id/factorone' attribute 'name' is '输入框'
Ending test: RobotFrameworkTest1.TestSuite5.TestCase017
从执行结果看,Element 'id=com.example.calculator:id/factorone' attribute 'name' is '输入框',正好和” 输入框”能匹配上。
示例2:改用locator为class=android.widget.Butto和attr_name=name来进行匹配验证,并且看一下,当locator匹配到多个元素时是如何进行处理。
Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=22 deviceName=98YFBP522VSU app=C:/Users/yongqing/Desktop/app-debug.apk appPackage=com.example.calculator appActivity=MainActivity
Element Attribute Should Match class="android".widget.Button name 计* True
执行结果:
Starting test: RobotFrameworkTest1.TestSuite5.TestCase018
20170520 15:06:29.527 : INFO : msg:find class=android.widget.Button
20170520 15:06:29.527 : INFO : prefix: class
20170520 15:06:29.527 : INFO : criteria: android.widget.Button
20170520 15:06:31.214 : INFO : elements: [<appium.webdriver.webelement.WebElement (session="dce6f097-98d2-4632-8708-598e2f693721", element="1")>, <appium.webdriver.webelement.WebElement (session="dce6f097-98d2-4632-8708-598e2f693721", element="2")>]
20170520 15:06:31.214 : INFO : CAUTION: 'class=android.widget.Button' matched 2 elements - using the first element only
20170520 15:06:31.243 : INFO : Element 'class=android.widget.Button' attribute 'name' is '计*'
Ending test: RobotFrameworkTest1.TestSuite5.TestCase018
从执行结果看:当通过class=android.widget.Button获取到两个元素时,默认只会使用第一个元素,从结果看能和预期结果匹配上。
RobotFramework自动化测试框架-移动手机自动化测试Element Attribute Should Match关键字的使用的更多相关文章
- RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍
在使用AppiumLibrary库时,需要预先安装好Appium自动化工具,Appium官网地址为:http://appium.io/ Appium的GitHub地址为:https://github. ...
- RobotFramework自动化测试框架-移动手机自动化测试Click Element关键字的使用
Click Element关键字用来模拟点击APP界面上的一个元素,该关键字接收一个参数[ locator ] ,这里的locator指的是界面元素的定位方式. 示例1:使用Click Element ...
- RobotFramework自动化测试框架-移动手机自动化测试Click Element At Coordinates关键字的使用
Click Element At Coordinates关键字通过一个具体的坐标点,来模拟点击一个Element,该关键字接收两个参数[ coordinate_X | coordinate_Y ]. ...
- RobotFramework自动化测试框架-移动手机自动化测试Get Element Location关键字的使用
Get Element Location关键字用来获取一个Element的Location位置,该关键字接收一个参数[ locator ] 示例1:使用Get Element Location来获取一 ...
- RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary库其它的常见自动化关键字
关键字 使用描述 Close Application 关闭掉当前已经打开的APP Application,该关键字不需要接收任何的参数,但是使用该关键字的前提是已经打开了一个APP Applicati ...
- RobotFramework自动化测试框架-移动手机自动化测试Input Text和Click Button关键字的使用
Input Text和Click Button Input Text 关键字一般用来给输入框进行输入操作,该关键字接收两个参数[ locator | text ]. 示例1:启动安卓手机上一个APP的 ...
- RobotFramework自动化测试框架-移动手机自动化测试Get Network Connection Status和Set Network Connection Status关键字的使用
Get Network Connection Status关键字用来获取手机的网络连接状态.在获取到连接状态后,会返回不同的数字. Set Network Connection Status关键字用来 ...
- RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用
Clear Text关键字用来清除输入框的数据,该关键字接收一个参数[ locator ],这里的locator指的就是界面元素的定位方式. 示例1:Clear Text清除输入框数据时,采用reso ...
- RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用
在AppiumLibrary库中,Open Application关键字用来打开一个待测试移动APP. 示例1:连接本机已经打开的appium服务端,打开一个待测试的安卓APP,指定测试平台为Andr ...
随机推荐
- linux的特殊符号与正则表达式
第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2 * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...
- 玩玩Qt(一)
最近在看一些关于游戏引擎的东西,本来是有几个游戏的小点子,其实实现起来还挺麻烦的,想找个游戏引擎看看能不能码起来.辗转之后发现了很多2D引擎,其中国产的要数cocos2dx用的好像是比较广泛,但是好多 ...
- Android 开发笔记___DatePicker__日期选择器
虽然EditText提供了inputTtype="date",但用户往往不太喜欢自己输入时间. Android为这个提供了DatePicker,但有很多缺点,不是弹窗模式,而是直接 ...
- java中表示二进制、八进制、十进制、十六进制
1.进制 进制是一种记数方式 ,可以用有限的数字符号代表所有的数值.由特定的数值组成. 2.进制的表现形式 二进制: 由0和1两个数字组成. 八进制: 由0-7数字组成,为了区分与其他进制的数字区别, ...
- POI不同版本替换Word模板时的问题
一.问题描述 通过POI,把Word中的占位符替换为实际的值,以生成复杂结构的业务报告. 在POI 3.9上,功能正常.由于某些原因升级到POI 3.10.1后,项目组反馈说Word模板出错,无法生成 ...
- 【Tesseract】Tesseract API在VS 2013中的配置以及调用
想要在VS中使用Tesseract库,必须使用经过相对应的VS版本编译过的dll以及lib.比如在VS 2013中,就必须使用在VS 2013中编译过的Tesseract库. 这里我给出经过VS 20 ...
- 基于HTML5的WebGL经典3D虚拟机房漫游动画
第一人称在 3D 中的用法要参考第一人称在射击游戏中的使用,第一人称射击游戏(FPS)是以第一人称视角为中心围绕枪和其他武器为基础的视频游戏类型 ; 也就是说,玩家通过主角的眼睛来体验动作.自从流派开 ...
- c#正则表达式应用实例
两种使用方法: 1.在文本输入框后加入正则表达式验证控件Regularexpression_r_rValidator.此种方法适用于WebForm中.在Validationexpression_r_r ...
- 某互联网后台自动化组合测试框架RobotFramework+Python+Sikuli
一.RobotFramework 1.工具介绍: Robotframework在测试中作为组织测试用例和BDD关键字的平台,主要使用RIDE进行管理,它不是一个工具,而仅仅是一个框架,使用Python ...
- 关于SQLServer数据库中字段值为NULL,取出来该字段放在DataTable中,判断datatable中该字段值是否为NULL的三种方法
1. DataTable dt; //假设字段为name, dt已经保存了数据dt.rows[0]["name"] == ...