【发布时间】:2017-11-02 21:16:12
【问题描述】:
我遇到了一个问题,即我的所有测试在单独运行时都能正常运行。但是,当我尝试运行文件中的所有测试时,我收到错误消息:尝试在未建立连接的情况下运行命令。 我知道这些测试是有效的,因为它们是单独运行的,但我需要能够运行所有测试而不是一个一个地运行它们。我的代码目前如下所示:
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os
import time
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
gecko = os.path.normpath(os.path.join(os.path.dirname(__file__), 'geckodriver'))
binary = FirefoxBinary('C:\Program Files (x86)\Mozilla Firefox\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path=gecko+'.exe')
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = driver
def test_business_excellence_opens(self):
driver.get("http://url.network.com")
self.assertIn("Page Title", driver.title)
def test_home_links(self):
driver.find_element_by_id('webapps').click()
self.assertTrue('SPT facilitates the cultural change' in self.driver.page_source)
time.sleep(1)
driver.find_element_by_id('complexity').click()
self.assertTrue('Thank you again' in self.driver.page_source)
time.sleep(1)
def test_contact_page(self):
driver.get("http://url.network.com/Home/Contact")
time.sleep(2)
driver.find_element_by_id('name').send_keys('name')
driver.find_element_by_id('ID').send_keys('123456')
driver.find_element_by_id('email').send_keys('email@email.com')
driver.find_element_by_id('message').send_keys('Unit testing form')
driver.find_elements_by_css_selector("button[type='submit']")[0].click()
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
为了自己运行它们,我在函数顶部添加了 driver=self.driver 和 driver.get("url.network.com")
【问题讨论】:
标签: python unit-testing selenium-webdriver python-unittest