51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1952|回复: 4
打印 上一主题 下一主题

[原创] 用 ATX 进行简单的功能冒烟

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-6-28 15:03:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
环境准备

这个系列文章里面已经列了很多了,我就不赘述了大概就是
python2.7
Android 4.1+
ATX手机助手 (搜狗输入法好像不能用,推荐使用这个)
ATX库

进入游戏
  1. import sys
  2. import atx
  3. import time
  4. from atx.ext.report import Report
  5. from word import *

  6. d = atx.connect()
  7. print d.start_app('com.uc108.mobile.xxsn',"com.uc108.mobile.runtime.SplashActivity")
  8. time.sleep(10)

  9. rp = Report(d, save_dir=u'report')
  10. rp.patch_uiautomator()
  11. rp.info("Test started", screenshot=d.screenshot())

  12. #一般用新账号进行冒烟
  13. d.click_image("账号登出.1920x1080.png",timeout = 10,safe = False)
  14. d(text=u'注册').click()
  15. d(text=u'一键注册').click()

  16. d.click_image("进入游戏.1920x1080.png")
复制代码
这样就进入场景了


聊天模块

下面我们来写聊天模块,聊天模块,冒烟中无非需要测试的是大小写,中文,特殊字符,屏蔽字等,我把屏蔽字库生成一个叫word的字典(本来是要直接读表的,但是python零基础,那些库不会用,所以字典凑合用吧)
  1. #py字典文件
  2. # -*- encoding: utf-8 -*-
  3. word = {1:u"'测试开始'",
  4.     2:u"'小写字母'zasdajshda12",
  5.     3:u"'大写字母'DSAHDHFAQWD12",
  6.     4:u"'大小写'saldaDSADSA12",
  7.     5:u"'中文'撒大沙发啥叫撒大苏打",
  8.     6:u"'屏蔽字测试'安局办公楼安局豪华安门事",
  9.     7:u"'特殊符号',。、‘; 【】.=-.+;!@#$%^&*()",
  10.     8:u"'屏蔽字测试'测试结束",
  11.     9:u"'屏蔽字测试'安门事",
  12.     10:u"'屏蔽字测试'安眠藥",
  13.     11:u"'屏蔽字测试'案的准确"}

  14. chat_sum = 1                  
  15. while chat_sum < 10:
  16.     if d.exists("发送@auto.png"):
  17.         d.click_image("发送@auto.png",offset=(-4,0))
  18.     else:
  19.         d.click_image("聊天@auto.png")
  20.         d.click_image("发送@auto.png",offset=(-4,0))
  21.     d.type(word[chat_sum], enter=True)   #输入聊天内容,读word屏蔽字典
  22.     d.click_image("发送@auto.png",timeout = 16)
  23.     chat_sum = chat_sum + 1
  24. d.click_image("关闭聊天界面@auto.png")
复制代码
下面就是执行完聊天模块


商店模块

下面来商店模块,商店中需要冒烟的内容差不多就是道具的购买,不同商店的切换
  1. d.click_image("商店.1920x1080.png")#默认在铜钱店铺
  2. #根据权重,排列了道具出现概率的高低,如果没有,就随机购买
  3. if d.exists("经验丹.1920x1080.png"):
  4.     d.click_image("经验丹.1920x1080.png")
  5. elif d.exists("水晶.1920x1080.png"):
  6.     d.click_image("水晶.1920x1080.png")
  7. else:
  8.     d.click_image("铜币.1920x1080.png")
  9. d.click_image("购买.1920x1080.png")

  10. #勾玉店铺
  11. d.click_image("勾玉店铺.1920x1080.png")
  12. if d.exists("英雄碎片.1920x1080.png"):
  13.     d.click_image("英雄碎片.1920x1080.png")
  14. else:
  15.     d.click_image("勾玉.1920x1080.png")
  16. d.click_image("购买.1920x1080.png")

  17. #竞技场店铺
  18. pass
  19. #公会店铺
  20. pass
  21. #试炼店铺
  22. pass
  23. rp.close()
复制代码
这边是执行后

其他系统模块也是大同小异,另外我们游戏还没上线,所以其他的就不列了,都是简单的点击操作,就不写了。
最后可以查看html文件,查看每一步点击操作前后 的截图

end

这就是我最近的应用,每天上班吃早饭的时候,用脚本简单跑下冒烟,吃完早饭就可以开始干活了~~~
还有困惑就是,我在游戏测试里,找不到合适的方法去断言,现在只能用来跑下基本的流程。可能我还没入门吧,不知道大家有没有什么建议。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2024-7-12 13:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2017-6-28 15:58:28 | 只看该作者
    不错,终于看到了实践类的文章了,激动的我泪流满面
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2017-6-28 15:58:51 | 只看该作者
    挺不错的,也支持类似opencv的图形识别。
    直接click_image资源
    现在很多公司都公开客户端给测试了吧。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    前天 09:07
  • 签到天数: 11 天

    连续签到: 2 天

    [LV.3]测试连长

    4#
    发表于 2017-6-28 15:59:46 | 只看该作者
    暂时没想到的话 可以用xml文本来做简单的验证吧 后面可以用更精确的方式
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2017-6-28 16:00:46 | 只看该作者
    你自己封装一些断言方法啊。例如,传入图片xxx.png和延时y秒,断言在y秒内是否能找到该图片,找到则Pass,找不到则Fail。
    还可以和截图配合,如果Fail则把当前界面截图保存。
    与输出测试报告结合,把测试结果最后输出成txt文件,然后邮件发送给自己。
    与jenkins结合,定制每天定时的检查测试。
    等等,这些都是我们目前在采用的方案
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-21 05:38 , Processed in 0.065426 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表