我们开始使用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
欢迎各位亲自去试试