FF + Jenkins: случайный selenium.common.exceptions.SessionNotCreatedException - PullRequest
0 голосов
/ 06 сентября 2018

ОС: Ubuntu 14, FF61, geckodriver 0.21.0, python2.7

Мой сценарий в основном выглядит как

display = Display(visible=0, size=(800, 600))
display.start()
browser = wd.Firefox()
try:
    browser.get(url)
    ui.WebDriverWait(browser, 10).until(lambda x: len(x.title) > 1)
except Exception as e:
    print str(e)
    browser.save_screenshot(img_folder + camid + ".png")
    print "get icon type error: " + url
browser.quit()

Используя Jenkins для случайного запуска нескольких сценариев в этом стиле (трудно сказать, какая именно частота), я получил исключения в "browser.save_screenshot" и "browser.quit ()" и "browser = wd.Firefox ()». Для меня это не имеет никакого смысла, потому что каждый из них может быть успешно выполнен. Должно быть что-то пошло не так, когда несколько скриптов работают вместе. Эти сценарии могут использовать одни и те же входные данные, но никогда не записывать в один и тот же файл. Или один сценарий может быть запущен дважды с разными входами.

Traceback (most recent call last):
File "orgDaily.py", line 30, in <module>
browser.save_screenshot(img_folder + camid + ".png")
File "/home/work/env/local/lib/python2.7/site- 
packages/selenium/webdriver/remote/webdriver.py", line 1031, in save_screenshot
return self.get_screenshot_as_file(filename)
File "/home/work/env/local/lib/python2.7/site- 
packages/selenium/webdriver/remote/webdriver.py", line 1008, in 
get_screenshot_as_file
png = self.get_screenshot_as_png()
File "/home/work/env/local/lib/python2.7/site- 
packages/selenium/webdriver/remote/webdriver.py", line 1040, in 
get_screenshot_as_png
return base64.b64decode(self.get_screenshot_as_base64().encode('ascii'))
File "/home/work/env/local/lib/python2.7/sitepackages/selenium/webdriver/remote/webdriver.py", line 1050, in get_screenshot_as_base64
return self.execute(Command.SCREENSHOT)['value']
 File "/home/work/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "/home/work/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace) selenium.common.exceptions.SessionNotCreatedException: Message: Tried to run command without establishing a connection

или

Traceback (most recent call last):
File "orgDaily.py", line 30, in <module>
output = xzharrow.main(query_file,folder)
File "/home/work/baidu/chengxin-qa/monitor/pilu/case/xzhHome/arrow/xzharrow.py", line 94, in main
browser = wd.Firefox()
File "/home/work/env/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 162, in __init__
keep_alive=True)
File "/home/work/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 154, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/home/work/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 243, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/work/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "/home/work/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status signal
...