element ui select設置不顯示不存在的項_appium—等待時間設置方法

引言:

在做UI自動化的過程中,我們有時候為了等待元素的出現,需要加一些等待時間來幫助,但是有時候時間加的過多或者過少,這個沒有辦法判斷,今天就介紹幾種等待時間,我們看看那種適合我們

f41a82a191858331e9dfc250ea4a9d95.png

一、強制等待

看到名稱就應該知道,強制等待,就是設置多少秒,就必須等待多少秒,才能繼續往下面操作

time.sleep()

def sleep(seconds): # real signature unknown; restored from __doc__

"""

sleep(seconds)

延遲指定的秒數

"""

pass

使用方法

# 直接在需要等待的地方添加 time.sleep(10)

二、隱式等待

隱式等待: implicitly_wait?() 默認參數的單位為妙,設置一個等待時間,它并不影響腳本的執行速度。當腳本執行到某個元素定位是,如果元素可以定位,則繼續執行,如果元素定位不到,則它將以輪詢的方式不斷地判斷元素是否被定位到。假設在第六秒定位到了元素則繼續執行,若直到超出設置的時長10秒還沒有定位到元素,則拋出異常。

1feabc34b08f4d4931398dc83a8d8a41.png

def implicitly_wait(self, time_to_wait):

"""

Sets a sticky timeout to implicitly wait for an element to be found,

or a command to complete. This method only needs to be called one

time per session. To set the timeout for calls to

execute_async_script, see set_script_timeout.

:Args:

- time_to_wait: Amount of time to wait (in seconds)

:Usage:

driver.implicitly_wait(30)

"""

if self.w3c:

self.execute(Command.SET_TIMEOUTS, {

'implicit': int(float(time_to_wait) * 1000)})

else:

self.execute(Command.IMPLICIT_WAIT, {

'ms': float(time_to_wait) * 1000})

使用方法:

# 在需要等待的地方直接添加 driver.implicitly_wait(10)

三、Activity等待

Activity等待: app特有一種等待,通過Activity的出現來幫助我們進行判斷是否到達這個頁面然后進行一系列的操作 ,通過wait_activity 進行判斷

4d57d7e86b2cb44ecdb293cc3ce5e171.png

def wait_activity(self, activity, timeout, interval=1):

"""等待一個activity,直到在規定時間內activity出現

This is an Android-only method.

:Args:

- activity - target activity

- timeout - max wait time, in seconds

- interval - sleep interval between retries, in seconds

"""

try:

WebDriverWait(self, timeout, interval).until(

lambda d: d.current_activity == activity)

return True

except TimeoutException:

return False

使用方法:

直接在需要等待元素出現的地方添加

# 添加activity,后面加上等待的時間,超過時間就報錯 driver.wait_activity('com.ali.user.mobile.login.ui.UserLoginActivity',30)

436078067a7aa512f72bad5cbc8d9d52.png

四、顯示等待

顯示等待本來準備等到寫selenium教程的時候在介紹,感覺后面會用,這里就直接給大家進行介紹了。 如果對軟件測試、接口測試、自動化測試、面試經驗交流。感興趣可以加測試交流群,還會有同行一起技術交流。

6c798cc5c9abcb300daa04ef8b842cea.png

先看源碼:

def __init__(self, driver, timeout, poll_frequency=POLL_FREQUENCY, ignored_exceptions=None):

"""

driver: 返回一個webdriver實例化

timeout:設置一個超時時長(S)

poll_frequency:循環讀取元素的時間,默認是0.5(s)

使用方法 :

from selenium.webdriver.support.ui import WebDriverWait n

element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id("someId")) n

is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)). n

until_not(lambda x: x.find_element_by_id("someId").is_displayed())

"""

self._driver = driver

self._timeout = timeout

self._poll = poll_frequency

# avoid the divide by zero

if self._poll == 0:

self._poll = POLL_FREQUENCY

exceptions = list(IGNORED_EXCEPTIONS)

if ignored_exceptions is not None:

try:

exceptions.extend(iter(ignored_exceptions))

except TypeError: # ignored_exceptions is not iterable

exceptions.append(ignored_exceptions)

self._ignored_exceptions = tuple(exceptions)

從源碼中分許出來三個參數的作用

driver:返回一個webdriver實例化

timeout:設置一個超時時長

poll_frequentcy:循環讀取元素時間

4e9c725b38f275b4faa8fa1bb76c18e6.png

使用方法:

# 導入方法 from selenium.webdriver.support.ui import WebDriverWait element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id("someId"))

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539853.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539853.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539853.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

android rn 和webview,RN Webview與Web的通信與調試

React Native Version:0.51RN 在 0.37 版本中加入了WebView功能,所以想要在使用WebView,版本必須>0.37,發送的 message 只能是字符串,所以需要將其他格式的數據轉換成字符串,在接收到后再轉換回去,其實直接用JSON.s…

數據庫完整性檢查

為了主動發現數據庫側頁損壞,保證數據庫邏輯和物理完整性,計劃每周六上午6點,針對生產主庫上的所有系統和用戶數據庫執行DBCC CHECKDB,將結果記錄到表中。以下為理論依據:SQL Server數據庫可以檢測出頁損壞&#xff0c…

GNU概念

一、GNU的意思 GNU的全稱:GNU is not unix,意思是:GNU 不是 unix 問:為什么這樣取名? 答:為了打造一個不是unix又類unix的系統 二、GNU的歷程 GNU計劃是由Richard Stallman 在1984年公開發起的&#x…

Item 13 Minimize the accessibility of classes and members

區分好的模塊和不好的模塊最重要的因素是看這個模塊對于其他模塊而言是否隱藏內部數據和其他細節。好的模塊會把所有細節隱藏起來,把API和實現隔離開來,模塊之間用API通信。這就是information hiding或者封裝(encapsulation)。是軟件設計基本原則之一。 …

