from init_driver.Init_driver import init_driver from selenium.webdriver.support.wait import WebDriverWait import pytest # 需安装插件pytest-ordering/pytest-rerunfailures/pytest-htm # # 函数级别setup/teardown # class Test_ST: # def setup(self): # print(">>>setup") # def teardown(self): # print(">>>teardown") # def test_001(self): # assert True # def test_002(self): # assert False # # # 类级别setup/teardown # class Test_ST1: # def setup_class(self): # print(">>>setup_class") # def teardown_class(self): # print(">>>teardown") # def test_001(self): # assert True # def test_002(self): # assert False # 类级别练习 class Test_CT: # 开始 def setup_class(self): self.driver = init_driver() # 结束 def teardown_class(self): self.driver.quit() # 等待 def wait_element(self, xpa): return WebDriverWait(self.driver, 5, 0.5).until(lambda x: x.find_element_by_xpath(xpa)) # 业务一 @pytest.mark.run(order=1) # 设置优先级 def test_001(self): # 点击个人热点 self.wait_element("//*[contains(@text, '个人热点')]").click() # 点击流量控制 self.wait_element("//*[contains(@text, '流量控制')]").click() # 获取所有描述信息 el_list = self.driver.find_elements_by_id("android:id/message") data_list = [] for i in el_list: data_list.append(i.text) assert "WPA2" in data_list, "失败了..." # 业务二 @pytest.mark.run(order=2) # 设置优先级 def test_002(self): # 点击50M self.wait_element("//*[contains(@text, '50')]").click() # 获取所有描述信息 el_list = self.driver.find_elements_by_id("android:id/message") data_list = [] for i in el_list: data_list.append(i.text) assert "50" in data_list, "失败了..." # 执行 if __name__ == "__main__": pytest.main(["-s", "script9.py", "--html=./report.html"])
配置文件pytest.ini:
[pytest] # 命令行参数 addopts = -s -reruns 1 --html=./report/report.html # 测试路径 testpaths = ./scripts_test # 搜索文件名 python_files = script*.py # 搜索测试类名 python_classes = Test_* # 搜索测试方法名 python_functions = test_*