找到了很多关于这个问题的主题,但没有找到任何简单描述的问题解决方法,所以用这个问题创建新主题,也许会得到更好的答案。
我为 LoginTest 创建了测试用例,为LegalPersonSearchTest创建了测试用例。这两个测试用例都在单独的文件login.py和legalPersonSearch.py
from utils.utils import *
from selenium import webdriver
from locators.locators import Locators
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import unittest
from pages.loginPage import LoginPage
class LoginTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(10)
cls.driver.maximize_window()
cls.driver.get(URL)
def test_valid_login(self):
driver = self.driver
login = LoginPage(driver)
login.fill_login_form(adminUsername, adminPassword)
login.click_login_button()
if __name__ == '__main__':
unittest.main()
我认为在测试之间打开新浏览器的原因是在第二个文件中声明驱动程序。
from selenium import webdriver
import unittest
from pages.legalPersonSearchPage import LegalPersonSearchPage
class LegalPersonSearchTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
def test_valid_organization_search(self):
driver = self.driver
legal = LegalPersonSearchPage(driver)
legal.open_legal_person_search_page()
@classmethod
def tearDown(cls):
cls.driver.quit()
if __name__ == '__main__':
unittest.main()
如何修改浏览器只打开一次的LoginTest ,而不是在测试之间?
我需要修改它,因为登录后(这是测试的 1/2)是测试的第二部分。它将完成,然后浏览器关闭并打开新的并重新登录。
正如有人告诉我的那样,最佳实践是将登录测试部分排除在整个测试之外。