Django测试使用Selenium包错误

问题描述 投票:2回答:1

我想用Selenium包创建一些Django测试。

以下是简单的测试:

import unittest
from selenium import webdriver

class TestSignup(unittest.TestCase):

def setUp(self):
    self.driver = webdriver.Firefox()

def test_signup_fire(self):
    self.driver.get("http://localhost:8000/add/")
    self.driver.find_element_by_id('id_title').send_keys("test title")
    self.driver.find_element_by_id('id_body').send_keys("test body")
    self.driver.find_element_by_id('submit').click()
    self.assertIn("http://localhost:8000/", self.driver.current_url)

def tearDown(self):
    self.driver.quit

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

但是我接受了这个错误:

TypeError: environment can only contain strings

在这一行:

self.driver = webdriver.Firefox()

我不知道为什么,任何想法如何解决这个错误?

python django selenium selenium-webdriver
1个回答
0
投票

正如您所看到的错误:

TypeError: environment can only contain strings

在线:

self.driver = webdriver.Firefox()

这实质上意味着在更新环境变量中的路径时会出现一些配置错误。要禁止您可以使用geckodriver二进制位置提供参数,如下所示:

self.driver = webdriver.Firefox(executable_path=r'C:\path\to\geckodriver.exe')
© www.soinside.com 2019 - 2024. All rights reserved.