1. 程式人生 > >軟體測試------元素操作方法/瀏覽器操作方法

軟體測試------元素操作方法/瀏覽器操作方法

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 實現步驟難點分析:

  1. 間隔3秒 --> sleep(3)
  2. 修改電話號碼,先清除在輸入新的號碼; 清除 --> clear()
  3. 點選按鈕 --> 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()
  1. WebDriver 其他常用的方法
    4.1 為什麼要學習WebDriver其他方法?
  2. 如何獲取元素大小?
  3. 如果獲取元素的文字?
  4. 如何獲取元素屬性值?
  5. 如果讓程式判斷元素是否為可見狀態?

我們想解決以上問題,就需要學習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