【超详细】全国大学生软件测试大赛:移动应用测试脚本编写要求
博主提供練習(xí)題下載,導(dǎo)入eclipse即可運行。點擊查看
移動測試腳本編寫要求:點擊查看
博主參賽紀(jì)錄分享:點擊查看
目錄
腳本編寫要求
UIAutomatorViewer 工具介紹
1、獲取快照
2、頁面層級
3、屬性詳情
定位控件的參數(shù)選擇要求
例1
例2
其他注意事項
腳本編寫要求
UIAutomatorViewer 工具介紹
在你開始寫測試用例之前,使用 uiautomatorviewer 工具可以幫助你熟悉你的 UI 組件(包括視圖和控件),并獲取組件的各項屬性信息。
你可以使用它對當(dāng)前連接到你電腦上的手機屏幕進行一個快照,然后可以看到手 機當(dāng)前頁面的層級關(guān)系和每個控件的屬性。利用這些信息,你可以寫出針對特定 UI 控件的測試用例。
在本地的 ..\sdk\tools\ 目錄下打開 uiautomatorviewer.bat (打開前請手機連接 電腦,手機開啟 USB 調(diào)試)。
1、獲取快照
? ? ? ? 當(dāng)你要分析一個頁面時,首先將手機的頁面停留在你要分析的頁面,然后用數(shù)據(jù) 線連接電腦。
然后點擊 uiautomatorviewer 左上角的第二個圖標(biāo)按鈕 Device Screenshot,點擊 之后會將當(dāng)前手機界面的快照更新到這里來。
2、頁面層級
? ? ? ? 右上方的整個區(qū)域,就是當(dāng)前頁面布局的層級關(guān)系。
3、屬性詳情
? ? ? ? 右下方的整個區(qū)域,是當(dāng)前選中的頁面或者是控件的屬性信息。這部分比較重要, 我們以后寫代碼的時候就是需要通過查看屬性中的控件的 id 或者是 text 等來獲 取控件的實例,然后點擊操作它。
定位控件的參數(shù)選擇要求
原則:對腳本控件定位參數(shù)的選擇要追求在要求范圍內(nèi)的唯一性。
即除了在多個頁面中都會出現(xiàn)的公共控件之外(例如返回按鈕),其它的控 件定位參數(shù)的選擇要做到在題目范圍內(nèi)的全局唯一
本題只涉及到使用兩種參數(shù)對控件進行定位,控件 id 或控件 XPath,其中
參數(shù)選擇優(yōu)先級:控件 Resource-id > 控件 XPath
? ? ? ? 優(yōu)先使用控件的 id 來定位控件(對應(yīng) driver.findElementById()方法),若 id 在題目范圍內(nèi) 并不全局唯一, 則 使 用 XPath 進行定位 (對應(yīng) driver.findElementByXPath()方法)。
?
例1
? ? ? ? 如上圖中使用 UI Automator Viewer 工具(這個工具在本機的 Android sdk 目錄下的 tools 文件夾下,名為 uiautomatorviewer.bat 的文件,雙擊運行即可啟 動該工具,點擊工具中左上角,見上圖,第二個按鈕即可獲取當(dāng)前已連接設(shè)備 的當(dāng)前頁面,并查看對應(yīng)控件屬性)查看已連接設(shè)備當(dāng)前頁面上的控件及其屬 性。
? ? ? ? 對比以上兩圖可以發(fā)現(xiàn),“商城”控件的 id 為 com.floral.life:id/rb_bottom_s hop,而與其同類的控件“我的”的 id 為 com.floral.life:id/rb_bottom_person,我 們?nèi)绻ㄎ豢丶吧坛恰?#xff0c;可知其 id 滿足定位參數(shù)唯一性的原則,所以這里 使用 id 作為“商城”定位的參數(shù)
?
例2
? ? ? ? 比較上面兩張圖可以發(fā)現(xiàn),當(dāng)前屏幕上“干花”這個控件的 id 和“鮮切 花”的 id 是相同的,都為 com.floral.life:id/tv_title。如果我們要定位“鮮切花” 這個控件,根據(jù)優(yōu)先使用全局唯一的參數(shù)來定位的原則,發(fā)現(xiàn) id 并不全局唯 一,不能和例 1 一樣處理,故考慮使用 XPath 進行定位。
? ? ? ? XPath 是一種特殊的路徑,可以理解為使用多個參數(shù)來唯一定位到一個控 件。
? ? ? ? 在此處我們使用的 XPath 為//android.widget.TextView[@text='鮮切花 '],即 其格式如下。
//控件類名[@控件屬性名='控件屬性值']? ? ? ? 即定位到當(dāng)前頁面中的 android.widget.TextView 類控件且其對應(yīng)的 text 屬性值 為'鮮切花 '(此處'鮮切花 '的花字后面還有一個空格,所以不要自己輸入屬性 值,應(yīng)該直接把在 UI Automator Viewer 中的值直接拷貝到代碼中去)。
? ? ? ? 理論上來說 XPath 中的控件屬性名可以是該控件的任意屬性,但因為全局 唯一性的要求,首要選擇 text、content-desc 這種特殊性較強的屬性值,不要選 擇 index、bounds 這種多個控件極易相同(即未滿足全局唯一)的屬性值。
?
其他注意事項
- 腳本中不要使用 driver.findElementsByxxx()一類的方法,不要用該方法 定位多個控件得到一個 list 再循環(huán)來操作 list 中控件(除非該控件的 XPath 都不能滿足在測試范圍內(nèi)的全局唯一)。
- 腳本中允許自定義函數(shù),但對于 driver.findElementById()?這類原生方法,不 要進行封裝。
- 腳本中使用 XPath 進行定位時,務(wù)必與腳本編寫要求中的 XPath 格式完全一 致,即 //控件類名[@控件屬性名='控件屬性值'] 不要使用//*[@控件屬性名='控件屬性值']等一系列其他格式。
- 邏輯上是一句話的代碼務(wù)必寫在一行內(nèi),不要在函數(shù)的參數(shù)處換行。
總結(jié)
以上是生活随笔為你收集整理的【超详细】全国大学生软件测试大赛:移动应用测试脚本编写要求的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第三十章 被动语态
- 下一篇: 计算机鼠标左键不起作用,鼠标左键失灵怎么