由于公司产品是一款 Hybrid App,用 Appium 测试过程中遇到问题
1.应用当中的一些功能会调用系统的相机和电话等功能,但这部分 view 不是 webview,无法使用 appium 进行操作?请问大家还有合适的方法? 2.和问题 1 类似,如下图,比如调用一些 native 的 view,选择尊称这个界面的时候就无法使用 appium 去进行元素的定位?请问有什么办法吗?
谢谢大家
context_name = u'NATIVE_APP' webDriver.switch_to.context(context_name)
#1 楼 @irisliu 你的意思是从 webapp 后再次切换到 Nativeapp,再次调用 driver.findElementByAndroidUIAutomator()这个方法吗
WebElement title=driver.findElement(By.xpath("//*[@id='select_title']")); title.click();
driver.context("NATIVE_APP"); WebElement em = driver.findElementByAndroidUIAutomator("new UiSelector().resourceId('android:id/text1')"); em.click();
这样还是会报错!
#3 楼 @sky629 driver.context("NATIVE_APP");这句之后你 print 看看 current context 是不是 native_app
#3 楼 @sky629 我用 python,不懂你写的。 不过我遇到过 debug 就能过,直接跑就不过的情况(native 和 webview 切换的过程)。我是每一步都 sleep 了一下解决这个问题的。 反正确保 step 没有问题,例如,点击显示出相机,sleep,switch context,sleep,print current context,sleep,点击相机上得照相按钮。
打印的此时已经是 App type:NATIVE_APP,但是 WebElement em = driver.findElementByAndroidUIAutomator("new UiSelector().resourceId('android:id/text1')"); em.click(); 依旧报错
#7 楼 @sky629 不知道这个是不是能解决你得问题 http://testerhome.com/topics/2709
#8 楼 @irisliu 非常感谢,尝试用坐标点击可以的
#9 楼 @sky629 没帮到什么。恭喜解决问题~~