UI自动化测试01

扫描二维码加微信分享资料

环境:使用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)
发布了72 篇原创文章 · 获赞 34 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/shilei123456789666/article/details/95052674