selenium測試心得

Oui.發表於2020-10-31

1、登入測試用例和其他測試用例的驅動分開考慮

2、除登入測試用例外,其他用例實現瀏覽器複用技術

3、使用return返回一個新的頁面,引數返回driver

4、使用 def init(self, driver: WebDriver): 方便程式碼書寫

5、測試檔案中使用setup例項化主頁面

6、核心程式碼:

# 用於測試登入的首頁

class Index:
    def __init__(self):
        self._driver = webdriver.Chrome()
        self._driver.get('https://xdclass.net/#/index')

    def go_login(self):
        self._driver.find_element(By.CSS_SELECTOR, 'div.login > span:nth-child(2)').click()
        return Login(self._driver)
# 登入頁面類

class Login:
    def __init__(self, driver: WebDriver):
        self._driver = driver

    def go_register(self):
        self._driver.find_element(By.CSS_SELECTOR, '.f_r').click()
        return Register(self._driver)
# 使用瀏覽器複用技術的主頁類

class Main:
    def __init__(self):
        options = Options()
        options.debugger_address = "127.0.0.1:9888"
        self._driver = webdriver.Chrome(options=options)
        self._driver = webdriver.Chrome()
        self._driver.get('https://xdclass.net/#/index')

    def go_classCenter(self):
        self._driver.find_element(By.CSS_SELECTOR, 'div.m_navitems.f_l > ul > li:nth-child(2)').click()
        return ClassCenter(self._driver)
# 測試程式碼類

class TestRegister:
    def setup(self):
        self.index = Index()

    def test_register_from_index(self):
        self.index.go_login().go_register().register("moli", 'xsjhxsjkh')

    def test_register_from_login(self):
        self.index.go_register().register("moli", 'xsjhxsjkh')

相關文章