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

歡迎各位親自去試試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章