第 11 期_appium 进阶_20200223

第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执行的每行命令