终于在22号晚上基本调试大部分用例;
个人博客:https://blog.csdn.net/zyooooxie
一)unittest单元测试框架的 用例跳过skip方法
在我最开始写脚本的时候,我就用的最简单、直接的方法:直接注释掉不想执行的用例;当时还在想用啥跳过用例的方法,不是纯属多余的嘛,直接注释掉,方便快捷。
然后莫名其妙的写了公司某app产品的基本所有功能点都有覆盖的一个自动化测试脚本–用例超过500条,执行时间超过5个小时。
那一天整整12点开始跑脚本,跑到下班。那么得优化脚本,还是做成验证主要流程的脚本比较合适,那很多细节的用例是要注释掉吗?下次再要执行的时候,感觉弄起来好麻烦。
就实践用起来skip方法了。
@unittest.skip(reason):强制跳过。reason是跳转原因。
在昨天 突然想到,如果那些用例我再用起来,这么设置的用例还得修改,在Pycharm可以使用CTRL + R替换掉,但是不简洁呀。
@unittest.skipIf(condition, reason):condition为True 跳过。
但实际我是偏爱这样使用:
直接修改定义的变量ABCD和abcd的值,就可以实现用例跳过、不跳过的切换;
ABCD = 66
abcd = 7
@unittest.skipIf(ABCD > abcd, 'ABCD 大于 abcd 就可以跳过此用例')
def test_00_a21(self):
print('123')
此外,提醒下:@uinttest.skip() @不能少。
二)Pycharm 左侧的structure
项目的structure
手残党 无意按到最左边的一侧,打开了项目的structure,此举简直就是神助攻啊。
在我调试,实际跑某些用例的时候,习惯CTRL + F来搜索此用例的名字,来回切换用例所在位置和 最后的位置,如今发现了structure,就可以直接点击切换到某用例的位置,很方便的。
三) Appium-desktop 每次都安装setting和unlock
在执行用例的时候,如果不做设置,appium每次运行都需要安装Unlock以及AppiumSetting的,这个对我而言,是有些烦人的。
1.是浪费时间,我之前跑一个不到100条的脚本,通过率95%的大概用时1个半小时,而现在一个125条左右,通过率65%的用时56分钟,每条用例跑的时候不安装,确实提高了效率。
2.是如果选择修改了appium,有些新手机拿来跑脚本,有可能会失败。
3.是网上一大把教程(请留意,appium和 Appium-desktop的设置目录和方法不同),我这要说的是 Appium-desktop:
进入appium的安装目录:(我本机的,不见得就是你电脑的)
C:\Users\admin\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver
下面有2个文件夹的内容要更改:
appium-android-driver\lib android-helpers.js文件
appium-android-driver\build\lib android-helpers.js文件
(android-helpers.js文件 具体改法 请百度)
如果真的想换回之前未改的状态,可以先备份下未改的android-helpers.js文件,但是我更喜欢暴力些:直接卸载 重装
apk作用说明:
1、Appium settings:用于设置网络状态
2、Unclock:用于自动解锁(使用场景:手机是滑动锁屏的情况下,则会自动解锁并启动apk,注意:图案锁屏与数字锁则不可以哦,只能是滑动锁屏)
四)测试脚本中 增加 一个 pass的测试用例
根据我的实际操作经验,跑某些用例失败后,想使用uiautomatorviewer 定位当前页面的元素,uiautomatorviewer会提醒你的设备不存在之类的;这个时候可以跑一下这个用例(或者直接一直开着这个用例):
def tiaoshi(self):
pass
主要是 让手机app成功退出,恢复正常状态,方便使用uiautomatorviewer定位。
当然还有一种暴力手段–直接拔掉数据线,重插。
交流技术 欢迎+QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie