ui自動化測試uiautomator01

 

掃描二維碼關注分享資料

 

環境:使用python2,unittest,UIautomator2

環境搭建:自己百度搜索或者參考鏈接:文檔:UIautomator.note
鏈接:http://note.youdao.com/noteshare?id=6d05a6d20c7fc2ab857b56749d8a77d3&sub=5D76D441A6994ABE95817D4BFB651CF7

測試用例腳本:

#coding:utf-8

import unittest
from count import Count
import uiautomator2 as u2
import uiautomator2.ext.htmlreport as htmlreport
import time
network_password = '12345678'
#創建測試類必現繼承 unittest。TestCase 類
#父類的東西子類繼承之後,self直接調用
class AddTest(unittest.TestCase):
    #測試方法必現以“test”開頭
    def setUp(self):
        self.d = u2.connect_usb('3af35e3e0211')
        hrp = htmlreport.HTMLReport(self.d, 'report')
        # hrp.patch_click()
        self.d.make_toast('測試開始', 3)

    def tearDown(self):
        self.d.make_toast('測試結束', 3)

    def test_01(self):
        # c = Count()
        self.d.app_start("com.baidu.spil.assistant")
        time.sleep(15)
        a = 3
        while a >= 0:
            a -= 1
            if not self.d(text="我的").exists:
                self.d.app_stop_all()
                time.sleep(8)
                self.d.app_start("com.baidu.spil.assistant")
                time.sleep(8)
        result = self.d(text="我的").wait(timeout=10)
        try:
            self.assertEqual(result,True)
            print("我的按鈕測試通過")
        except:
            print("沒有找到我的按鈕"+result)
    def test_02(self):
        self.d.app_start("com.baidu.spil.assistant")
        time.sleep(15)
        result = self.d(text='我的').click()
        a = 3
        while a >= 0:
            a -= 1
            if not self.d(text="我的").exists:
                self.d.app_stop_all()
                time.sleep(8)
                self.d.app_start("com.baidu.spil.assistant")
                time.sleep(8)
        result = self.d(text="創新實驗室").click()
        result = self.d(text="持續對話").click()
        result = self.d(className = "android.view.View", instance = 13).click()
        print result
        # d(className="android.view.View", instance=16).click()
        try:
            self.assertEqual(result, None)
            print("持續對話按鈕測試通過")
        except:
            print("沒有找到持續對話按鈕"+result)
    def test_03(self):
        '''
        圖片驗證方案還沒成功
        :return: 
        '''
        self.d.app_start("com.baidu.spil.assistant")
        time.sleep(15)
        result = self.d(text='我的').click()
        a = 2
        while a >= 0:
            a -= 1
            if not self.d(text="我的").exists:
                self.d.app_stop_all()
                time.sleep(8)
                self.d.app_start("com.baidu.spil.assistant")
                time.sleep(8)
        result = self.d(text="創新實驗室").click()
        time.sleep(3)
        result = self.d.screenshot("./photo/chuangxin.png")
        # result = self.d.screenshot("./photo/my.png")
        try:
            self.assertEqual(result,"./TruePhoto/chuangxin.png")
            print("圖片匹配,測試通過")
        except:
            print("圖片不匹配,請檢查該UI界面")
class SubTest(unittest.TestCase):
    def setUp(self):
        self.b = Count()
        print("start test")
    def tearDown(self):
        print("end test")
    def test_01(self):
        result = self.b.sub(4,5)
        self.assertEqual(result,-1)

def Suit():
    suit = unittest.TestSuite()
    # suit.addTest(AddTest("test_01"))
    # suit.addTest(AddTest("test_02"))
    suit.addTest(AddTest("test_03"))
    # suit.addTest(SubTest("test_02"))
    runner = unittest.TextTestRunner()
    runner.run(suit)
# def main():
#     AddTest()
if __name__ == '__main__':
    Suit()

運行測試用例腳本:

#coding:utf-8

import unittest
import HTMLTestRunnerCN
suit = unittest.defaultTestLoader.discover(
    start_dir="./test_case",
    pattern="test_*.py"
)
if __name__ == '__main__':
    fr = open('test1.html','wb')
    soundbox_device = 'VN1L1832100AY'
    runner = HTMLTestRunnerCN.HTMLTestRunner(
        stream=fr,
        title="自動化測試報告",
        description='詳情',
        tester="石磊",
        device=unicode(soundbox_device),
        # verbosity='2'
    )
    # runner = unittest.TextTestRunner()
    runner.run(suit)

 

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