html 物流狀態,使用css實現物流進度的樣式的實例代碼

效果:css樣式:ul li {list-style: none;}.package-status {padding: 18px 0 0 0}.package-status .status-list {margin: 0;padding: 0;margin-top: -5px;padding-left: 8px;list-style: none;}.package-status .status-list>li {border-left: 2px so…

GPL概念

一、GPL概念 全稱為 General Public License,翻譯為通用公共許可,是最著名的開源許可協議。Linux內核就是在GPL許可下發布的,GPL許可是由自由軟件基金會Free Software foundation 創建的,由Richard Stallman 和一幫人共同努力發起…

點鈔機語音怎么打開_原來微信語音一樣能轉發? 居然還有人不知道

微信怎么把語音轉發給別人?原來這個簡單啊,微信作為一款我們最常用的社交工具,無論是生活還是工作過程中,我們都能夠用到微信。那么大家知道微信怎么把語音轉發給別人嗎?有的人肯定就會回答說:"跟轉發…

圓與平面的接觸面積_視頻:5.3RJ六年級上冊圓的面積例題+習題講解

一、什么是面積物體表面的大小就是它們的面積。長方形的面積長寬正方形的面積邊長邊長平行四邊形的面積底高三角形的面積底高2梯形的面積(上底下底)高2圓所占平面的大小叫做圓的面積。二、剪切法推導圓的面積把圓轉化成近似的長方形,當平均分成的份數越來越多&#…

Reactjs 踏坑指南1: 一些概念

Reactjs 踏坑指南1: 知識點 什么是React虛擬DOMJSX組件生命周期和狀態事件單項數據流Reactjs和Angularjs的對比React簡介 React是一個Facebook開發的UI庫。使用這個庫可以很方便的開發交互式的、具有表達力的和可重用的UI組件。本身并不是一個框架,可視為…

Linux為什么受歡迎?

1、Linux以高效和靈活著稱,實現了幾乎全部的Unix特性,同時具備多任務,多用戶的能力,支持多線程,多CPU架構。 2、Linux操作系統軟件包:包含了文本編輯器,高級語言編譯器,以及X-Windo…

直播的學習與使用-----采集

// 捕獲音視頻 - (void)setupCaputureVideo { // 1.創建捕獲會話,必須要強引用,否則會被釋放 AVCaptureSession *captureSession [[AVCaptureSession alloc] init]; _captureSession captureSession; // 2.獲取攝像頭設備,默認是后置攝像頭 AVCaptureD…

html css js編程順序,html css js先學哪個呢?

前端開發三劍客為 HTML、CSS、JavaScript。這三門語言的掌握對前端開發程序員來說是必須的,但有不少同學不懂得先學習哪一門語言。那么這篇文章 w3cschool 小編就來為你解答一下 HTML、CSS、JavaScript 先學哪個的問題。首先需要學習的是 HTML,HTML 是開…

蘋果手機收不到推送信息_iPhone手機收不到正式版系統更新推送怎么辦?(附解決方法)...

有不少熱衷于升級系統的小伙伴,希望在第一時間升級到最新版 iOS 系統進行體驗,但難免也會遇到無法收到更新推送的問題。主要有以下原因。iPhone手機收不到正式版系統更新推送怎么辦?網絡狀況不佳如果當前網絡狀況不好,可能無法收到來自蘋果官…

Linux系統特點介紹集合

1、開源代碼程序,可自由修改。 2、Unix系統兼容,具備Unix幾乎所有優秀特性,同Unix指令集。 3、可自由傳播,無任何商業版權制約。 4、適合Intel等x86 CPU系列架構的計算機。 5、一個完善的多用戶,多任務&#xff0c…

火狐 移動 html 元素,python中的Firefox+Selenium:如何交互式地獲取元素html?

Im使用PythonSeleniumSplinterFirefox創建一個交互式web爬蟲。在python腳本提供了選項,然后Selenium打開Firefox并發送一些命令。在現在,我需要讓python腳本知道用戶想要與之交互的web元素。在我目前使用的方法是:Right-click the item in th…

瘦子的腸道菌群和胖子的區別_瘦子和病態肥胖患者腸道菌群組成和潛在功能的顯著差異...

10.1111/joim.1313707-07, ArticleAbstract & Authors:展開Abstract:收起Introduction:The gut microbiome may contribute to the development of obesity. So far, the extent of microbiome variation in people with obesity has not been determined in large cohorts…

Centos下載地址

下載地址: 從阿里鏡像網站上下載 http://mirrors.aliyun.com/centos/ 建議選用Centos 6.x windows電腦配置:至少4G內存,i5處理器或以上。 Linux虛擬機分配:內存128M~1024M,cpu 1核心,硬盤8g即可。

html分塊時邊距的設置,html – 文本節點后第一個塊的邊距(垂直空間)?

我不確定你是否會認為這是對你的問題的完整答案,因為我知道你正在使用< td>在您的示例中,< td>之間存在一個差異.和< dd>或者< li>元素是< td>的事實.在不破壞< table>的情況下,元素不能與其周圍元素相抵消具體行為.但至少我可以回答你的第…

實現連麥_微信重磅更新,視頻號直播連麥打賞美顏上線,新增巨大流量入口

12月23日晚&#xff0c;微信迎來重大改版&#xff01;在最新7.0.20版本的微信中&#xff0c;視頻號大招不斷&#xff0c;不僅上線了連麥功能&#xff0c;支持美顏瘦臉、打賞等功能。此外&#xff0c;微信還給視頻號開放了兩個重大入口&#xff0c;包括微信個人名片和“發現”ta…