Appium 三种wait方法(appium 学习之改造轮子)
来源:互联网 发布:淘宝客服主管交流群 编辑:程序博客网 时间:2024/05/04 09:02
前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html
知乎Android客户端登陆:http://www.cnblogs.com/tobecrazy/p/4579631.html
appium实现截图和清空EditText: http://www.cnblogs.com/tobecrazy/p/4592405.html
学过selenium的都知道,一般等待元素加载有三种办法:
- sleep Thread.sleep(60000) 强制等待60s
- implicitlyWait
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
- WebDriverWait 显示等待,这个需要增加一定等待时间,显示等待时间可以通过WebDriverWait 和util来决定,比如这个timeOut是60,如果该元素60s以内出现就不在等待
WebDriverWait wait = new WebDriverWait(driver, 60); WebElement e= wait.until(new ExpectedCondition<WebElement>() { @Override public WebElement apply(WebDriver d) { return d.findElement(By.id("q")); } })
以上三种方法中,只用WebDriverWait是selenium所特有,在java-client中也找不到相应,如果想使用这种方法怎么办?
改造轮子,首先添加AndroidDriverWait.java, 其实是将WebDriverWait的类型改成AndroidDriverWait
具体代码如下:
View Code
接着需要修改接口:ExpectedCondition,将其WebDriver的类型替换为AndroidDriver
具体代码:
View Code
经过修改之后,就可以在appium中直接使用:
//wait for 60s if WebElemnt show up less than 60s , then return , until 60s WebElement showClose = new AndroidDriverWait(driver, 60) .until(new ExpectedCondition<WebElement>() { public WebElement apply(AndroidDriver d) { return d.findElement(By .id("com.zhihu.android:id/showcase_close")); } });
0 0
- Appium 三种wait方法(appium 学习之改造轮子)
- Appium 等待的三种方法
- appium三种等待元素的方法
- 三种appium设置等待时间的方法
- appium三种等待元素的方法
- Appium学习之踩坑合集
- appium改造思路
- appium学习三大网址
- Appium学习(1)
- Appium学习(2)
- Appium学习(3)
- Appium(三):python appium包中webdriver源码查看方法
- Appium三种等待方式
- Appium(学习)
- appium学习
- appium (三)执行过程
- appium+java(三)webview
- Appium的一点一滴:获取Android Activity三种方法
- Linux下Tomcat访问日志参数配置
- usb 的vid pid
- 关于windows消息的派发
- Window+nginx+php+mysql安装
- Android 画虚线边框
- Appium 三种wait方法(appium 学习之改造轮子)
- sublime text
- 使用BSTR传递非NULL结尾的字符串
- eclipse c 编译工程(已有makefile文件的完整工程)
- 复制数据库时,出现表重复出现 2 次,一个表名首字母大写,一个全是小写
- [MSSQL]MSSQL 基础之善用Char类型
- Keil修改工程名
- 过滤器、监听器、拦截器的区别
- linux下使用qq