- 自動(dòng)化測(cè)試基礎(chǔ)
- 測(cè)試環(huán)境搭建
- Python基礎(chǔ)
- WebDriver API
- 自動(dòng)化測(cè)試模型
- Selenium IDE
- unittest 單元測(cè)試框架
- 自動(dòng)化測(cè)試高級(jí)應(yīng)用
- Selenium Grid2
- Python多線程
- 自動(dòng)化測(cè)試項(xiàng)目實(shí)戰(zhàn)
- BDD框架之Lettuce入門(mén)
- GitHub托管項(xiàng)目
- 持續(xù)集成Jenkins入門(mén)
WebDriver API
By.ID
/By.NAME
/By.CLASS_NAME
=元素屬性
文本鏈接名稱(chēng)
By.LINK_TEXT
=><a >iCMP-2053</a> find_elements(self, by=By.LINK_TEXT, value="iCMP-2053")
超長(zhǎng)文本鏈接部分
By.PARTIAL_LINK_TEXT
=><a >youtrack 任務(wù) iCMP-2053</a> find_elements(self, by=By.PARTIAL_LINK_TEXT, value="任務(wù)iCMP-2053")
-
By.XPATH
id name class link_text 會(huì)變化的情況下播歼,采用 XPath 定位
XPath 是一種在XML文檔中定位元素的語(yǔ)言怀挠。HTML 可以看作 XML 的一種實(shí)現(xiàn)絕對(duì)路徑定位
xpath=/div/div/div[2]/div/form/div/div/div[3]/div/div[2]/div/div/span/span/input
元素屬性定位
xpath=//input[@id='username']
層級(jí)與屬性定位
xpath=//div[@id='root']/div/div/div[2]/div/form/div/div/div[3]/div/div[2]/div/div/span/span/input
邏輯運(yùn)算符
xpath=//input[@id='username' and @class='username'] xpath=//button[contains(.,'登 錄')]
-
By.CSS_SELECTOR
#username .username span>input [name='username']
控制瀏覽器
driver.set_window_size(480, 800);
driver.back()//后退
driver.forward()//前進(jìn)
driver.refresh()//刷新
元素操作
driver.find_element(By.ID, "username").clear();//清除
driver.find_element(By.ID, "username").send_keys("admin");//輸入
driver.find_element(By.CSS_SELECTOR, ".ant-btn").click();//點(diǎn)擊
driver.find_element(By.ID, "username").submit();//表單提交
鼠標(biāo)事件
perform() 執(zhí)行所有行為
context_click() 右擊
double_click() 雙擊
drag_and_drop() 拖動(dòng)
move_to_element() 鼠標(biāo)懸停
鍵盤(pán)事件
提供了一個(gè) Keys 的類(lèi)來(lái)模擬鍵盤(pán)
等待
顯式等待: WebDriverWait(..,..,..,..).until()
隱式等待:implicity_wait()
sleep
frame切換: switch_to.frame("frame")//id
窗口切換:switch_to.window()
還有許多操作的API, 就不一一列舉烤咧,selenium 類(lèi)庫(kù)會(huì)滿(mǎn)足基本的頁(yè)面操作
Selenium IDE -- FireFox
Selenium Grid2
Grid 在不同主機(jī)上建立主節(jié)點(diǎn)(hub) 和分支節(jié)點(diǎn)(node)歧沪, 可以搭建不同的測(cè)試環(huán)境嚎研,得到不同的測(cè)試結(jié)果
// hub
@echo off
java -jar selenium-server-standalone-3.141.59.jar -role hub -host localhost
pause
// node
@echo off
java -Dwebdriver.chrome.driver=D://chrome//chromedriver.exe -jar selenium-server-standalone-3.141.59.jar -role node -browser “browserName=chrome,maxinstance=1,platform=WINDOWS”
pause
控制臺(tái)