gpt4 book ai didi

python - selenium.common.exceptions.WebDriverException : Message: no such session while executing testcases through Python unittest module

转载 作者:行者123 更新时间:2023-12-01 09:24:19 27 4
gpt4 key购买 nike

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:\Learning\chromedriver.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)

Traceback (most recent call last): File "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py", line 37, in test_home driver.implicitly_wait(2000) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 895, in implicitly_wait 'ms': float(time_to_wait) * 1000}) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 314, in execute self.error_handler.check_response(response) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: no such session (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

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

错误:test_home(kenZen.KenLogin.KenLogin)

Traceback (most recent call last): File "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py", line 60, in tearDown driver.close() File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 681, in close self.execute(Command.CLOSE) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 314, in execute self.error_handler.check_response(response) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: no such session (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

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

错误:test_login(kenZen.KenLogin.KenLogin)

Traceback (most recent call last): File "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py", line 21, in test_login driver.implicitly_wait(2000) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 895, in implicitly_wait 'ms': float(time_to_wait) * 1000}) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 314, in execute self.error_handler.check_response(response) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: no such session (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

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

错误:test_login(kenZen.KenLogin.KenLogin)

Traceback (most recent call last): File "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py", line 60, in tearDown driver.close() File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 681, in close self.execute(Command.CLOSE) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 314, in execute self.error_handler.check_response(response) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: no such session (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

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

错误:test_newteam(kenZen.KenLogin.KenLogin)

Traceback (most recent call last): File "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py", line 46, in test_newteam addteam = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div/div[1]/ul[2]/li/button") File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 387, in 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", line 957, in find_element 'value': value})['value'] File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 314, in execute self.error_handler.check_response(response) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: no such session (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

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

错误:test_newteam(kenZen.KenLogin.KenLogin)

Traceback (most recent call last): File "E:\Learning\Workplace\kenZen\kenZen\KenLogin.py", line 60, in tearDown driver.close() File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 681, in close self.execute(Command.CLOSE) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 314, in execute self.error_handler.check_response(response) File "C:\Users\Pardeep\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: no such session (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.14393 x86_64)

----------------------------------------------------------------------
Ran 4 tests in 7.928s

FAILED (errors=6)

最佳答案

Python 合作时和 unittest您需要注意以下事项:

  • def setUp(self):setUp()是初始化的一部分,此方法将在每个测试函数之前调用您将在这个测试用例类中编写。
  • maximize_window():不要使用 maximize_window(),而是使用 chrome.options 最大化浏览器窗口的类。
  • implicitly_wait():Implicit Wait一旦设置,隐式等待就会在WebDriver对象实例的生命周期内设置。
  • 始终在 tearDown(){} 方法中调用 driver.quit() 来关闭和销毁 WebDriverWeb Client 优雅地实例化。
  • 这是您自己的代码块,并进行了上述细微调整:

    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:\Utility\BrowserDrivers\chromedriver.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:\Utility\BrowserDrivers\chromedriver.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
<小时/>

引用文献

关于python - selenium.common.exceptions.WebDriverException : Message: no such session while executing testcases through Python unittest module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50560189/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com