您的位置:首页 > 移动开发

Appium 对于 Android 中webview 页面测试注意的问题

2017-06-16 14:37 281 查看
Appium 对于 Android 中webview 页面测试注意的问题

            对于 APP中有webview页面的测试,如:集成其他APP账户登录的(类似Facebook,微博之类),见图(我们应用集成了facebook用户登录):



需要需要注意几点:
1. 先查看下被测试app 是原生的还是混合的,方法如下:

测试代码中:
Set contextNames=driver.getContextHandles();
System.out.print(contextNames.toString()); 

如果打印结果是:NATIVE_APP,很遗憾的告诉你,直接是不能测试带有Webview的APP的。

2.针对情况1,现在需要做的是,让开发人员帮你在APP源码中加入:

 WebView.setWebContentsDebuggingEnabled(true);

 然后重新打个包给你测试。 

 当然 自己有APP源码的话,你自己也可以修改源码,加入:

 WebView.setWebContentsDebuggingEnabled(true);

 具体最好可以咨询下开发人员,然后重新打个包。

 
 3. 用1方法测试下,这次应该能打印出类似于:

 [NATIVE_APP, WEBVIEW_tv.tobelive] 这样的结果(当然这是我的被测试APP)。
 4. 开始测试:

 被测试APP中 呼出Web页面后,在测试代码中加入:

 driver.context("WEBVIEW_tv.tobelive");

 然后测试就很简单了,找对象就和selenium一样了。如:
driver.findElement(By.name("email")).click();
driver.findElement(By.name("pass")).click();

driver.findElement(By.name("login")).click();

特别注意

 Webview页面操作结束后,需要在切换回去原生的 NATIVE_APP(不然原生APP上的对象找不到)。

 driver.context("NATIVE_APP");

 
 至此,问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: