繁体   English   中英

Python-Selenium-Webdriver

[英]Python-Selenium-Webdriver

我的webdriver有一个小问题。我的机器运行Windows 7并成功安装python和硒webdriver。这是我运行此文件时出现的问题

from selenium import webdriver
import HTMLTestRunner
import unittest

class nexmo(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.get("http://wwww.facebook.com")

    def test_login(self):
        emailFieldId = "email"
        el = self.driver.find_element_by_id(emailFieldId)

    def tearDown(self):
        self.driver.quit()

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

测试给了我Ran 0,但Firefox无法启动并执行我告诉他的事情。

当我跑步

from selenium import webdriver

        self.driver = webdriver.Firefox()
        self.driver.get("http://wwww.facebook.com")
        emailFieldId = "email"
        el = self.driver.find_element_by_id(emailFieldId)
        self.driver.quit()

一切正常,浏览器启动并找到元素。

我将您的代码复制并粘贴到Eclipse中,然后运行良好。

您是不是偶然将这段代码重新键入SO而不是复制粘贴? 您的“ def test_login(self):”行中是否可能有错字,以至于unittest无法将其标识为测试用例? 这是我最好的猜测。 由于unittest首先检查您是否有任何单元测试(标识为带有前缀“ test_”的函数。当且仅当找到一个测试用例时,它才会运行setUp和tearDown。

另外,单元测试的重点是实际测试您是否收到了有效值。 我可以建议将其添加到“ def test_login”的末尾:

self.assertIsNotNone(el)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM