軟體測試------元素操作方法/瀏覽器操作方法
阿新 • • 發佈:2018-11-25
1. 為什麼要學習操作元素的方法?
1. 需要讓指令碼模擬使用者給瀏覽器指定元素輸入值
2. 需要讓指令碼模擬人為刪除元素的內容
3. 需要讓指令碼模擬點選按鈕
2. 元素常用操作方法
1. clear() 清除文字
2. send_keys() 模擬輸入
3. click() 單擊元素
說明:由於這三個方法非常簡單,並且有些之前已經使用過,所以在這裡用一個案例一起來講解
2.1 案例-1 使用者註冊A
需求:
1. 通過指令碼執行輸入 使用者名稱:admin;密碼:123456;電話號碼:18611111111;電子郵件: [email protected];
2. 間隔3秒後,修改電話號碼為:18600000000
3. 間隔3秒,點選註冊使用者A
4. 間隔3秒,關閉瀏覽器
5. 元素定位方法不限
2.2 案例-1 實現步驟難點分析:
- 間隔3秒 --> sleep(3)
- 修改電話號碼,先清除在輸入新的號碼; 清除 --> clear()
- 點選按鈕 --> click()
3. 瀏覽器常用方法
- 說明:主要了解通過WebDriver操作瀏覽器的常用方法
3.1 WebDriver操作瀏覽器常用方法
1. maximize_window() 最大化 --> 模擬瀏覽器最大化按鈕 2. set_window_size(100,100) 瀏覽器大小 --> 設定瀏覽器寬、高(畫素點 3. set_window_position(300,200) 瀏覽器位置 --> 設定瀏覽器位置 4. back() 後退 --> 模擬瀏覽器後退按鈕 5. forward() 前進 --> 模擬瀏覽器前進按鈕 6. refresh() 重新整理 --> 模擬瀏覽器F5重新整理 7. close() 關閉 --> 模擬瀏覽器關閉按鈕(關閉單個視窗) 8. quit() 關閉 --> 關閉所有WebDriver啟動的視窗
3.2 WebDriver 操作瀏覽器方式-總結
最大化瀏覽器
driver.maximize_window()
重新整理
driver.refresh()
後退
driver.back()
前進
driver.forward()
設定瀏覽器大小
driver.set_window_size(300,300)
設定瀏覽器位置
driver.set_window_position(300,200)
關閉瀏覽器單個視窗
driver.close()
關閉瀏覽器所有視窗
driver.quit()
- WebDriver 其他常用的方法
4.1 為什麼要學習WebDriver其他方法? - 如何獲取元素大小?
- 如果獲取元素的文字?
- 如何獲取元素屬性值?
- 如果讓程式判斷元素是否為可見狀態?
我們想解決以上問題,就需要學習WebDriver封裝其他操縱元素的方法
4.2 WebDriver其他常用方法
1. size 返回元素大小
2. text 獲取元素的文字
3. title 獲取頁面title
4. current_url 獲取當前頁面URL
5. get_attribute("xxx") 獲取屬性值;xxx:要獲取的屬性
6. is_display() 判斷元素是否可見
7. is_enabled() 判斷元素是否可用
提示:
1. size、text、title、current_url:為屬性,呼叫時無括號;如:xxx.size
2. title、current_url:使用瀏覽器例項化物件直接呼叫; 如: driver.title
4.3 WebDriver其他常用方法 總結
…
獲取使用者名稱文字框大小
size=driver.find_element_by_id("userA").size
print('size:',size)
獲取a標籤內容
text=driver.find_element_by_id("fwA").text
print('a標籤text:',text)
獲取title
title=driver.title
print('title:',title)
獲取當前頁面url
url=driver.current_url
print('url:',url)
獲取a標籤href屬性值
href=driver.find_element_by_id("fwA").get_attribute("href")
print('href屬性值為:',href)
判斷span是否顯示
display=driver.find_element_by_css_selector('span').is_displayed()
print('span標籤是否顯示:',display)
判斷取消按鈕是否可用
enabled=driver.find_element_by_id('cancelA').is_enabled()
print('取消按鈕是否可用:',enabled)
執行結果:
size: {'height': 30, 'width': 163}
a標籤text: 訪問 新浪 網站
title: 註冊A
url: file:///E:/%E6%B5%8B%E8%AF%95/%E8%AF%BE%E4%BB%B6/Web%E8%87%AA%E5%8A%A8%E5%8C%96/Web%E8%87%AA%E5%8A%A8%E5%8C%96%E8%AF%BE%E4%BB%B6/02img/%E6%B3%A8%E5%86%8CA.html
href屬性值為: http://www.sina.com.cn/
span標籤是否顯示: False
取消按鈕是否可用: False