appium等待元素】的更多相关文章

1.sleep()方法 Thread.sleep(60000)强制等待60s 2.隐式等待implicitlyWait() driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);全局等待30s不管元素是否已经加载1) 当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常2)换句话说,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找DO…
前些日子,配置好了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的都知道,一般等待元素加载有三种办法: sle…
无论是selenium还是appium,元素定位都是我们开始实现自动化面临的第一个问题.selenium还好,我们可以在浏览器的调试页面进行元素定位还是蛮方便的.那么appium怎么做呢? 我看到很多资料,帖子都是说的appium自带的Inspector这个工具进行的元素定位.而笔者不知道是电脑还是什么的问题,这个工具是无法使用的.今天给大家说的是另一个工具. uiautomatorviewer 这个工具是在我们Android的SDK的tools的文件夹里面的.使用方法也很简单.这里我以安卓模拟…
等待元素出现之后再消失,界面上的loading icon都属于这种类型,之前的方法总是卡死,换这种方法目前还好用的 /** * Check if the element present with customized timeout * @param driver * @param locator * @param errorMessage * @return */ public Boolean waitUntilElementPresent(WebDriver driver,final By…
1.硬性等待 Thread.sleep(8000); 所谓的硬性等待就是,执行完相应操作就等待我设置的8s.无论网速快与慢,网速快的话,也许5s就打开网页了,可是程序必须接着等待剩下的3秒. 网速慢的话,也许8s之内没有打开,此时执行下一步操作,会由于找不到元素,而fail case,所以非必要情况下,不要使用此等待方法. 2.智能等待 public void waitForElementToLoad(int timeOut, final By By) { try { (new WebDrive…
Appium查询元素有两种方式 一种是使用UI Automator: 参考 https://www.cnblogs.com/gongxr/p/10906736.html 另一种是使用appium的Inspector 1)启动Appium Server,点击“Inspector”按钮: 2)填写参数,点击启动按钮: 参数举例: { "platformName": "Android", "platformVersion": "",…
1.apk包名和launcherActivity 1.1.获取包名 所有应用包名列表 adb shell pm list packages 第三方应用包名列表 adb shell pm list packages -3 系统应用包名列表 adb shell pm list packages -s 正在运行应用包名 adb shell dumpsys window | findstr mCurrentFocus 注意:若多开某款应用,则多开端包名一般为原端包名+后缀,如崩坏3: 1.2.获取已安装…
前言 wait_until等待某个条件为真才继续往下执行.默认的超时时间为10s,每0.5查询一次,这俩参数选填.可以设置超时时间和轮询间隔. 可以作为添加后校验元素是否存在的场景 入参介绍 def wait_until(condition_fn, timeout_secs=10, interval_secs=0.5): """ :param condition_fn: A function taking no arguments that represents the \…
前面没找到合适的函数,用的是 try{Thread.sleep(10);}catch(Exception e){} 但是这个时间得自己控制,强制等待加载,很2的办法,后来终于找到一个合适的替代函数了 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 10的单位是秒,意思是10最多等待10秒,如果还是找不到下个元素则会报错停止脚本,整个运行速度比用Thread.sleep快了不少…
APPIUM Android 定位方式   1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement element = driver.findElement(By.id("com.tencent.mm:id/do")); 或者: driver.findElementById("com.tencent.mm:id/do") 下面的例子展示的是通过id定位到元素并点击: @Test…