国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python自動化測試selenium核心技術三種等待方式

這篇具有很好參考價值的文章主要介紹了python自動化測試selenium核心技術三種等待方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

UI自動化測試過程中,可能會出現(xiàn)因測試環(huán)境不穩(wěn)定、網(wǎng)絡慢等情況,如果不做任何處理的話,會出現(xiàn)無法定位到特定元素而報錯,導致自動化測試無法順利執(zhí)行。

selenium官網(wǎng)手冊:Waits | Selenium

slenium自動化測試中,主要涉及三種等待方式:????

1 使用python自帶模塊time的sleep方式?????

缺點:即使網(wǎng)絡條件較好時,依舊按照預定固定時間等待,一般不建議使用,腳本調試可使用。

示例腳本:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

from selenium import? webdriver

from time import sleep

class TestWait(object):

????driver = webdriver.Chrome()

????driver.get(http://www.baidu.com)

????def test_sleep(self):

????????self.driver.find_element_by_id("kw").send_keys("sleep test")

????????# sleep(2) #等待固定時間

????????self.driver.implicitly_wait(2)? # 隱式等待

????????self.driver.find_element_by_id("su").click()

????????self.driver.quit()

if __name__ == '__main__':

????wait=TestWait()

????wait.test_sleep()

2 隱式等待(implicitly_wait)

隱式等待設置的時間是最長的時間,如果在規(guī)定時間內網(wǎng)頁加載完成,則執(zhí)行下一步,否則一直等到時間結束,然后執(zhí)行下一步。

注意:隱式等待對driver整個周期都起作用,一般在最開始設置一次就可以了。不要當做固定等待,哪里都設置隱式等待。

示例腳本:

1

2

3

4

5

6

7

8

9

10

11

12

13

from selenium import? webdriver

from time import sleep

class TestWait(object):

????driver = webdriver.Chrome()

????driver.get(http://www.baidu.com)

????def test_sleep(self):

????????self.driver.find_element_by_id("kw").send_keys("sleep test")

????????self.driver.implicitly_wait(2)? # 隱式等待

????????self.driver.find_element_by_id("su").click()

????????self.driver.quit()

if __name__ == '__main__':

????wait=TestWait()

????wait.test_sleep()

3 顯示等待(WebDriverWait)

顯式等待允許等待條件的發(fā)生,所以非常適合在瀏覽器及其DOM和WebDriver腳本之間同步狀態(tài)。

需要引入包:from selenium.webdriver.support.wait import WebDriverWait

WebDriverWait參數(shù)說明:

WebDriverWait(driver, timeout=3).until(some_condition)

python自動化測試selenium核心技術三種等待方式,python,selenium,軟件測試,程序員,接口測試,自動化測試,測試工程師

?兩種方法:until和util_not

python自動化測試selenium核心技術三種等待方式,python,selenium,軟件測試,程序員,接口測試,自動化測試,測試工程師

場景:

打開百度首頁,等待頁面標題出現(xiàn):百度一下,你就知道,再執(zhí)行輸入搜索關鍵詞,點擊“百度一下”按鈕。

示例腳本:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

from selenium import webdriver

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.support import expected_conditions as ec

class TestWait(object):

????def setup(self):

????????self.driver = webdriver.Chrome()

????????self.driver.get(http://www.baidu.com)

????def test_webdreiverwait(self):

????????webdreiverwaits =WebDriverWait(self.driver,2)

????????webdreiverwaits.until(ec.title_is("百度一下,你就知道"))

????????self.driver.find_element_by_id("kw").send_keys("test_webdreiverwait test")

????????self.driver.find_element_by_id("su").click()

????def teardown(self):

????????self.driver.quit()

if __name__ == '__main__':

????wait=TestWait()

????wait.test_webdreiverwait()

三種等待完整示例腳本:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

from selenium import webdriver

from time import sleep

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.support import expected_conditions as ec

class TestWait(object):

????def setup(self):

????????self.driver = webdriver.Chrome()

????????self.driver.get("http://www.baidu.com")

?????def test_sleep(self):

????????self.driver.find_element_by_id("kw").send_keys("sleep test")

????????sleep(2) #等待固定時間

?????self.driver.find_element_by_id("su").click()?

????def test_implicitly(self):

????????self.driver.find_element_by_id("kw").send_keys("implicitly test")

????????self.driver.implicitly_wait(2)? # 隱式等待

?????self.driver.find_element_by_id("su").click()

????def test_webdreiverwait(self):

????????webdreiverwaits =WebDriverWait(self.driver,2)

????????webdreiverwaits.until(ec.title_is("百度一下,你就知道"))

????????self.driver.find_element_by_id("kw").send_keys("test_webdreiverwait test")

????????self.driver.find_element_by_id("su").click()

????def teardown(self):

????????self.driver.quit()

if __name__ == '__main__':

????wait=TestWait()

????# wait.test_sleep()

????# wait.test_implicitly()

????wait.test_webdreiverwait()

【常見問題】:運行腳本報empty suite:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

from selenium import? webdriver

from time import sleep

class TestWait(object):

????def __init__(self):

????????self.driver = webdriver.Chrome()

????????self.driver.get('http://www.baidu.com')

????def test_sleep(self):

????????self.driver.find_element_by_id("kw").send_keys("sleep test")

????????# sleep(2) #等待固定時間

????????self.driver.implicitly_wait(2)? # 隱式等待

????????self.driver.find_element_by_id("su").click()

????????self.driver.quit()

if __name__ == '__main__':

????wait=TestWait()

????wait.test_sleep()

?python自動化測試selenium核心技術三種等待方式,python,selenium,軟件測試,程序員,接口測試,自動化測試,測試工程師

【解決方法】:腳本修改

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

from selenium import webdriver

from time import sleep

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.support.wait import WebDriverWait

class TestCase(object):

????def setup(self):

????????self.driver = webdriver.Chrome()

????????self.driver.get('http://www.baidu.com')

????????# sleep(2)

????def test_sleep(self):

????????self.driver.find_element_by_id('kw').send_keys('selenium')

????????# sleep(2) # 線程阻塞 blocking wait

????????self.driver.find_element_by_id('su').click()

????????# sleep(3)?

????def test_implicitly(self):

????????self.driver.implicitly_wait(10)

????????self.driver.find_element_by_id('kw').send_keys('selenium')

????????# sleep(2) # 線程阻塞 blocking wait

????????self.driver.find_element_by_id('su').click()

????????# sleep(3)

?????def test_wait(self):

????????wait = WebDriverWait(self.driver,2)

????????wait.until(EC.title_is('百度一下,你就知道'))

????????self.driver.find_element_by_id('kw').send_keys('selenium')

????????# sleep(2) # 線程阻塞 blocking wait

????????self.driver.find_element_by_id('su').click()

????????# sleep(3)

????def teardown(self):

????????self.driver.quit()

if __name__ == '__main__':

????case = TestCase()

????# case.test_sleep()

????# case.test_implicitly()

????case.test_wait()

?現(xiàn)在我也找了很多測試的朋友,做了一個分享技術的交流群,共享了很多我們收集的技術文檔和視頻教程。
如果你不想再體驗自學時找不到資源,沒人解答問題,堅持幾天便放棄的感受
可以加入我們一起交流。而且還有很多在自動化,性能,安全,測試開發(fā)等等方面有一定建樹的技術大牛
分享他們的經(jīng)驗,還會分享很多直播講座和技術沙龍
可以免費學習!劃重點!開源的?。?!
qq群號:485187702【暗號:csdn11】

最后感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走!?希望能幫助到你!【100%無套路免費領取】

python自動化測試selenium核心技術三種等待方式,python,selenium,軟件測試,程序員,接口測試,自動化測試,測試工程師

python自動化測試selenium核心技術三種等待方式,python,selenium,軟件測試,程序員,接口測試,自動化測試,測試工程師文章來源地址http://www.zghlxwxcb.cn/news/detail-847805.html

到了這里,關于python自動化測試selenium核心技術三種等待方式的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Python Selenium UI自動化測試_python 自動化ui測試

    Python Selenium UI自動化測試_python 自動化ui測試

    2.2 安裝selenium pip install selenium pip install selenium==2.53.0 2.3 下載webdriver驅動 以chrome瀏覽器為例 查看chrome瀏覽器版本:在地址欄輸入 chrome://version chromedriver下載地址:http://chromedriver.storage.googleapis.com/index.html 下載與瀏覽器版本對應的chrome driver 將下載好的chrome driver 解壓,并放至到

    2024年04月14日
    瀏覽(27)
  • Python + Selenium自動化測試

    Python + Selenium自動化測試

    一、python 1、python下載與安裝 官方下載地址: Python Releases for Windows | Python.org https://www.python.org/downloads/windows/ 下載應用程序,雙擊運行 選擇install now進行安裝,下方勾選第二個選項系統(tǒng)可自動添加環(huán)境變量 ? 等待python安裝 ?安裝完成后,點擊“Close”關閉 進入cmd驗證是否已完

    2023年04月24日
    瀏覽(18)
  • Selenium+python怎么搭建自動化測試框架、執(zhí)行自動化測試用例、生成自動化測試報告、發(fā)送測試報告郵件

    Selenium+python怎么搭建自動化測試框架、執(zhí)行自動化測試用例、生成自動化測試報告、發(fā)送測試報告郵件

    本人在網(wǎng)上查找了很多做自動化的教程和實例,偶然的一個機會接觸到了selenium,覺得非常好用。后來就在網(wǎng)上查閱各種selenium的教程,但是網(wǎng)上的東西真的是太多了,以至于很多東西參考完后無法系統(tǒng)的學習和應用。 以下整理的只是書中自動化項目的知識內容,介紹怎么搭

    2024年02月05日
    瀏覽(30)
  • 【自動化測試】基于Selenium + Python的web自動化框架

    【自動化測試】基于Selenium + Python的web自動化框架

    Selenium是一個基于瀏覽器的自動化工具,她提供了一種跨平臺、跨瀏覽器的端到端的web自動化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: ? 1、Selenium IDE:Firefox的一個擴展,它可以進行錄制回放,并可以把錄制的操作以多種語言(例如java,p

    2024年02月07日
    瀏覽(19)
  • 【軟件測試】python+selenium自動化測試

    【軟件測試】python+selenium自動化測試

    一、什么是自動化測試 自動化測試指軟件測試的自動化,在預設狀態(tài)下運行應用程序或者系統(tǒng),預設條件包括正常和異常,最 后評估運行結果。將人為驅動的測試行為轉化為機器執(zhí)行的過程。 單元測試 java的單元測試框架是Junit,在這里不再贅述。 接口自動化 接口測試就是

    2023年04月09日
    瀏覽(34)
  • Python + selenium 自動化測試框架

    Python + selenium 自動化測試框架

    項目自動化測試框架設計為4層 1.基礎層(通用層) 基礎層: 將通用,重復性比較高的代碼封裝到這里。 寫通用的代碼的。 其他3層想要的話,就可以直接調用。 例如: 讀取測試數(shù)據(jù)的代碼,讀取配置信息的代碼;截圖的代碼的,定位元素的代碼等等 2.功能層(頁面層) 功

    2023年04月13日
    瀏覽(19)
  • 自學Python+Selenium自動化測試

    ????????俗話說的好,書讀百遍不如手過一遍,而編程這東西是看書看視頻一萬遍都不如你自己多敲代碼、寫腦圖、總結分享轉換成自己的內容來的實在。 ? ? ? ? 今天我就把最近學的(二) Selenium核心WebDriver API 簡單總結一下,方便自己以后找出來看看。 ????????一

    2024年02月05日
    瀏覽(18)
  • python學習-自動化測試Selenium

    ?自動化測試Selenium Selenium簡介 第一個Selenium應用 Selenium Python API Selenium WebDriver Selenium 初始化瀏覽器 Selenium導航到URL Selenium定位元素 Selenium By類 Selenium WebElement類 Selenium頁面交互 Selenium ActionChains Selenium鼠標操作 Selenium鍵盤操作 Selenium調用JavaScript Selenium等待機制 Selenium expected

    2024年01月18日
    瀏覽(30)
  • 如何使用Python自動化測試工具Selenium進行網(wǎng)頁自動化?

    如何使用Python自動化測試工具Selenium進行網(wǎng)頁自動化?

    Selenium 是一個流行的Web自動化測試框架, 它支持多種編程語言和瀏覽器,并提供了豐富的API和工具來模擬用戶在瀏覽器中的行為 。 Selenium可以通過代碼驅動瀏覽器自動化測試流程,包括頁面導航、元素查找、數(shù)據(jù)填充、點擊操作等。 與PyAutoGUI和AutoIt相比, Selenium更適合于處

    2023年04月09日
    瀏覽(111)
  • Python + selenium 自動化測試框架詳解

    Python + selenium 自動化測試框架詳解

    項目自動化測試框架設計為4層 1.基礎層(通用層) 基礎層: 將通用,重復性比較高的代碼封裝到這里。 寫通用的代碼的。 其他3層想要的話,就可以直接調用。 例如: 讀取測試數(shù)據(jù)的代碼,讀取配置信息的代碼;截圖的代碼的,定位元素的代碼等等 2.功能層(頁面層) 功

    2024年02月03日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包