使用Selenium執行所有用例的時候瀏覽器只打開一次,所有用例執行完以后關閉瀏覽器



from selenium import webdriver
import unittest
import time


# 定義driver的局部作用域,不在setUp內部,這種方式保證了瀏覽器只打開一次,所有用例執行完以后執行tearDownModule方法關閉瀏覽器

class Setting:
    driver = None
    url = None


def setUpModule():
    Setting.driver = webdriver.Chrome()
    Setting.driver.maximize_window()
    Setting.driver.implicitly_wait(10)
    Setting.url = "https://XXXXXXXXX.yyyyyyy.cn/"


def tearDownModule():
    Setting.driver.quit()


class MyTest(unittest.TestCase):

    def login(self):
        Setting.driver.get(Setting.url)
        Setting.driver.find_element_by_id('telphone').send_keys('15936558246')
        Setting.driver.find_element_by_id('password').send_keys('123456')
        Setting.driver.find_element_by_id('submitBtn').click()
        time.sleep(16)

    def test01_login(self):
        '''登錄工作台'''
        self.login()
        title = Setting.driver.title
        print(title)
        self.assertEqual(title, "名字來一個")
        time.sleep(10)

    def test02_developer(self):
        '''進入開發者模式'''

        Setting.driver.find_element_by_xpath('//*[@id="root"]/div/header/div/ul/li[4]').click()
        time.sleep(5)
        print('第1個', Setting.driver.current_url)
        self.assertIn(Setting.driver.current_url,
                      'https://XXXXXXXXX.yyyyyyy.cn/?tenantId=e6f54b6f-7547-46a5-b900-986a77986503&resourceGroupId=286c67f1-28c5-4000-ba31-97fbda2eb6ae&mode=developer')

    def test03_user(self):
        '''進入用戶模式'''

        Setting.driver.find_element_by_xpath('//*[@id="root"]/div/header/div/ul/li[4]').click()
        time.sleep(1)
        Setting.driver.find_element_by_xpath('//*[@id="root"]/div/header/div/ul/li[2]').click()
        time.sleep(5)
        print('第2個', Setting.driver.current_url)
        self.assertIn(Setting.driver.current_url,
                      'https://XXXXXXXXX.yyyyyyy.cn/?tenantId=e6f54b6f-7547-46a5-b900-986a77986503&resourceGroupId=286c67f1-28c5-4000-ba31-97fbda2eb6ae&mode=user')


if __name__ == "__main__":
    unittest.main()



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM