python 自动化测试Android应用

我们开始使用python写一个简单的Android UI自动化测试程序

首先1,使用adb命令连接真机或模拟器

如果没有安装adb命令和sdk的请自行百度安装

需要在sdk的路径中找到tools文件荚下面的uiautomatorviewer.bat文件,双击就可以打开 如图1

这里写图片描述

看到这里我们就可以开始写代码了

我们需要导入第三方库 uiautomator

class Mytest(unittest.TestCase):
    # 初始化工作
    def setUp(self):
        print "--------------初始化工作"

    # 退出清理工作
    def tearDow(self):
        print "--------------退出清理工作"

    # 测试点击聚优财app
    def test_a(self):
        d(text="聚优财").click()#这里是根据图1中的text文字做为判断,并且点击
        print "打开"

if __name__ == '__main__':
    unittest.main()

图二是app打开后的界面
这里写图片描述

紧接着我们可以写第二个方法模拟点击1秒跳过

#这里也是根据文字去判断的,当然这里也可以通过id去判断
 def test_b(self):
        # if self.check_controls_exists is 1:
        d(text="1s跳过").click()
        # d(resourceId="com.xxx.xxx:id/btn_main_login").click(),当然我们还可以通过id去查找控件点击
        print "--------------测试1"

如图三,我们还可以智能输入账号密码自动登陆之类的事情
这里写图片描述

 def test_e(self):
        print "--------------测试5"
        try:
            d(resourceId="com.xxx.xxx:id/et_main_phone").set_text("18******45")
            d(text="下一步").click()
        except Exception, e:
            print u"Error: 登陆模块有问题\n", e

当然只知道这些我们基本上可以写一个自动化测试的代码了

还有一些其他的方法

#这个方法是检查xxxid的控件的文字是不是等于xxx
 def check_ainb(self, resourceid, b):
        if d(resourceId=resourceid).info.get("text") in b:
            return 1
        else:
            return 0
  # 判断按钮是否置灰 & text & clickable
    def check_controls_click_text(self, controls_text):
        if d(text=controls_text).info.get("clickable") is True:

            return 1
        else:
            print 0
            return 0
 # 判断控件是否存在 & text
    def check_controls_exists(self, controls_text):
        if d(text=controls_text).exists:
            return 1
        else:
            return 0

欢迎各位亲自去试试

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值