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

来源:互联网 发布:大数据技术指哪些内容 编辑:程序博客网 时间:2024/05/17 22:54

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");
 
 至此,问题解决。
阅读全文
0 0
原创粉丝点击