天天看點

python+selenium自動化腳本_Python+Selenium學習(四)-第一個自動化腳本

接下來,我開始我的第一個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.如何去寫斷言,如何判斷測試結果是否通過。