目錄
8、如何自己編寫一個library(2021年1月28日完成)
9、數據庫連接
9、如何支持win32應用
10、接口測試
11、持續集成
12、自定義包
13、ride使用(快捷鍵、tear down、timeout、template、tags)
14、常見問題
3、讓用例更完善一些
前面用訪問百度首頁,讓大家已經了解了如何創建一個用例,這是最簡單,也是不太完善的一個用例。如果你做過功能測試,就一定知道一個用例基本需要包含的元素:標題、執行步驟、期望結果。我們今天就是講解一下這幾個要素在ride中如何體現并完善我們的測試用例。
3.1 功能用例步驟
我們即將寫這樣一個用例:在百度搜索引擎中搜索robotframework關鍵字可以搜索到結果
步驟1:打開瀏覽器
步驟2:訪問http://www.baidu.com
步驟3:在搜索框輸入:robotframework關鍵字
步驟4:點擊百度一下按鈕
3.2 完善自動化步驟
在上一篇文章中,我們實際只實現到了步驟2。所以我們還需要輸入關鍵字和點擊一下按鈕這2個步驟。那如何模擬輸入呢?
需要用到我們selenium2library里面的關鍵,我們可以按下F5看下:
可以看到支持input的關鍵字搜索結果有幾個,從字面意思上也可以看出來選用input text這一個。
從它的定義和參數上看到需要locator和text2個參數
那locator是什么呢?
大家可以用chrome打開www.baidu.com,然后按下F12,按照下面2幅圖的步驟操作
好了,根據上面2幅圖,你已經獲取到輸入框的Xpath,具體什么是Xpath,如果你之前了解過,那沒什么好奇的,如果你沒聽過這個概念,就去網上搜索了解一下吧。不了解這個概念并不影響你閱讀此文。
有了Xpath后,就好辦了,在之前用例步驟的基礎上,再增加一行.
下一步就是點擊百度一下按鈕了,用上面同樣的方法,獲取百度一下按鈕的Xpath。
按鈕是點擊的事件,所以需要用到selenium2Library里面的click關鍵字。用F5看下和click匹配的關鍵字。
click button和click element有什么區別呢?如果都是用xpath,其實使用上沒有什么特別的區別。大家先不用糾結。
下面我寫了2種用法區別,二選1即可,聰明的你一定知道區別了吧。(當用click buton的時候,程序會去尋找名稱=百度一下的按鈕)
到目前為止,操作步驟都寫完了。
那期望結果呢?我們的自動化用例是自動執行的,如何讓機器知道執行后的結果是否正確呢?
我們按照上面的步驟執行后,頁面會進入如下狀態。
那么我們如何認為這個用例執行通過呢?
該用例測試的是可以搜索到結果即為通過。所以根據這個頁面我們只要判定頁面上
有文字:百度為您找到相關結果約4,530,000個? 這句話即可。但是因為搜索數量是不可預知的,所以可以只校驗:百度為您找到相關結果約? 這幾個字即可。
我們繼續用F5搜索一下page should,會出現如下匹配項
從字面意思也可以看出來,這些關鍵字主要是用來驗證結果的。存在or 不存在。
當然,還有其他驗證用例是否通過的關鍵字,這里大家先了解這個。
加上驗證步驟后如下:
注意,我在步驟和步驟之間加上了sleep 2的代碼,因為模擬人的真實操作,比如你搜索后頁面要刷新,可能需要等待1-2秒頁面才能完全加載完成,那么我們的自動化用例也需要等待,否則下個步驟可能找不到需要的元素。因為前面還沒有加載完成。
至此:我們讓我們的用例完善了一些,有步驟,有期望。
下一篇文章我們會來給用例設置一些前置和后置。