import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def test_search_in_python_org(self):
driver = self.driver
driver.get("http://www.python.org")
self.assertIn("Python", driver.title)
elem = driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)
self.assertIn("Google", driver.title)
def tearDown(self):
self.driver.close()
if __name__=="__main__":
unittest.main()
大家好,这个警告让我知道出了什么问题
警告(来自警告模块): 文件“C:\ Python33 \ lib \ site-packages \ selenium-2.37.2-py3.3.egg \ selenium \ webdriver \ firefox \ firefox_binary.py”,第95行 而不是utils.is_connectable(self.profile.port): 资源警告:未公开
答案 0 :(得分:20)
这是一个已知的错误:
http://code.google.com/p/selenium/issues/detail?id=5923
虽然忽略它是安全的。如果你使用的是Python 3,你可以这样做:
unittest.main(warnings='ignore')
在Python 2中,您可以使用以下内容:
with warnings.catch_warnings(record=True):
unittest.main()
如果你原谅无耻的自我推销,我写的一本小书中有更多关于硒的信息,here。
答案 1 :(得分:6)
我用-W
标志运行我的测试:
python -W ignore -m unittest my_tests
或
python -W ignore -m unittest my_tests.MyIndividualTest
抑制ResourceWarning
但仍允许断言错误报告。
BTW我发现:
if __name__ == '__main__':
unittest.main(warnings='ignore')
当要运行每个测试时,在调用python my_tests.py
时有效,但此调用会阻止运行单个测试。
我无法弄清楚如何使用unittest.main(warnings='ignore')
而不会遇到错误,我将其归结为递归包含unittest
库。
(selenium==2.44.0
下的Python 3.4.2
)