接下來,我開始我的第一個webUI自動化腳本,加油!
測試用例:打開百度首頁,搜尋Selenium,然後檢查搜尋清單,有沒有Selenium這個官網連結選項。
測試場景拆分為以下步驟:
(1)啟動浏覽器(Chrome浏覽器);
(2)打開百度首頁,https://www.baidu.com;
(3)定位搜尋輸入框,激勵下輸入框的Xpath表達式://*[@id=’kw’];
(4)定位搜尋送出按鈕(百度一下這個按鈕),擷取Xpath表達式://*[@id='su'];
(5)在搜尋輸入框輸入“Selenium”,點選百度一下這個按鈕;
(6)在搜尋結果清單去判斷是否存在Selenium官網這個連結;
(7)退出浏覽器,結束測試。
具體腳本代碼:
一、第一種
# coding=utf-8
import time
from selenium import webdriver
driver = webdriver.Chorme() #打開Chrome
dirver.maxmize_window() #最大化浏覽器視窗
driver.implicitly_wait(8) #設定隐式時間等待
dirver.get("https://www.baidu.com") # 輸入百度位址
driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium") # 搜尋框輸入Selenium
dirver.find_element_by_xpath("//*[@id='su']").click() # 點選百度一下按鈕
# 導入time子產品,等待2秒
time.sleep(2)
# 這裡通過元素XPath表達式來确定該元素顯示在結果清單,進而判斷Selenium官網這個連結顯示在結果清單。
# 這裡采用了相對元素定位方法/../
# 通過selenium方法is_displayed() 來判斷我們的目标元素是否在頁面顯示。
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("https://www.baidu.com")
driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")
dirver.fine_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()
總結:web的自動化測試我認為主要有兩個難點:1.定位元素;2.如何去寫斷言,如何判斷測試結果是否通過。