微信号:grzlwx

介绍:光荣之路官方资讯

实战:微信公众号+appium测试实例

2018-09-29 11:11 小曦

新书

速递

吴老的java版《selenium webdriver 实战宝典》和python版《selenium Webdriver 3.0 自动化测试框架实战指南》出版了,代码拿来就能用。

文 | 小曦

微信公众号实例


微信其实就是一个混合的app,客户端里嵌入的webview,app中的native可以用uiautomatorviewer来查看元素,但webview里是不行的,但是可以使用chrome来查看。

0 1

手机设置

如何查看微信webview中的元素,几个前提:

1、手机打开【开发者模式】

2、app必须是debug模式

3、手机通过USB连接电脑,且能够识别出来手机,如下图。如果识别不了,请自行百度。

0 2

chrome设置

有了这几个前提之后就可以正式开始了

1、打开微信,在任意对话框中输入debugx5.qq.com并发送

2、点击发送成功的debugx5.qq.com,稍等片刻进入设置页面

3、切换到【信息】,勾选【是否打开tbs内核】,如下图

 4、打开chrome,地址栏输入chrome://inspect/#devices,可以看到设备或者你访问的资源,如果查看不到请自行百度,如下图

 5、点击上图中【寄件】对应的【inspect】就可以看到页面了,接下来就可以轻松识别元素了,和用f12查看元素没有区别,如果你不会请面壁思过。

(此处需要翻墙或者通过其他方式,请自行解决,否则显示的是白页)

0 3
appium中的chromedriver替换成手机webview对应的版本

由于app的webview自动化是依赖于chromedriver的,并且每个手机app的webview版本号都不太一样,版本不匹配的话一般会报错:

An unknown server-side error occurred while processing the command.

Original error: unknown error: Chrome version must be >= 55.0.2883.0

appium里面chromedriver版本的路径地址,appium1.7以后版本默认安装在c盘,找到如下路径可以看版本号,笔者的chromedriver路径如下:

C:\Users\HP\AppData\Local\appium-desktop\app-1.5.0\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win

1、找到手机APP的webview的版本

[设置] ->【更多设置】->【应用程序】->【全部】,如下图

 再查看webview详情,找到版本号,笔者的版本为55.0.2883.91,如下图:

 2、下载与webview版本对应的chromedriver

下载链接:

https://chromedriver.storage.googleapis.com/index.html

3、将下载后的chromedriver.exe覆盖appium中的chromedriver。

最后再重启appium。

0 4
代码要点

1、desired_caps增加'chromeOptions'

'chromeOptions':{'androidProcess': 'com.tencent.mm:tools'}

2、如果是webview元素,使用下面的语句切换到webview

driver.switch_to.context('WEBVIEW_com.tencent.mm:tools')

通过以下语句,查看webview名称:

contexts=driver.contexts

print contexts

3、切换到webview里面,剩下的定位方式和web一模一样

4、如果返回原生态的native,用下面的语句

driver.switch_to.context("NATIVE_APP")

5、对于webview与native的判断,笔者经过尝试,通过uiautomatorviewer可以识别的控件就按照native的方式定位;反之就切换到webview,按照web元素的定位方式定位。

0 5
完整代码

(勤快点,看懂了自己敲)

实战:微信小程序+appium测试实例

使用LR编写windows sockets协议xml报文格式脚本

Python实战:file tell()返回的指针怎么就不一样?

互联网架构的演变

草根在测试行业如何杀出一条血路(2)

2018web测试开发培训一年期周六班!

喜马拉雅app搜索并收听“光荣之路”电台
光荣之路
招聘|征稿|合作 |QQ群
735821166@qq.com
python群:457561756
性能群:415987441
招聘群:203715128
感谢认真阅读的你!
 
光荣之路 更多文章 互联网架构的演变 内推:上海科学创新教育研发中心 | 高测 实战:使用LR编写windows sockets协议xml报文格式脚本 接口测试的切入点 实战:微信小程序+appium测试实例
猜您喜欢 java技术栈 拥抱人工智能,从机器学习开始 2017年第一期CVP系列沙龙开始报名!走向人生巅峰迎娶白富美就靠这一期了! 金融壹账通移动技术周报(第四十六期) [2016年7月28日]图片压缩和图片缓存特别是移动端的有什么好的方案和方法?