前面文章,我們介紹了如何採用xpath表示式去定位網頁元素,在掌握了如何抓取或者如何書寫精確的xpath表示式後,我們可以開始寫自己的第乙個真正意義上的webui 自動化測試指令碼,就相當於,你在學習python,如何在控制台列印hello,python! 一樣。
在寫自動化指令碼之前,需要明確手動指令碼的步驟,然後去拆分到具體沒乙個步驟做什麼,考慮好了之後,才開始動手去寫指令碼。我把這個測試場景分拆如下步驟:
1) 啟動後瀏覽器,這裡我們用chrome
3) 定位搜尋輸入框,記錄下輸入框元素的xpath表示式://*[@id=『kw』]
6) 在搜尋結果列表去判斷是否存在selenium官網這個鏈結。
7) 退出瀏覽器,結束測試。
1) 桌面新建乙個記事本,命名並儲存為firstscript.py
2) 輸入如下**片段到firstscript.py,儲存
3) 開啟cmd視窗,切換到桌面路徑下,然後通過python firstscript.py 來執行指令碼。
firstscript.py指令碼如下
import time
from selenium import webdriver
driver = webdriver.chrome() # 開啟chrome,如果沒有安裝chrome,換成webdriver.firefox()
driver.maximize_window() # 最大化瀏覽器視窗
driver.implicitly_wait(8) # 設定隱式時間等待
time.sleep(2)
driver.find_element_by_xpath("//div/h3/a[text()=『官網』]/…/a/em[text()=『selenium』]").is_displayed()
driver.quit()
第二種斷言寫法:
#coding=utf-8
import time
from selenium import webdriver
driver = webdriver.chrome()
driver.maximize_window()
driver.implicitly_wait(8)
driver.get(「
driver.find_element_by_xpath("//[@id=『kw』]").send_keys(「selenium」)
driver.find_element_by_xpath("//[@id=『su』]").click()
time.sleep(2)
第二個判斷方法
ele_string = driver.find_element_by_xpath("//div/h3/a[text()=『官網』]/…/a").text
if (ele_string == u"selenium - web browser automation"):
print 「測試成功,結果和預期結果匹配!」
driver.quit()
這裡只利用 兩個等號(==)來判斷兩個字串是否完全相同,有時候我們還需要對得到的字串進行切割操作,才能進行去匹配,以後再介紹字串切割處理在自動化測試結果判斷中的使用。
總結:自動化測試最難的在於如何去寫斷言,如何判斷測試結果是否通過。
建議: 以上**包括以後文章中指令碼舉例,你還是最好去一行一行抄寫,不要直接複製、黏貼到你記事本中。因為,你在書寫指令碼過程,肯定會犯一些語法和輸入錯誤,在除錯指令碼過程,通過觀察報錯資訊,直到你解決問題,可以順利執行指令碼,你會得到和收穫很多。
httprunner自動化例項(二)
第一篇實現了乙個單介面的測試,第二篇我們來實現串介面的測試。首先我們需要搭建乙個可測試的系統,可以直接在github上找乙個 系統,或者直接在公司系統測試環境進行測試。我們知道 單介面 的測試非常好完成,可以通過各種介面請求工具比如postman,python request包等去發起post,ge...
python 實現介面自動化測試(例項4)
實現介面自動化測試 1 讀取case 從測試用例excel 中讀取介面請求資料 2 呼叫介面 傳送請求獲取實際結果 3 校驗結果 實際結果與預期結果對比 4 結果寫入 將實際結果與測試狀態填入excel 5 生成報告 傳送郵件 目錄劃分 1 bin start 2 cases 測試用例 3 conf...
python自動化測試
為了讓單元測試 能夠被測試和維護人員更容易地理解,最好的解決辦法是讓開發人員遵循一定的規範來編寫用於測試的 具體到python程式設計師來講,則是要採用pyunit這一自動測試框架來構造單元測試用例。目前pyunit已經得到了大多數python開發人員的認可,成了事實上的單元測試標準。1.要被測試的...