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 ...
随机推荐
- 手工搭建ABP框架(1) - Web项目
为了防止不提供原网址的转载,特在这里加上原文链接: http://www.cnblogs.com/skabyy/p/7295533.html ABP是 ASP.NET Boilerplate Proj ...
- js 添加事件 attachEvent 和 addEventListener 的区别
1.addEventListener 适用w3c标准方法addEventListener绑定事件,如下,事件的执行顺序和绑定顺序一致,执行顺序为method1->method2->meth ...
- jQuery选择器(子元素过滤选择器)第七节
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- 一个“”字引发的痛苦经历
(一篇老文章,还有点价值,特意整理了一下.由于涉及客户项目,已经进行了脱敏处理) 1 写在前面的话 虽然这个问题是有解决方案的,但我不建议大家提供给客户,理由见此. 2 问题描述 2010.10.12 ...
- gulp一般使用
gulp的基本使用总结了一下几点: 1.gulp-ejs的使用 [ file include,html文件合并 ]: let ejs = require("gulp-ejs"); ...
- mkdir--命令
mkdir命令 mkdir:make directory(ies)的缩写,用来创建目录 1.语法 mkdir [OPTION]... DIRECTORY 注释:option是选择,可选,directo ...
- Vue浅谈
谈Vue 最近在学习Vue相关的知识点并且也做一些练手,就在学习过程中出现的各种坑爹的地方做一个总结!之后再遇到也不会抓瞎. 1.Vue工程的安装 (1)首先先安装node.js这是Vue的运行基础. ...
- Python基础---python中的异常处理
Python中的异常处理 一.什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) ...
- Python的egg包
1.背景 查看flower的源码,首先看到flower的主程序如下: #!/usr/local/sinasrv2/bin/python2.7 # EASY-INSTALL-ENTRY-SCRIPT: ...
- prometheus client_golang使用
序言 Prometheus是一个开源的监控系统,拥有许多Advanced Feature,他会定期用HTTP协议来pull所监控系统状态进行数据收集,在加上timestamp等数据组织成time se ...