首先请原谅我,这篇文章其实并没有什么干货,阅读这篇文章,大概会浪费你人生中的几分钟。不过如果有闲着无聊的,倒是可以看看,毕竟我写这篇文章也一样。有的大神号称没有干货不写,我倒觉得,有些东西只要写出来对自己对他人总会有点帮助。
自动化测试?
是的,因为项目看不是特别忙,但是测试特别忙,所以我们临危受命,调研自动化测试。调研到什么程度呢?测试能用的程度。好的,走你!
一开始我们选择测试平台,就是希望选择一个简单的,无论是设备要求还是操作都要简单为主。比方说有的测试平台要源代码,pass;有的测试平台要手机越狱,pass;有的测试平台,不支持啥啥啥,pass。那么我们最后选择的就是Appium。(其实最后选择的不是它)
Appium有几个优点,1不需要源码,2对测试语言要求良好,3好像还挺活跃的。于是我们就开始用Appium测试。Appium分为服务端和客户端,你在官网下载的dmg是服务端,客户端其实就是手机了,当然你也可以用命令行下载。首先你就按照官网环境来搭一遍,中间并不是特别难。然后你要先运行1个项目WebDriverAgent。这个项目我觉得官网没说明白,有一些方法不太合适。其实这个项目你无论是用的Appium桌面版,还是命令行,它都会自己把webDriverAgent项目下载下来。你要做的,就是在这个项目的根文件夹里,把它找出来。这个项目里你把证书换成你自己的,然后选择到webDriverAgentRunner上面运行。不知道为什么我的配置完证书后,它不显示profile,不过没有关系,不影响测试。这个项目运行完后,你会发现就黑了一下而已,不用害怕这是正常现象,你只要配置好服务端就可以真机测试啦。服务端的配置,我直接上图吧,看图说话比较简单:
没错,这样就可以了,其实中间还是有一些环境的问题,需要上issue上面找答案,不过每个人情况应该不一样,这里就不赘述了。
airTest自动化测试
本来,马上就快要交差了,但是我们突然发现了一个比appium更好的测试平台,真的,谷歌也是这么说的,airTest。这个好像还是网易搞的,但是用起来真的是很爽,这个直接录制脚本,并且airTestIde中文友好,另外你还能直接和客服提要求提问题,体验真的是不错。
不过这个对于iOS来说,其实还是有一些问题的,首先它也需要提前运行一个项目appAgent,没错就是webDriverAgent,不过是修改过的版本,所以你还是要去下载一遍。其次,Appium的webDriverAgent运行过后安装在手机里就行了,不过appAgent需要保持长链接,而且还要有一步端口映射iproxy 8100 8100 。所以目前来看,测试需要买一台mac电脑是肯定的了。不过这并不代表苹果手机不能在Windows上面测试,这里有一个非常蛋疼的方法:你在Mac电脑上面跑完appAgent,并且输入完命令iproxy 8100 8100后,你用Windows的airTestIde链接你手机的IP地址加8100端口就可以了。所以这需要两台电脑测试一台手机,聊胜于无吧。
然后就是写python脚本了,python语言我发现其实学一学还是很有用的。里面的东西有好多感觉都是想通的,还有一些我觉得正适合从iOS入门的人学。比方说我学ReactNative的时候,里面的map,还有返回一个promise看的我有点蛋疼,不过看完Python的MAP,还有各种函数特性后,我就有一种云开见月的感觉。我是用pycharm写的python,有自动提示,缩进也不错,而且airTestIDE是不支持python多个脚本的,就是没有项目的感觉,你只能运行单个脚本。所以我们的项目结构就是这样的,建立一个测试用例集,在里面弄一个主脚本,比方说啥啥啥.py,然后在里面再配置,你要调用什么脚本,比方说如下代码:
这样我们就可以任意组合各种脚本,不过在生成报告的时候,你会发现还有一个问题。这个问题就是airTest的做法是1个.ari文件,只能生成1份测试报告,所以有多个脚本执行的话没有办法弄成1份测试报告。这个就要靠自己想办法了,后来你可以注意到airtest生成报告用例的文件在run.py,你要自己写一个python文件继承于它,然后重写里面的方法,代码我这里就先不放了,大概上思路就是这样。
总体上,自动化测试真的没意思,不过python很有意思。
最后
以上就是现代中心最近收集整理的关于airTest自动化测试的全部内容,更多相关airTest自动化测试内容请搜索靠谱客的其他文章。
发表评论 取消回复