app自动化的三大等待与web自动化的三大等待的代码脚本一样

一.硬性等待

硬性等待无论元素是否出现,都必须等待设置的时间再继续执行后面的代码。

使用简单,但是容易浪费时间。所以一般和隐式等待或显式等待结合使用。

Thread.sleep(long millis);

二.隐式等待

在设置的超时时间范围内不断查找元素存在,直到找到元素则不再继续,或者超时未找到元素则失败。

特点:

隐性等待相对灵活,

针对全局的,在webdriver实例整个生命周期有效,但并不是所有元素都需要等待

硬性等待只要满足元素存在,不能适用条件更复杂的情况,比如元素可点击,元素可见

只对findelement才会有效果,因此有些element的api操作不会有等待,需要加上硬性等待

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

三.显式等待

显式等待通常是我们自定义的一段代码,用来等待某个条件发生后再继续执行后续代码。

优点:每隔一段时间扫描一次页面,检查元素是否满足等待结果条件,不满足则继续等待直到满足条件或超时。

缺点:不是全局设置,特定元素可以用这种方式处理。

WebDriverWait webDriverWait=new WebDriverWait(driver,5);
WebElement webElement=webDriverWait.until(ExpectedConditions.presenceOfElementLocated(by));
presenceOfElementLocated:页面元素在页面中存在
visibilityOfElementLocated:页面元素在页面存在并且可见
elementToBeClickable:页面元素是否在页面上可用和可被单击

app自动化的三大等待的更多相关文章

  1. web自动化之三大等待

    这个假期有些长,长到忘记了要学习,要找工作,好吧,在我每天无休止的追着偶像剧时,我确实没有负罪感,在听了小祥大佬的分享后,我连睡午觉都被吓醒.大佬跟我同一个班,在大厂工作,每天还抽时间学习,作业也没落 ...

  2. web自动化的三大等待

    由于web网页打开后需要时间进行数据的传送,页面的渲染,所以我们在写web自动化脚本的时候,需要等待它加载完所有的页面元素,我们才进行操作或点击.同时这种等待也是为了提高脚本的稳定性. seleniu ...

  3. App自动化中 - 三大元素定位工具

    文章转自:https://blog.csdn.net/lkm564513278/article/details/105511411 在日常android app自动化测试工作当中,使用一种工具可能难以 ...

  4. APP自动化针对PO模式进行二次封装之basepage

    APP自动化跟WEB自动化所使用的框架基本一样,都是采用的PO模式结合pytest框架编写自动化测试脚本,为了提高代码的复用性.稳定性和易维护性,我们针对PO模式进行了二次封装,将日志,等待以及异常截 ...

  5. App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.App 元素定位方式 二.元素操作 三.测试混合应用 四.以代码的方式执行 Pytest 命 ...

  6. APP自动化框架LazyAndroid使用手册(2)--元素自动抓取

    作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...

  7. APP自动化框架LazyAndroid使用手册(1)--框架简介

    作者:cryanimal  QQ:164166060 APP自动化简介 APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入.触摸屏输入.手势输入等操作,以达到对APP的功能进行自动化测试 ...

  8. 用java和junit编写app自动化测试用例

    package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver ...

  9. 用python和unittest编写app自动化测试用例

    import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpCl ...

  10. App自动化测试-1.App自动化介绍和环境搭建

    App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...

随机推荐

  1. moectf2023 web wp

    gas!gas!gas! 直接跑脚本 import requests session=requests.Session() url="http://127.0.0.1:14447" ...

  2. shell 数组函数进阶练习

    一维数组的定义.统计.引用和删除等操作. A=( test1 test2 test3 ) ,定义数组一般以括号的方式来定义, 数组的值可以随机定义. echo ${A[0]} ,代表引用第一个数组变量 ...

  3. Luogu P11280 GFOI Round 2 Jom & Terry 题解 [ 黄 ] [ BFS ]

    Jom & Terry:讲个笑话,我赛时被诈骗了. 思路 先放结论:如果 Terry 到终点的距离小于等于 Jom 到终点的距离,那么 Terry 一定不会被抓. 为啥呢,因为不管 Jom 堵 ...

  4. [BZOJ3451] Normal 题解

    这题分三步:葺网(期望).淀粉质(点分治).蓉翅(容斥),再佐以芬芳团(FFT),一道巨难无比的 luogu 黑题就诞生了. 期望 先考虑在淀粉树上,\(i\) 点在 \(j\) 点的子树里的概率.实 ...

  5. 简单编写Makefile与使用make工具

    简单编写Makefile与使用make工具 在不使用make工具下对c文件的编译 gcc main.c -o out gcc <目标文件> -o <生成执行文件> 编译到执行文 ...

  6. Docker - 在线音乐播放器 YesPlayMusic

    原文链接:https://mp.weixin.qq.com/s/D2778fnix6jAeZlCicWGdw(本文只作为跟练,不以盈利为目的) 1.下载镜像 [root@node ~]# docker ...

  7. ETL工程师

    Python Flume DataX HDFS 数仓建模分层:ODS.DIM.DWD.DWS.APS Kettle.Informatica SQL(Oracle.MySQL)

  8. SparkRDD算子(transformations算子和actions算子)

    RDD提供了两种类型的操作:transformation和action1.所有的transformation都是采用的懒策略,如果只是将transformation提交是不会执行计算的,计算只有在ac ...

  9. Pwnable_orw

    题源 题解 保护 只开启了栈保护 分析 进入ida分析 main函数如下 seccomp (Secure Computing Mode)是一种 Linux 内核安全机制,它可以 限制进程可执行的系统调 ...

  10. [tldr] vscode的remote插件的config文件内容解析

    参考VS Code Remote SSH配置 解决了什么问题 vscode的remote插件可以直接通过可视化的UI新建一个连接 通过ssh指令添加服务器的连接方式 但是这种方式添加的服务器名字等于服 ...