情人节那天偶尔发现了 TesterHome 社区,进了社区发现了 ATX,当时觉得这个应该挺适合用来冒烟的,于是动手截了些图,做了一些简单功能的冒烟,求轻拍
这个系列文章里面已经列了很多了,我就不赘述了大概就是
python2.7
Android 4.1+
ATX 手机助手(搜狗输入法好像不能用,推荐使用这个)
ATX 库
import sys
import atx
import time
from atx.ext.report import Report
from word import *
d = atx.connect()
print d.start_app('com.uc108.mobile.xxsn',"com.uc108.mobile.runtime.SplashActivity")
time.sleep(10)
rp = Report(d, save_dir=u'report')
rp.patch_uiautomator()
rp.info("Test started", screenshot=d.screenshot())
#一般用新账号进行冒烟
d.click_image("账号登出.1920x1080.png",timeout = 10,safe = False)
d(text=u'注册').click()
d(text=u'一键注册').click()
d.click_image("进入游戏.1920x1080.png")
这样就进入游戏主场景了
下面我们来写聊天模块,聊天模块,冒烟中无非需要测试的是大小写,中文,特殊字符,屏蔽字等,我把屏蔽字库生成一个叫 word 的字典(本来是要直接读表的,但是 python 零基础,那些库不会用,所以字典凑合用吧)
#py字典文件
# -*- encoding: utf-8 -*-
word = {1:u"'测试开始'",
2:u"'小写字母'zasdajshda12",
3:u"'大写字母'DSAHDHFAQWD12",
4:u"'大小写'saldaDSADSA12",
5:u"'中文'撒大沙发啥叫撒大苏打",
6:u"'屏蔽字测试'安局办公楼安局豪华安门事",
7:u"'特殊符号',。、‘; 【】.=-.+;!@#$%^&*()",
8:u"'屏蔽字测试'测试结束",
9:u"'屏蔽字测试'安门事",
10:u"'屏蔽字测试'安眠藥",
11:u"'屏蔽字测试'案的准确"}
chat_sum = 1
while chat_sum < 10:
if d.exists("发送@auto.png"):
d.click_image("发送@auto.png",offset=(-4,0))
else:
d.click_image("聊天@auto.png")
d.click_image("发送@auto.png",offset=(-4,0))
d.type(word[chat_sum], enter=True) #输入聊天内容,读word屏蔽字典
d.click_image("发送@auto.png",timeout = 16)
chat_sum = chat_sum + 1
d.click_image("关闭聊天界面@auto.png")
下面就是执行完聊天模块
下面来商店模块,商店中需要冒烟的内容差不多就是道具的购买,不同商店的切换
d.click_image("商店.1920x1080.png")#默认在铜钱店铺
#根据权重,排列了道具出现概率的高低,如果没有,就随机购买
if d.exists("经验丹.1920x1080.png"):
d.click_image("经验丹.1920x1080.png")
elif d.exists("水晶.1920x1080.png"):
d.click_image("水晶.1920x1080.png")
else:
d.click_image("铜币.1920x1080.png")
d.click_image("购买.1920x1080.png")
#勾玉店铺
d.click_image("勾玉店铺.1920x1080.png")
if d.exists("英雄碎片.1920x1080.png"):
d.click_image("英雄碎片.1920x1080.png")
else:
d.click_image("勾玉.1920x1080.png")
d.click_image("购买.1920x1080.png")
#竞技场店铺
pass
#公会店铺
pass
#试炼店铺
pass
rp.close()
这边是执行后
其他系统模块也是大同小异,另外我们游戏还没上线,所以其他的就不列了,都是简单的点击操作,就不写了。
最后可以查看 html 文件,查看每一步点击操作前后 的截图
这就是我最近的应用,每天上班吃早饭的时候,用脚本简单跑下冒烟,吃完早饭就可以开始干活了~~~
还有困惑就是,我在游戏测试里,找不到合适的方法去断言,现在只能用来跑下基本的流程。可能我还没入门吧,不知道大家有没有什么建议。