selenium-项目实战-4

怎甘沉沦 提交于 2019-11-30 03:04:38

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"])

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!