我想使用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()
我不知道为什么,知道如何修复此错误?
答案 0 :(得分:0)
正如您所看到的错误:
self.driver = webdriver.Firefox()
在行中:
geckodriver
这实质上意味着在更新环境变量中的路径时会出现一些配置错误。要禁止您可以使用self.driver = webdriver.Firefox(executable_path=r'C:\path\to\geckodriver.exe')
二进制位置提供参数,如下所示:
{{1}}