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.mzph.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…