Element Attribute Should Match 關鍵字用來判斷元素的屬性值是否和預期值匹配,該關鍵字接收四個參數[ locator | attr_name | match_pattern | regexp=False ],當經過locator識別到元素超過1個元素時,會默認選擇第一個元素,attr_name參數表明所選元素的屬性的名稱,match_pattern參數表明預期匹配值。Regexp表明了匹配時是否經過正則表達式來進行匹配。html
示例1:使用Element Attribute Should Match 關鍵字來判斷經過locator爲id=com.example.calculator:id/factorone和attr_name=name 獲取到的值是否能和預期值匹配。在這裏依舊採用上面使用的APP來作操做示例。android
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=MainActivityweb
Element Attribute Should Match正則表達式
id=com.example.calculator:id/factorone name 輸入框 數據庫
執行結果:session
Starting test: RobotFrameworkTest1.TestSuite5.TestCase017app
20170513 15:48:54.838 : INFO : msg:find id=com.example.calculator:id/factorone框架
20170513 15:48:54.839 : INFO : prefix: idpost
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獲取到兩個元素時,默認只會使用第一個元素,從結果看能和預期結果匹配上。
Robot Framework自動化測試框架核心指南電子版試讀
相關博文彙總:
RobotFramework下的http接口自動化Create Http Context關鍵字的使用
RobotFramework下的http接口自動化Get關鍵字的使用
RobotFramework下的http接口自動化post關鍵字的使用
RobotFramework下的http接口自動化Get Response Body關鍵字的使用
RobotFramework下的http接口自動化Get Response Status 關鍵字的使用
RobotFramework下的http接口自動化Get Response header 關鍵字的使用
RobotFramework下的http接口自動化Set Request Header 關鍵字的使用
RobotFramework下HttpLibrary庫其它關鍵字
RobotFramework下的http接口自動化Set Request Body 關鍵字的使用
RobotFramework下的http接口自動化Follow Response關鍵字的使用
RobotFramework自動化測試框架的基礎關鍵字(一)
RobotFramework自動化測試框架的基礎關鍵字(二)
RobotFramework自動化測試框架的基礎關鍵字(三)
RobotFramework自動化測試框架的基礎關鍵字(四)
RobotFramework自動化測試框架的基礎關鍵字(五)
RobotFramework自動化測試框架-移動手機自動化測試AppiumLibrary介紹
RobotFramework自動化測試框架-移動手機自動化測試Open Application關鍵字的使用
RobotFramework自動化測試框架-經常使用斷言關鍵字
RobotFramework自動化測試框架-移動手機自動化測試AppiumLibrary庫其它的常見自動化關鍵字
RobotFramework自動化測試框架-移動手機自動化測試Input Text和Click Button關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Clear Text關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Click Element關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Click A Point關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Click Element At Coordinates關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Get Element Location關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Get Network Connection Status和Set Network Connection Status關鍵字的使用
RobotFramework自動化測試框架-移動手機自動化測試Element Attribute Should Match關鍵字的使用
RobotFramework自動化測試框架-DatabaseLibrary庫的使用(對數據庫的操做)
RobotFramework自動化測試框架-使用Python編寫自定義的RobotFramework Lib
RobotFramework自動化測試框架-Selenium Web自動化(-)-Open Browser和Close Browser