selenium.common.exceptions.WebDriverException: 消息:通过 Python


import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class KenLogin(unittest.TestCase):
def test_globe(self):
global driver
driver = webdriver.Chrome(executable_path='E:Learningchromedriver.exe')
driver.maximize_window()
def test_login(self):

driver.implicitly_wait(2000)
driver.get("http://qa.kenzen.com")
username = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[1]/input")
password = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[2]/input")
username.send_keys("pardeepk@clovity.com")
password.send_keys("Kenzen@123")
button = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/button")
button.send_keys(Keys.ENTER)
print("Login Pass")

def test_home(self):
driver.implicitly_wait(2000)
teamsummary = driver.find_element_by_id("teamsummary")
teamsummary.click()
print("Home Pass")
def test_newteam(self):
addteam = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div/div[1]/ul[2]/li/button")
addteam.click()
teamname = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div/div[2]/div/div[1]/input")#.send_keys(data)
admin = driver.find_element_by_id("administrator")
admin.send_keys("qa@kenzen.com,qa1@kenzen.com")
addteambutton = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div/div[2]/div/div[6]/button")
addteambutton.click()
print("Team Added")
def tearDown(self):
driver.close()

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

任何人都可以帮助我如何解决此问题吗?

我正在尝试运行超过 1 个函数并收到错误:

正在查找文件...做。 正在导入测试模块...做。

===

============================================================================

错误: test_home (kenZen.KenLogin.KenLogin)

回溯(最近一次调用):文件 "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py",第 37 行,在 test_home driver.implicitly_wait(2000) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 895路,implicitly_wait 'ms': float(time_to_wait) * 1000}) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py",第 314 行,执行中 self.error_handler.check_response(response) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", 242号线,check_response 引发exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException: 消息:没有这样的 会话(驱动程序信息:chromedriver = 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

===

============================================================================

错误: test_home (kenZen.KenLogin.KenLogin)

回溯(最近一次调用):文件 "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py",第 60 行,在 拆卸 driver.close() 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 681 行,关闭self.execute(Command.CLOSE) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 314 行,执行中 self.error_handler.check_response(response) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", 242号线,check_response 引发exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException: 消息:没有这样的 会话(驱动程序信息:chromedriver = 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

===

============================================================================

错误: test_login (kenZen.KenLogin.KenLogin)

回溯(最近一次调用):文件 "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py",第 21 行,在 test_logindriver.implicitly_wait(2000) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 895路,implicitly_wait 'ms': float(time_to_wait) * 1000}) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 314 行,执行中 self.error_handler.check_response(response) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", 242号线,check_response 引发exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException: 消息:没有这样的 会话(驱动程序信息:chromedriver = 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

===

============================================================================

错误: test_login (kenZen.KenLogin.KenLogin)

回溯(最近一次调用):文件 "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py",第 60 行,在 拆卸 driver.close() 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 681 行,关闭 self.execute(Command.CLOSE) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 314 行,执行中 self.error_handler.check_response(response) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", 242号线,check_response 引发exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException: 消息:没有这样的 会话(驱动程序信息:chromedriver = 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

===

============================================================================

错误: test_newteam (kenZen.KenLogin.KenLogin)

回溯(最近一次调用):文件 "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py",第 46 行,在 test_newteam addteam = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div/div[1]/ul[2]/li/button") 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 387路,find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 957路,find_element 'value': value})['value'] File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 314 行,执行中self.error_handler.check_response(response) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", 242号线,check_response 引发exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException: 消息:没有这样的 会话(驱动程序信息:chromedriver = 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

===

============================================================================

错误: test_newteam (kenZen.KenLogin.KenLogin)

回溯(最近一次调用):文件 "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py",第 60 行,在 拆卸 driver.close() 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 681 行,关闭self.execute(Command.CLOSE) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 314 行,执行中 self.error_handler.check_response(response) 文件 "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", 242号线,check_response 引发exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException: 消息:没有这样的 会话(驱动程序信息:chromedriver = 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

----------------------------------------------------------------------
Ran 4 tests in 7.928s
FAILED (errors=6)

在使用Pythonunittest时,您需要注意以下事项:

  • def setUp(self)setUp()是初始化的一部分,此方法将在您将在此测试用例类中编写的每个测试函数之前调用。
  • maximize_window():不要使用maximize_window()而是使用chrome.options类来最大化浏览器窗口。
  • implicitly_wait()隐式等待设置后,将为WebDriver对象实例的生存期设置隐式等待
  • 始终在方法中调用driver.quit()tearDown(){}以正常关闭和销毁WebDriverWeb 客户端实例。
  • 这是您自己的代码块,其中包含上述小调整:

    import unittest
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    class KenLogin(unittest.TestCase):
    def setUp(self):
    global driver
    options = Options()
    options.add_argument("start-maximized")
    options.add_argument("disable-infobars")
    options.add_argument("--disable-extensions")
    cap = DesiredCapabilities().CHROME
    cap = options.to_capabilities()
    self.driver = webdriver.Chrome(desired_capabilities=cap, executable_path=r'C:UtilityBrowserDriverschromedriver.exe')
    def test_login(self):
    self.driver.implicitly_wait(2000)
    self.driver.get("http://qa.kenzen.com")
    username = self.driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[1]/input")
    password = self.driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[2]/input")
    username.send_keys("pardeepk@clovity.com")
    password.send_keys("Kenzen@123")
    button = self.driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/button")
    button.send_keys(Keys.ENTER)
    print("Login Pass")
    def tearDown(self):
    self.driver.quit()
    
    if __name__ == "__main__":
    unittest.main()
    
  • 控制台输出:

    Login Pass
    .
    ----------------------------------------------------------------------
    Ran 1 test in 13.731s
    OK
    

根据您的注释更新,如果您希望只调用一次函数setup()您可以使用setUpClasstearDownClass类方法,这些方法在执行类时在测试之前和之后执行。

  • 这是您自己的代码块,其中包含上述小调整:

    import unittest
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    class KenLogin(unittest.TestCase):
    @classmethod
    def setUpClass(self):
    global driver
    options = Options()
    options.add_argument("start-maximized")
    options.add_argument("disable-infobars")
    options.add_argument("--disable-extensions")
    cap = DesiredCapabilities().CHROME
    cap = options.to_capabilities()
    self.driver = webdriver.Chrome(desired_capabilities=cap, executable_path=r'C:UtilityBrowserDriverschromedriver.exe')
    def test_login(self):
    self.driver.implicitly_wait(2000)
    self.driver.get("http://qa.kenzen.com")
    username = self.driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[1]/input")
    password = self.driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/div[2]/input")
    username.send_keys("pardeepk@clovity.com")
    password.send_keys("Kenzen@123")
    button = self.driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div[2]/form/button")
    button.send_keys(Keys.ENTER)
    print("ENTER Key pressed")
    def test_print_success(self):
    print("Login Pass")
    @classmethod
    def tearDownClass(self):
    self.driver.quit()
    
    if __name__ == "__main__":
    unittest.main()
    
  • 控制台输出:

    ENTER Key pressed
    .Login Pass
    .
    ----------------------------------------------------------------------
    Ran 2 tests in 18.187s
    OK
    

引用

  • 在这里你可以找到关于什么是 selenium Python 中的 unittest 的详细讨论?

  • 在这里,您可以找到有关多个测试的单元测试设置/拆卸的详细讨论

  • 在这里,您可以找到有关"运行设置">的详细讨论

    ,只需一次

相关内容

  • 没有找到相关文章

最新更新