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

Appium/Selenium+Java的三種等待方式

這篇具有很好參考價值的文章主要介紹了Appium/Selenium+Java的三種等待方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

參考:
java-selenium三種等待方式
Selenium+Java(六)Selenium 強(qiáng)制等待、顯式等待、隱實(shí)等待


1. 強(qiáng)制等待

強(qiáng)制等待是利用time模塊的sleep方法來實(shí)現(xiàn),最簡單粗暴的等待方法。

//強(qiáng)制等待1S
Thread.sleep(1000);
  • 缺點(diǎn):不能準(zhǔn)確把握需要等待的時間(有時候操作未完成,等待就結(jié)束了,導(dǎo)致報錯;有時候操作已經(jīng)完成了,但時間還沒到,浪費(fèi)時間),如果再用例中大量使用,會浪費(fèi)不必要的等待時間,影響用例的執(zhí)行效率。

  • 優(yōu)點(diǎn):使用簡單,可以在調(diào)試時使用。

2. 隱式等待

隱式等待只能作用于元素的等待。如果元素在指定的時間內(nèi)找到,則不會繼續(xù)等待,否則在指定時間內(nèi)未找到元素則拋出NoSuchElementException。

作用域是全局的,跟driver的生命周期一樣,一般定義在父類中,只要設(shè)置隱式等待后,頁面所有的元素都會被綁定這種等待機(jī)制,只需設(shè)置一次,全局有效(只作用于元素),直到driver實(shí)例被關(guān)閉。

//隱式等待等待5秒
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
  • 缺點(diǎn):使用隱式等待,程序會一直等待頁面加載完成,才會執(zhí)行下一步操作(有時候頁面想要的元素早已加載完成了,但是頁面上個別元素還沒有加載完成,仍要等待頁面全部完成才能執(zhí)行下一步,使用也不是很靈活)

  • 優(yōu)點(diǎn):隱式等待對整個driver的周期都起作用,所以只要設(shè)置一次即可

3. 顯式等待

除了作用于元素等待還可以實(shí)現(xiàn)各種場景的等待,例如頁面加載等。
智能的等待方式,元素在指定的時間內(nèi)找到,則不會繼續(xù)等待,否則拋出TimeOutException。
非全局設(shè)置,可以針對不同的元素綁定不同的等待機(jī)制。

只有滿足顯式等待的條件滿足(這里是滿足頁面出現(xiàn)name=wd的元素),測試代碼才會繼續(xù)向后執(zhí)行后續(xù)的測試邏輯,如果超過設(shè)定的最大顯式等待時間閾值, 這測試程序會拋出異常。

//顯式等待3秒
WebDriverWait wait = new WebDriverWait(driver, 3);
//3秒內(nèi)找不到此元素,TimeOutException報錯
wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.name("wd")))
  • 缺點(diǎn):使用相對比較復(fù)雜

  • 優(yōu)點(diǎn):判斷準(zhǔn)確,不會浪費(fèi)多余的等待時間,在用例中使用,可以提高執(zhí)行效率

附:ExpectedConditions其他用法

  1. titleIs判斷當(dāng)前頁面的title是否等于預(yù)期。
  2. titleContains判斷當(dāng)前頁面的title是否包含預(yù)期字符串。
  3. urlToBe判斷當(dāng)前頁面的url是否等于預(yù)期。
  4. urlContains判斷當(dāng)前頁面的url是否包含預(yù)期字符串。
  5. presenceOfElementLocated判斷元素是否出現(xiàn),出現(xiàn)就通過。
  6. visibilityOfElementLocated判斷某個元素是否可見,可見代表元素非隱藏。
  7. elementToBeSelected頁面元素處于被選中狀態(tài)。

4. 隱式等待與顯示等待結(jié)合使用

一般來說,在項(xiàng)目中會使用隱式等待與顯式等待結(jié)合的方式,定義完 driver 之后立即設(shè)置一個隱式等待,在測試過程中需要判斷某個元素屬性的時候,再加上顯式等待。

若隱式等待時間與顯式等待時間不同,當(dāng)隱式等待時間大于顯式等待時間時,最終等待時間等于隱式等待時間;當(dāng)顯式等待時間大于隱式等待時間時,會循環(huán)隱式等待時間,最終等待時間大于等于顯式等待時間。

詳細(xì)說明:e.g.
隱式等待時間設(shè)置為10秒,A元素的顯式等待時間設(shè)置為5秒,若沒有定位到A元素時,會等待10秒。
隱式等待時間設(shè)置為3秒,A元素的顯式等待時間設(shè)置為7秒,若沒有定位到A元素時,會等待3+3+3=9秒。
隱式等待時間設(shè)置為9秒,A元素的顯式等待時間設(shè)置為10秒,若沒有定位到A元素時,會等待9+9=18秒。文章來源地址http://www.zghlxwxcb.cn/news/detail-448939.html

到了這里,關(guān)于Appium/Selenium+Java的三種等待方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • webdriver 的三種等待方式(強(qiáng)制等待、隱式等待、顯示等待)

    在自動化測試腳本的運(yùn)行過程中,webdriver操作瀏覽器的時候,對于元素的定位是有一定的超時時間,大致應(yīng)該在1-3秒的樣子,如果這個時間內(nèi)仍然定位不到元素,就會拋出異常,中止腳本執(zhí)行。我們可以通過在腳本中設(shè)置等待的方式來避免由于網(wǎng)絡(luò)延遲或?yàn)g覽器卡頓導(dǎo)致的偶

    2024年02月13日
    瀏覽(15)
  • 【selenium】三種等待方式

    time模塊中的sleep()方法,程序執(zhí)行到此代碼時強(qiáng)制等待一段時間。 time.sleep(time),傳入具體的等待時間time 可以控制等待的具體時間,一般在調(diào)試代碼時使用 無法準(zhǔn)確把握需要等待的時間 如果設(shè)置時間過短,操作還未完成,等待時間已到,會導(dǎo)致測試用例執(zhí)行報錯,影響測試

    2024年02月03日
    瀏覽(22)
  • Selenium:三種等待方式

    Selenium:三種等待方式

    目錄 一、顯示等待 二、隱式等待 三、強(qiáng)制等待 UI自動化測試,大多都是通過定位頁面元素來模擬實(shí)際的生產(chǎn)場景操作。但在編寫自動化測試腳本中,經(jīng)常出現(xiàn)元素定位不到的情況,究其原因,無非兩種情況:1、有frame;2、沒有設(shè)置等待。 因?yàn)榇a運(yùn)行速度和瀏覽器加載渲

    2024年02月03日
    瀏覽(24)
  • Selenium 三種等待方式詳解 (強(qiáng)制等待、隱式等待、顯示等待)

    Selenium 三種等待方式詳解 (強(qiáng)制等待、隱式等待、顯示等待)

    ①在進(jìn)行WEB自動化工作時,一般要等待某一頁面元素加載完成后,才能對該元素執(zhí)行操作,否則自動化腳本會拋出找不到元素的錯誤,這樣就要求我們在UI自動化測試的有些場景上加上等待時間。 ②等待方式的設(shè)置是保證自動化腳本穩(wěn)定有效運(yùn)行的一個非常重要的手段。 ①強(qiáng)

    2024年02月03日
    瀏覽(45)
  • 五、Selenium 三種等待方式:強(qiáng)制等待、隱式等待、顯示等待

    五、Selenium 三種等待方式:強(qiáng)制等待、隱式等待、顯示等待

    名詞解釋:強(qiáng)制線程休眠一定時間,適合腳本調(diào)試時使用。 常用方法: Thread.sleep(long millis); 優(yōu)點(diǎn):適合腳本調(diào)試時使用; 缺點(diǎn):不能準(zhǔn)確把握需要等待的時間,如果用例中大量使用,會浪費(fèi)不必要的等待時間,影響用例的執(zhí)行效率; 操作未完成,等待結(jié)束,導(dǎo)致系統(tǒng)報錯

    2023年04月08日
    瀏覽(12)
  • selenium之三種等待方式

    1:強(qiáng)制等待 無條件等待,必須等待設(shè)置的時間后,再執(zhí)行 使用方法:導(dǎo)入time庫,time.sleep(sec)? ? ? sec表示多少秒,sec設(shè)置多少秒頁面就會等待多少秒(死等),時間一到,繼續(xù)執(zhí)行下面的代碼。在調(diào)試的時候很有用,但這個方法很容易讓線程掛掉,使程序拋異常。 例:使

    2024年02月08日
    瀏覽(20)
  • python自動化測試selenium核心技術(shù)三種等待方式

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

    UI自動化測試過程中,可能會出現(xiàn)因測試環(huán)境不穩(wěn)定、網(wǎng)絡(luò)慢等情況,如果不做任何處理的話,會出現(xiàn)無法定位到特定元素而報錯,導(dǎo)致自動化測試無法順利執(zhí)行。 selenium官網(wǎng)手冊:Waits | Selenium slenium自動化測試中,主要涉及三種等待方式:???? 缺點(diǎn):即使網(wǎng)絡(luò)條件較好時

    2024年04月11日
    瀏覽(27)
  • selenium中三種等待方式:sleep,implicitly_wait,WebDriverWait

    selenium中三種等待方式:sleep,implicitly_wait,WebDriverWait

    強(qiáng)制等待, sleep,設(shè)置等待多長時間,就要等待多長時間。等待完成后,才會繼續(xù)下一步: 相比較于sleep的強(qiáng)制等待,selenium中還有種等待,可以稱之為智能等待:implicitly_wait。所謂智能等待,就是在我設(shè)置的等待時間范圍內(nèi),只要滿足了我的條件,就會立即結(jié)束等待,繼續(xù)

    2024年02月16日
    瀏覽(20)
  • Java數(shù)組的三種聲明方式

    1.在開發(fā)中為什么要使用數(shù)組 如果開發(fā)中出現(xiàn)了大量的同一個類型的數(shù)據(jù),按照現(xiàn)在所學(xué)的知識點(diǎn),聲明變量的話。如果一個變量存一個數(shù)據(jù)的話,那么就會需要多個變量了,相當(dāng)麻煩。 使用數(shù)組: 只需要一個變量,然后數(shù)組中存很多的數(shù)據(jù), 其實(shí)可以把數(shù)組想成 一個容器

    2024年02月05日
    瀏覽(28)
  • Java創(chuàng)建文件的三種方式

    Java創(chuàng)建文件的三種方式

    內(nèi)容來自于韓順平學(xué)Java 在學(xué)習(xí)其視頻下跟著編寫 文件創(chuàng)建成功

    2024年04月11日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包