Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在不同情况下使用相同的浏览器会话_Python_Selenium - Fatal编程技术网

Python 在不同情况下使用相同的浏览器会话

Python 在不同情况下使用相同的浏览器会话,python,selenium,Python,Selenium,在下面的代码中,我试图在不同的测试用例中使用相同的浏览器会话,但是在运行它之后,我发现为每个测试用例打开了两个不同的浏览器会话。请指导我解决此问题: driver1 = webdriver.Chrome( executable_path="C:\\Program Files (x86)\\chromedriver.exe") class Test_Trials(unittest.TestCase): def test_1(self): driv

在下面的代码中,我试图在不同的测试用例中使用相同的浏览器会话,但是在运行它之后,我发现为每个测试用例打开了两个不同的浏览器会话。请指导我解决此问题:

driver1 = webdriver.Chrome(
            executable_path="C:\\Program Files (x86)\\chromedriver.exe")

class Test_Trials(unittest.TestCase):

    def test_1(self):
        driver1.set_page_load_timeout(20)
        driver1.get("http://192.168.221.238:8180/tnp/")
        driver1.maximize_window()

    def test_2(self):
        driver1.find_element_by_id("j_username").send_keys("admin")
        driver1.find_element_by_name("j_password").send_keys("admin1001")
        driver1.find_element_by_class_name("gwt-Button").click()
        driver1.set_page_load_timeout(20)

尝试在模块设置中使用pytest,在类执行之前初始化驱动程序:

class Test_Trials(unittest.TestCase):

  def setup_module(module):
      driver1 = webdriver.Chrome(
          executable_path="C:\\Program Files (x86)\\chromedriver.exe")
或类方法:

 @classmethod
 def setup_class(cls):
      driver1 = webdriver.Chrome(
          executable_path="C:\\Program Files (x86)\\chromedriver.exe")

完整文档:

尝试在类内声明和初始化
driver1
。或者,只在类中声明它(使用
None
初始化),然后在
setupClass
方法中初始化它,如下所示:

@classmethod
def setUpClass(cls):
    driver1 = webdriver.Chrome(
        executable_path="C:\\Program Files (x86)\\chromedriver.exe")

要使用同一个会话,您需要添加“设置”方法,该方法能够通过cookie或本地存储进行登录(这取决于它在应用程序中的实现情况)。