【问题标题】:Django test using Selenium package errorDjango 测试使用 Selenium 包错误
【发布时间】:2018-06-12 06:37:07
【问题描述】:

我想使用 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 firefox geckodriver


    【解决方案1】:

    正如您所看到的错误:

    TypeError: environment can only contain strings
    

    行内:

    self.driver = webdriver.Firefox()
    

    这实质上意味着在更新环境变量中的路径时存在一些配置错误。要抑制这种情况,您可以提供带有 geckodriver 二进制位置的参数,如下所示:

    self.driver = webdriver.Firefox(executable_path=r'C:\path\to\geckodriver.exe')
    

    【讨论】:

    • 是一些错误,不需要更新TypeError: environment can only contain strings
    猜你喜欢
    • 2012-10-25
    • 2016-08-05
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 2013-07-16
    • 2020-03-14
    相关资源
    最近更新 更多