selenium-项目实战-4

1:pytest的conftest文件的编写

from selenium import webdriver
from config.url_config.choose_test_domain_name import choose_domain_name
import pytest
from common.logger import Logger
from test_page.login_page import LoginPage
from test_page.add_address_page import AddAddressPage
from test_page.address_manage_page import AddressManagePage
logger=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"])

 

posted @ 2019-09-19 14:01  Be_your_own_hero  阅读(352)  评论(0编辑  收藏  举报