您的位置:首页 > 编程语言 > Python开发

[置顶] python 自动化测试Android应用

2018-01-19 14:32 211 查看
我们开始使用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 "-------------
4000
-测试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


欢迎各位亲自去试试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: