问题
在文章《Selenium Docker的Grid方式进行自动化测试》,使用Python脚本来完成一些测试或者是运维工作。如果这种过程正常结束一起都没有什么问题,如果中途遇到异常,会导致Hub进行需要频繁重启,即:
docker restart selenium-hub
原因
出现异常,导致测试程序和hub之间没有正常推出,导致hub以为这个测试程序没有结束,即没有运行如下脚本:
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'browserName': 'chrome'}
)
driver.quit()
即出现运行异常后,driver.quit()
部分没有正常推出导致hub一直等待状态,即出现了1 requests waiting for a slot to be free.问题
解决
Python3
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'browserName': 'chrome'}
)
try:
# 你像做的事情...
finally:
driver.quit()
print("end...")
使用Python的try finally语句保证测试程序正常退出。