线上第九期_WebView 测试_20190517

WebView

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");

WebView测试

模拟器上的测试

  • webview控件会被映射为原生控件,类型为View,其中的文本内容会变成content-desc或者text
  • 6.0会把webview中的控件变成一个带有content-desc属性的View控件
  • 9.0会把webview中的控件变成一个带有text属性的View控件

真机

  • 如果app未开启webview的调试属性,是无法分析内部的控件的
  • 个别手机可能会默认打开此属性,所以默认也能访问到h5内部的控件
  • 如果还是访问不到,检查webview的调试属性是否开启,此时需要让研发配合打开webview的调试属性

webview测试用例

  • 不需要css定位:直接使用accessibility-id或者xpath定位就可以直接定位到
  • 需要css定位以及其他的js执行功能:contexts api

WebView技术原理

localhost:~ seveniruby$ adb shell cat /proc/net/unix | grep webview
0000000000000000: 00000002 00000000 00010000 0001 01 2545836 @webview_devtools_remote_32073
0000000000000000: 00000002 00000000 00010000 0001 01 9455057 @webview_devtools_remote_25324

adb -s VED7N18403003958 forward tcp:7777 localabstract:webview_devtools_remote_32073
adb forward --list
curl http://127.0.0.1:7777/json/version

微信小程序测试

作业1

基金开户 蛋卷已有账户登录 密码登陆 输入错误的用户名和密码,点击安全登陆