Python+uiautomator2手机UI自动化测试实战 -- 3. 实战演习demo

在工作中,最重要的就是工作的效率,在做测试的时候,有的case需要每个版本的执行,时间长了测试人员肯定很烦,并且效率也不高,怎么解决呢?我们测试开发小组就运用Uiautomator2把繁琐的测试步骤自动化,做好之后,每次版本之前的测试,都可以运行下程序,看看手机玩会,等着出报告就好了,真是美滋滋。那就让我们开始吧~ 同样能够实现这个功能的还有appium,这个以后再写!

一. 测试用例

Python+uiautomator2手机UI自动化测试实战 -- 3. 实战演习demo_第1张图片

如上就是我们项目中的一些case,我们都可以运用U2把它做成自动化。

 

二. 用例自动化

前置条件就是我们打开了手机的开发者选项,其实打开开发者选项需要我们找到版本号连续点击8次,但是在U2中,暂时我还没找到如何能连续的点击8次,所以这个是前置条件。

我们选取的case是第18条作为例子,verify apps

# -*- coding:utf-8 -*-

import unittest
import time
import uiautomator2 as u2
import uiautomator2.ext.htmlreport as htmlreport


class Verify_Apps(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.d = u2.connect('Y9MRSOSK8STWNBJB')
        hrp = htmlreport.HTMLReport(cls.d, 'report')
        hrp.patch_click()
        cls.d.make_toast('测试开始', 3)

    @classmethod
    def tearDownClass(cls):
        cls.d.make_toast('测试结束', 3)

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test_Verify_APPS(self):
        """
        Verify apps
        :return:
        """
        self.d(resourceId="com.android.launcher3:id/all_apps_handle").click()
        time.sleep(2)
        self.d(scrollable=True).scroll.toEnd()
        time.sleep(1)
        self.d(text='Settings').click()
        time.sleep(2)
        self.d(scrollable=True).scroll.toEnd()
        self.d(text='More settings').click()
        self.d(text='Developer options').click()
        self.d(scrollable=True).scroll.to(text=u"Verify apps over USB")
        self.d.exists(resourceId="android:id/switch_widget", text=u"ON")
        self.d(resourceId="android:id/switch_widget", text=u"ON").info
        print(self.d.info)
        try:
            assert self.d(resourceId="android:id/switch_widget", text=u"ON").exists
            print('Test Pass, "通过USB验证应用”选项默认为打开')
        except Exception as e:
            print('Test Fail, “通过USB验证应用”没有打开')

if __name__ == '__main__':
    unittest.main()
  

运行上面的例子,得到如下结果:

Python+uiautomator2手机UI自动化测试实战 -- 3. 实战演习demo_第2张图片

你可能感兴趣的:(Python+uiautomator2手机UI自动化测试实战 -- 3. 实战演习demo)