Python 如何避免';状态';:500和"x27 ;;值';:';selenium webdriver quit()方法中的{quot;value";:{quot;error";:“会话未创建”}}?
我正在非公共网页上运行非常复杂的selenium测试。在大多数情况下,这些测试运行正常,但有时在Python 如何避免';状态';:500和"x27 ;;值';:';selenium webdriver quit()方法中的{quot;value";:{quot;error";:“会话未创建”}}?,python,selenium,selenium-webdriver,webdriver,Python,Selenium,Selenium Webdriver,Webdriver,我正在非公共网页上运行非常复杂的selenium测试。在大多数情况下,这些测试运行正常,但有时在webdriver.quit()方法中失败 下面是一个错误示例: bsp_usecase_tests/tools/selNG.py:299: in quit self.webdriver.quit() /usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py:187: in quit R
webdriver.quit()方法中失败
下面是一个错误示例:
bsp_usecase_tests/tools/selNG.py:299: in quit
self.webdriver.quit()
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py:187: in quit
RemoteWebDriver.quit(self)
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py:606: in quit
self.execute(Command.QUIT)
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py:311: in execute
self.error_handler.check_response(response)[0m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f091b065550>
response = {'status': 500, 'value': '{"value":{"error":"session not created","message":"Tried to run command without establishing...s::imp::thread::{{impl}}::new::thread_start\n at /checkout/src/libstd/sys/unix/thread.rs:84"}}'}
大约有1-2%的情况下会出现这种错误
在这里正确的行动是什么
- 捕捉错误并忽略它?我是说,测试已经开始了
- 一个循环试图再次退出
- 还有别的吗
停止客户端()
根据Selenium,在执行quit()
命令后调用Python API文档。可以重写此方法以定义自定义关闭行为
- 源代码:
def stop_client(self):
"""
Called after executing a quit command. This method may be overridden to define custom shutdown behavior.
"""
pass
此错误消息
bsp_usecase_tests/tools/selNG.py:299: in quit
self.webdriver.quit()
self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f091b065550>
response = {'status': 500, 'value': '{"value":{"error":"session not created","message":"Tried to run command without establishing...s::imp::thread::{{impl}}::new::thread_start\n
你在平行运行它们吗?您可以分享示例工作流吗?没有并行测试。对于单个测试,我创建了一个webdriver,然后将其关闭。我将稍微扩展一下描述…尝试在mydriver.stop\u client()
之前添加一个暂停,就像time.sleep(5)
将代码放在Try和except块下。有时,目标数据库和selenium运行的javascript没有响应。这是正常的事情。在过去的日子里,我会等待2秒钟,以确保页面已加载等。如果目标是在美国,而您在欧盟,则有时会出现正常延迟,如1秒或2秒,因此会出现此类错误。现在没有看到您的实时代码,这些就是我脑海中的主题。为什么要使用stop\u client
then))?
bsp_usecase_tests/tools/selNG.py:299: in quit
self.webdriver.quit()
self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f091b065550>
response = {'status': 500, 'value': '{"value":{"error":"session not created","message":"Tried to run command without establishing...s::imp::thread::{{impl}}::new::thread_start\n
mydriver = webdriver.Firefox(firefox_profile=profile, log_path=logfile)
...
do a single test here. Navigate to URL, login, click etc.
...
mydriver.quit()
mydriver.stop_client()