版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ricky_yangrui/article/details/81460848
在工作中,最重要的就是工作的效率,在做测试的时候,有的case需要每个版本的执行,时间长了测试人员肯定很烦,并且效率也不高,怎么解决呢?我们测试开发小组就运用Uiautomator2把繁琐的测试步骤自动化,做好之后,每次版本之前的测试,都可以运行下程序,看看手机玩会,等着出报告就好了,真是美滋滋。那就让我们开始吧~ 同样能够实现这个功能的还有appium,这个以后再写!
一. 测试用例
如上就是我们项目中的一些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()
运行上面的例子,得到如下结果: