移动端的自动化基于类实现启动一次应用跑全部用例

1.unittest框架

class TestStringMethods(unittest.TestCase):
    def setUp(self) -> None:  # 每一条测试用例开始前执行
        print("setup")
 
    def tearDown(self) -> None:  # 每一条测试用例结束后执行
        print("teardown")
 
    @classmethod
    def setUpClass(cls) -> None:  # 此类的所有测试执行前执行一次
        print("setupcls")
 
    @classmethod
    def tearDownClass(cls) -> None:  # 此类的所有测试执行后执行一次
        print("teardowncls")

2.pytest框架

setup_class、teardown_class

该方法表示在类中执行测试用例前,只执行1次测试前置和测试后置

setup_method、teardown_method

该方法表示在类中每次执行测试用例前,测试前置和测试后置都会执行一次

setup_function、teardown_function

该方法表示在类外面执行用例过程中,每次都会执行前置和后置。

setup_module、teardown_module

该方法表示只能类外面执行用例过程中,只执行1次。相当于unittest中的setupclass和teardownclass方法

setup、teardown

先介绍第一个大家都比较熟悉的与unittest中的书写一直,这个可以在类中使用,也可以在类外进行使用。

该方法每条用例都会执行

本文就采用的pytest框架,基于类封装启动移动端应用进行用例测试

class driver_base_class():
@classmethod
def setup_class(cls)-> None:
cls.desired_caps = {
"appPackage": "plus.H5EA2E279",
"platformName": "Android",
"deviceName": "cb5c2f8f",
"appActivity": "io.dcloud.PandoraEntry",
"skipServerInstallation": "false"
}
with warnings.catch_warnings():
warnings.filterwarnings("ignore", category=DeprecationWarning)
cls.driver = webdriver.Remote('http://localhost:4723/wd/hub', cls.desired_caps) # 启动app
@classmethod
def teardown_class(cls)-> None:
cls.driver.quit()

在测试用例类中集成上面封装好的启动应用类的方法

class Test_login(driver_base_class):

       """编写测试用例""""

在终端使用 pytest -v test_login.py --alluredir=../reports 即在测试用例中启动测试用例即可

你可能感兴趣的:(auto,test(UI,API,app),移动端测试,自动化,服务器,运维)