You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Below is my test, when executed locally (Ubuntu22.04) this works fine but when I try to execute the same from Jenkins throwing below issue.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
.venv/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py:81: in init
super().init(
.venv/lib/python3.10/site-packages/selenium/webdriver/chromium/webdriver.py:106: in init
super().init(
.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:288: in init
self.start_session(capabilities, browser_profile)
.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:381: in start_session
response = self.execute(Command.NEW_SESSION, parameters)
.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:444: in execute
self.error_handler.check_response(response)
def check_response(self, response: Dict[str, Any]) -> None:
"""
Checks that a JSON response from the WebDriver does not have an error.
:Args:
- response - The JSON response from the WebDriver server as a dictionary
object.
:Raises: If the response contains an error message.
"""
status = response.get("status", None)
if not status or status == ErrorCode.SUCCESS:
return
value = None
message = response.get("message", "")
screen: str = response.get("screen", "")
stacktrace = None
if isinstance(status, int):
value_json = response.get("value", None)
if value_json and isinstance(value_json, str):
import json
try:
value = json.loads(value_json)
if len(value.keys()) == 1:
value = value["value"]
status = value.get("error", None)
if not status:
status = value.get("status", ErrorCode.UNKNOWN_ERROR)
message = value.get("value") or value.get("message")
if not isinstance(message, str):
value = message
message = message.get("message")
else:
message = value.get("message", None)
except ValueError:
pass
exception_class: Type[WebDriverException]
if status in ErrorCode.NO_SUCH_ELEMENT:
exception_class = NoSuchElementException
elif status in ErrorCode.NO_SUCH_FRAME:
exception_class = NoSuchFrameException
elif status in ErrorCode.NO_SUCH_SHADOW_ROOT:
exception_class = NoSuchShadowRootException
elif status in ErrorCode.NO_SUCH_WINDOW:
exception_class = NoSuchWindowException
elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
exception_class = StaleElementReferenceException
elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
exception_class = ElementNotVisibleException
elif status in ErrorCode.INVALID_ELEMENT_STATE:
exception_class = InvalidElementStateException
elif (
status in ErrorCode.INVALID_SELECTOR
or status in ErrorCode.INVALID_XPATH_SELECTOR
or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER
):
exception_class = InvalidSelectorException
elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
exception_class = ElementNotSelectableException
elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
exception_class = ElementNotInteractableException
elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
exception_class = InvalidCookieDomainException
elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
exception_class = UnableToSetCookieException
elif status in ErrorCode.TIMEOUT:
exception_class = TimeoutException
elif status in ErrorCode.SCRIPT_TIMEOUT:
exception_class = TimeoutException
elif status in ErrorCode.UNKNOWN_ERROR:
exception_class = WebDriverException
elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
exception_class = UnexpectedAlertPresentException
elif status in ErrorCode.NO_ALERT_OPEN:
exception_class = NoAlertPresentException
elif status in ErrorCode.IME_NOT_AVAILABLE:
exception_class = ImeNotAvailableException
elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
exception_class = ImeActivationFailedException
elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
exception_class = MoveTargetOutOfBoundsException
elif status in ErrorCode.JAVASCRIPT_ERROR:
exception_class = JavascriptException
elif status in ErrorCode.SESSION_NOT_CREATED:
exception_class = SessionNotCreatedException
elif status in ErrorCode.INVALID_ARGUMENT:
exception_class = InvalidArgumentException
elif status in ErrorCode.NO_SUCH_COOKIE:
exception_class = NoSuchCookieException
elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
exception_class = ScreenshotException
elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
exception_class = ElementClickInterceptedException
elif status in ErrorCode.INSECURE_CERTIFICATE:
exception_class = InsecureCertificateException
elif status in ErrorCode.INVALID_COORDINATES:
exception_class = InvalidCoordinatesException
elif status in ErrorCode.INVALID_SESSION_ID:
exception_class = InvalidSessionIdException
elif status in ErrorCode.UNKNOWN_METHOD:
exception_class = UnknownMethodException
else:
exception_class = WebDriverException
if not value:
value = response["value"]
if isinstance(value, str):
raise exception_class(value)
if message == "" and "message" in value:
message = value["message"]
screen = None # type: ignore[assignment]
if "screen" in value:
screen = value["screen"]
stacktrace = None
st_value = value.get("stackTrace") or value.get("stacktrace")
if st_value:
if isinstance(st_value, str):
stacktrace = st_value.split("\n")
else:
stacktrace = []
try:
for frame in st_value:
line = frame.get("lineNumber", "")
file = frame.get("fileName", "<anonymous>")
if line:
file = f"{file}:{line}"
meth = frame.get("methodName", "<anonymous>")
if "className" in frame:
meth = "{}.{}".format(frame["className"], meth)
msg = " at %s (%s)"
msg = msg % (meth, file)
stacktrace.append(msg)
except TypeError:
pass
if exception_class == UnexpectedAlertPresentException:
alert_text = None
if "data" in value:
alert_text = value["data"].get("text")
elif "alert" in value:
alert_text = value["alert"].get("text")
raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here
E selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
E (unknown error: DevToolsActivePort file doesn't exist)
E (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
E Stacktrace:
E #0 0x559ac4da62a3
E #1 0x559ac4b64f77
E #2 0x559ac4b8d5f7
E #3 0x559ac4b897d0
E #4 0x559ac4bca0b7
E #5 0x559ac4bc9a5f
E #6 0x559ac4bc1903
E #7 0x559ac4b94ece
E #8 0x559ac4b95fde
E #9 0x559ac4df663e
E #10 0x559ac4df9b79
E #11 0x559ac4ddc89e
E #12 0x559ac4dfaa83
E #13 0x559ac4dcf505
E #14 0x559ac4e1bca8
E #15 0x559ac4e1be36
E #16 0x559ac4e37333
E #17 0x7f1fe7db3b43
.venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py:249: WebDriverException
=========================== short test summary info ============================
FAILED tests/test_google_search.py::test_google_search - selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
The text was updated successfully, but these errors were encountered:
Below is my test, when executed locally (Ubuntu22.04) this works fine but when I try to execute the same from Jenkins throwing below issue.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
def test_google_search():
'''Executing the test_google_search'''
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.maximize_window()
driver.get("http://www.google.com")
driver.find_element(By.NAME , "q").send_keys("brahmakothapalli.hashnode.com", Keys.ENTER)
print(driver.title)
print("Execution completed :: test_google_search")
driver.quit()
Issue:
def test_google_search():
'''Executing the test_google_search'''
srvc = Service("/usr/bin/chromedriver")
chrome_options = webdriver.ChromeOptions()
# chrome_options.add_argument('--headless')
tests/test_google_search.py:15:
.venv/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py:81: in init
super().init(
.venv/lib/python3.10/site-packages/selenium/webdriver/chromium/webdriver.py:106: in init
super().init(
.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:288: in init
self.start_session(capabilities, browser_profile)
.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:381: in start_session
response = self.execute(Command.NEW_SESSION, parameters)
.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:444: in execute
self.error_handler.check_response(response)
self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f4024718790>
response = {'status': 500, 'value': '{"value":{"error":"unknown error","message":"unknown error: Chrome failed to start: exited a...\n#15 0x559ac4e1be36 \u003Cunknown>\n#16 0x559ac4e37333 \u003Cunknown>\n#17 0x7f1fe7db3b43 \u003Cunknown>\n"}}'}
E selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
E (unknown error: DevToolsActivePort file doesn't exist)
E (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
E Stacktrace:
E #0 0x559ac4da62a3
E #1 0x559ac4b64f77
E #2 0x559ac4b8d5f7
E #3 0x559ac4b897d0
E #4 0x559ac4bca0b7
E #5 0x559ac4bc9a5f
E #6 0x559ac4bc1903
E #7 0x559ac4b94ece
E #8 0x559ac4b95fde
E #9 0x559ac4df663e
E #10 0x559ac4df9b79
E #11 0x559ac4ddc89e
E #12 0x559ac4dfaa83
E #13 0x559ac4dcf505
E #14 0x559ac4e1bca8
E #15 0x559ac4e1be36
E #16 0x559ac4e37333
E #17 0x7f1fe7db3b43
.venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py:249: WebDriverException
=========================== short test summary info ============================
FAILED tests/test_google_search.py::test_google_search - selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
The text was updated successfully, but these errors were encountered: