1:pytest的conftest文件的编写
from selenium import webdriverfrom config.url_config.choose_test_domain_name import choose_domain_nameimport pytestfrom common.logger import Loggerfrom test_page.login_page import LoginPagefrom test_page.add_address_page import AddAddressPagefrom test_page.address_manage_page import AddressManagePagelogger=Logger().get_logger()@pytest.fixture()def login_driver(): driver=webdriver.Chrome() login_url=choose_domain_name()+"doctor/login.html" logger.info("测试请求的网址是{}".format(login_url)) driver.get(login_url) driver.maximize_window() yield driver driver.quit() logger.info("本次测试结束") logger.info("\n")@pytest.fixture()def personal_information_manage_driver(): driver=webdriver.Chrome() login_url=choose_domain_name()+"doctor/login.html" driver.get(login_url) driver.maximize_window() LoginPage(driver).unite_login() logger.info("登录网站成功") personal_information_manage_url=choose_domain_name()+"doctor/detail" logger.info("测试请求的网址是{}".format(personal_information_manage_url)) driver.get(personal_information_manage_url) yield driver driver.quit() logger.info("本次测试结束") logger.info("\n")@pytest.fixture(scope="class")def clinical_preference_driver(): driver = webdriver.Chrome() login_url = choose_domain_name() + "doctor/login.html" driver.get(login_url) driver.maximize_window() LoginPage(driver).unite_login() logger.info("登录网站成功") clinical_preference_url = choose_domain_name() + "doctor/preference" logger.info("测试请求的网址是{}".format(clinical_preference_url)) driver.get(clinical_preference_url) yield driver driver.quit() logger.info("本次测试结束") logger.info("\n")@pytest.fixture(scope="class")def doctor_qualification_driver(): driver = webdriver.Chrome() login_url = choose_domain_name() + "doctor/login.html" driver.get(login_url) driver.maximize_window() LoginPage(driver).unite_login() logger.info("登录网站成功") doctor_qualification_url = choose_domain_name() + "doctor/verify.html" logger.info("测试请求的网址是{}".format(doctor_qualification_url)) driver.get(doctor_qualification_url) yield driver driver.quit() logger.info("本次测试结束") logger.info("\n")@pytest.fixture(scope="class")def add_address_driver(): driver = webdriver.Chrome() login_url = choose_domain_name() + "doctor/login.html" driver.get(login_url) driver.maximize_window() LoginPage(driver).unite_login() logger.info("登录网站成功") add_address_url = choose_domain_name() + "home/doctor/address_add" logger.info("测试请求的网址是{}".format(add_address_url)) driver.get(add_address_url) yield driver driver.quit() logger.info("本次测试结束") logger.info("\n")@pytest.fixture(scope="class")def address_manage_driver(): driver = webdriver.Chrome() login_url = choose_domain_name() + "doctor/login.html" driver.get(login_url) driver.maximize_window() LoginPage(driver).unite_login() logger.info("登录网站成功") add_address_url = choose_domain_name() + "home/doctor/address_add" driver.get(add_address_url) AddAddressPage(driver).unite_add_address() driver.get(add_address_url) AddAddressPage(driver).unite_add_address() address_manage_url=choose_domain_name()+"home/doctor/address" logger.info("测试请求的网址是{}".format(address_manage_url)) driver.get(address_manage_url) yield driver AddressManagePage(driver).clear_address() driver.quit() logger.info("本次测试结束") logger.info("\n")@pytest.fixture()def jump_driver(): driver = webdriver.Chrome() login_url = choose_domain_name() + "doctor/login.html" driver.get(login_url) driver.maximize_window() LoginPage(driver).unite_login() logger.info("登录网站成功") logger.info("测试请求的网址是{}".format(login_url)) yield driver driver.quit() logger.info("本次测试结束") logger.info("\n")2:部分test_case附上
from test_page.address_manage_page import AddressManagePage import pytest from test_data.address_manage_data import accept_or_refuse_data,modify_address_data from common.logger import Logger logger=Logger().get_logger() @pytest.mark.usefixtures("address_manage_driver") class TestAddAdressManage: @pytest.mark.parametrize("data",accept_or_refuse_data) def test_delete_address(self,address_manage_driver,data): logger.info("{}用例开始测试".format(data["title"])) act =AddressManagePage(address_manage_driver).delete_address(data["value"]) assert act == True @pytest.mark.parametrize("data",modify_address_data) def test_modify_address(self,address_manage_driver,data): logger.info("{}用例开始测试".format(data["title"])) act=AddressManagePage(address_manage_driver).modify_address(name=data["name"],detail_address=data["detail_address"], mobile=data["mobile"],post_code=data["post_code"]) assert act==data["exp_value"] if __name__ == '__main__': pytest.main(["-s,"])
from test_page.login_page import LoginPage from test_data.login_data import login_data_list import pytest from common.logger import Logger logger=Logger().get_logger() @pytest.mark.usefixtures("login_driver") class TestLogin: @pytest.mark.parametrize("data",login_data_list) def test_login(self,login_driver,data): logger.info("{}用例开始测试".format(data["title"])) act=LoginPage(login_driver).back_login_text(data["username_value"],data["password_value"]) assert act ==data["exp_value"] if __name__ == '__main__': pytest.main(["-v","login_test.py"])