我們開始使用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
歡迎各位親自去試試