selenium - 用例失败后截图 - 常见问题(打开了多个浏览器页面)

Posted 小虫虫的大梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium - 用例失败后截图 - 常见问题(打开了多个浏览器页面)相关的知识,希望对你有一定的参考价值。

修改前的代码,运行时会打开多个浏览器页面(因为运行一次webdriver.Chrome(),就会打开一个页面)

修改后的代码,将webdriver.Chrome()放在配置文件的全局变量driver中,使用时import即可

 

1. 修改前代码:

test_base.py

 

test_baidu.py

 

 

2. 修改后代码:

 conf.py

from selenium import webdriver
driver = webdriver.Chrome()   # 定义一个全局变量,使用时import即可(防止运行时打开多个浏览器页面)

test_base.py

....
from conf.conf import driver  # 引入全局变量driver


class MyTestBaidu(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.driver = driver   # 将全局变量driver赋值给cls.driver
        cls.driver.maximize_window()
        cls.driver.implicitly_wait(10)
        cls.base_url = \'http://www.baidu.com/\'
        cls.page = BaiduPage(cls.driver)
....

test_baidu.py

....
from conf.conf import driver   # 引入全局变量driver


class TestSearch(MyTestBaidu):

    @Screen(driver)    # 使用全局变量driver
    def test_search_1(self):
        self.driver.get(self.base_url)
        self.page.search_input.send_keys(\'python\')
        self.page.search_button.click()
        time.sleep(2)
        self.assertEqual(self.driver.title, \'python_百度搜索1\')
        time.sleep(2)
....

 

 

 

   

 

以上是关于selenium - 用例失败后截图 - 常见问题(打开了多个浏览器页面)的主要内容,如果未能解决你的问题,请参考以下文章

python+selenium自动化软件测试:装饰器之用例失败后截图

Selenium2+python自动化67-用例失败自动截图

Selenium2+python自动化67-用例失败自动截图转载

Selenium2+python自动化60-异常后截图(screenshot)

Selenium2+python自动化60-异常后截图(screenshot)

Selenium2+python自动化60-异常后截图(screenshot)转载