最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

軟件測(cè)試 | 隱式等待、顯示等待和強(qiáng)制等待

2023-05-18 12:02 作者:愛(ài)測(cè)軟件測(cè)試  | 我要投稿

等待機(jī)制簡(jiǎn)介

系統(tǒng)在實(shí)際工作中引入等待機(jī)制可以保證代碼運(yùn)行的穩(wěn)定性,保證代碼運(yùn)行不受網(wǎng)速、計(jì)算機(jī)性能等條件的約束。

等待就是當(dāng)系統(tǒng)運(yùn)行時(shí),如果頁(yè)面的渲染速度跟不上程序的運(yùn)行速度,就需要人為地去限制程序執(zhí)行的速度。

測(cè)試人員在做Web自動(dòng)化測(cè)試時(shí),一般要等待頁(yè)面元素加載完成后,才能執(zhí)行測(cè)試操作,否則會(huì)報(bào)找不到元素等錯(cuò)誤,這樣就要求在有些測(cè)試場(chǎng)景下加上等待機(jī)制。

最常見(jiàn)的等待機(jī)制有3種:隱式等待、顯示等待和強(qiáng)制等待。

1、隱式等待

我們?cè)跍y(cè)試用例中設(shè)置一個(gè)隱式等待時(shí)間,測(cè)試用例執(zhí)行時(shí)會(huì)按時(shí)間輪詢查找(默認(rèn)0.5秒)元素是否出現(xiàn),如果在輪詢查找的時(shí)間內(nèi)元素沒(méi)出現(xiàn)系統(tǒng)就拋出異常。

隱式等待的作用域是全局的,隱式等待可以在setup方法中設(shè)置,是作用在整個(gè)Session的聲明周期。也就是說(shuō)只要設(shè)置一次隱式等待,后面就不需要再設(shè)置。如果再次設(shè)置隱式等待,那么后一次的設(shè)置會(huì)覆蓋前一次的設(shè)置。

Python版本實(shí)現(xiàn)代碼

self.driver.implicity_wait(30)

Java版本實(shí)現(xiàn)代碼

//隱式等待調(diào)用方式,設(shè)置等待時(shí)間為30秒 driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);

2、顯示等待

顯示等待是在代碼中定義等待條件,觸發(fā)該條件后再執(zhí)行后續(xù)代碼,這是根據(jù)判斷條件進(jìn)行等待。通俗地講就是,程序每隔一段時(shí)間進(jìn)行一次條件判斷,如果條件成立,則執(zhí)行下一步;否則繼續(xù)等待,直到超過(guò)設(shè)置的最長(zhǎng)時(shí)間。核心用法代碼如下。

Python版本

# 導(dǎo)入顯示等待 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions ... # 設(shè)置10秒的最大等待時(shí)間,等待(By.TAG_NAME,"title")這個(gè)元素被點(diǎn)擊 WebDriverWait(driver,10).until( ? ? expected_conditions element_to_be_clickable((By.TAG_NAME,"title")) ) ...

這里通過(guò)導(dǎo)入expected_conditions這個(gè)庫(kù)來(lái)滿足顯示等待所需的使用場(chǎng)景,但是expected_conditions庫(kù)并不能滿足所有場(chǎng)景,這個(gè)時(shí)候就需要定制化開(kāi)發(fā)一個(gè)庫(kù)來(lái)滿足特定場(chǎng)景,Java版的實(shí)現(xiàn)如下。

Java版本

import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; ... //設(shè)置10秒的最大等待時(shí)間,等待(By.tag_Name,"title")這個(gè)元素被點(diǎn)擊 WebDriverWait wait = new WebDriverWait(driver,10); wait.until(ExpectedConditions.elementToBeClickable(By.tagName("title"))); ...

3、強(qiáng)制等待

強(qiáng)制等待是使程序中的線程休眠一定時(shí)間。強(qiáng)制等待一般在隱式等待和顯式等待都不起作用時(shí)使用。

Python版本

# 等待10秒 time.sleep(10)

Java版本

//等待2000毫秒,相當(dāng)于等待2秒 Thread.sleep(2000)


軟件測(cè)試 | 隱式等待、顯示等待和強(qiáng)制等待的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南充市| 安化县| 铜梁县| 长治市| 图片| 攀枝花市| 体育| 新巴尔虎左旗| 伊宁县| 兰西县| 芦溪县| 遂宁市| 屏山县| 三台县| 含山县| 连州市| 遂溪县| 湖北省| 信丰县| 平果县| 黑水县| 彭山县| 常宁市| 团风县| 彭泽县| 贵定县| 许昌市| 太和县| 涟源市| 海阳市| 德兴市| 淅川县| 杭锦后旗| 增城市| 霍山县| 云安县| 明水县| 垦利县| 图们市| 乌海市| 钟山县|