第11期——Android WebView测试
第一次访问
!(/uploads/photo/2020/2d1e4c48-f835-46fd-b40c-22d7e2bed92e.png!large =500x)
再次刷新就会新的webview内部控件,原因是因为Uiautomator2底层转换需要时间。很多人容易被挡在第一次访问的时候,就认为不能访问内部控件而放弃
!(/uploads/photo/2020/a59c2d56-3ddc-4a03-bc73-8769442f3182.png!large =500x)
6.0系统上,webview控件的innerText会被影射为content-desc
坑
- webview需要模拟器6.0
- chrome 62才可以更好的看见webview的内部,,只有的版本都有bug
- chrome inspect本身需要fq
- chromedriver版本问题
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome '44.0.2403'. You could also try to enable automated chromedrivers download server feature. See https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md for more details
chromedriver的地址:CNPM Binaries Mirror
默认打开webview的模拟器
- android studio自带的模拟器 6.0版本,更高版本不支持
- genymotion android 模拟器6.0
- bluestacks、网易mumu默认不支持的
- 真机或者模拟器,在root后使用hack手段强行打开webview的调试开关, root + xposed
自己编译android系统,打开webview开关 - 无论是真机,还是模拟器,浏览器都是可以直接调试的。但是app需要看各个app的内嵌webview的设置情况
第11期——微信⼩程序测试
第11期——Appium设备交互Api
第11期——模拟器控制
第11期——capability使⽤进阶
稳定性
-
- newCommandTimeout
- 各种timeout设置
测试策略相关的
- noreset
- fullreset
- dontstopapponreset
- autoGrantPermissions
性能相关的
- ignoreUnimportantViews
- disableAndroidWatchers
- skipDeviceInitialization
- skipUnlock
- skipLogcatCapture
- skipServerInstallation
- appium-uiautomator2-server本身的优化
第11期——Appium错误排查与⽇志分析
第11期——Appium原理与JsonWP协议分析
第11期——appium源代码分析
第11期——appium⼆次封装实战
作业1
使用android 6.0的模拟器
- 港美股开户
- 输入手机号与错误的验证码 1234
- 点击开户
- 切换回原生
- 点击关闭回到交易页
作业2
分析webview的相关日志,了解相关技术,阅读下appium执行的每行命令