Error message when attempting to run Selenium using Firefox - eviltoast

Beginner learning Selenium WebDriver and here is my first attempt (in the pastebin link): https://pastebin.com/TC718eKi

OS: Ubuntu 23.04

IDE: intelliJ

Browser: FireFox

Dependencies: Selenium-Java (4.10.0)/ Selenium-API (4.10.0)/ TestNG (7.8.0)/ webdrivermanager (5.4.0)

But test failed with the following Error Message:

org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: Expected browser binary location, but unable to find binary in default location, no ‘moz:firefoxOptions.binary’ capability provided, and no binary flag set on the command line

  • 8rhn6t6s@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    Hi, I’m not that familiar in selenium in both java and ubuntu. Have you tried installing firefox using apt instead since I believe this is caused by your firefox being installed either via flatpak or snaps.

    • LemmyStartNow@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Firefox browser is the default browser that came with the ubuntu os. Been updating the version using snap though. A lot of the beginner material is suggesting to use chromedriver, I will eventually learn through that route, I’m just a bit stubborn when it comes to using the “not-so private” browser. Thanks for your response.

  • shiroininja@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    You need to install the Firefox-driver. That’s what selenium uses to control the browser. You either download it or get it from Apt.

    • LemmyStartNow@programming.devOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 year ago

      Is there more to the process? I downloaded firefox from both the webpage and through CLI and have them both moved to the ~/.local/bin directory(PATH) but still the error message appears to fail the test

  • redemon@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    It’s probably because Firefox is default as a snap package on Ubuntu. I fixed mine by creating a symlink to the snap geckodriver to a directory in my $PATH. So for example:

    ln -s /snap/bin/firefox.geckodriver ~/.local/bin

  • starman@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    It’s not a solution to your problem, but have you tried playwright instead of selenium? For me playwright is great, it works with .NET, Java, Python, JS and TS

    • LemmyStartNow@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I actually am highly interested in jumping on the Playwright bandwagon; been hearing about it for a while and am looking to get into it soon. I just want to take the humble route of learning the more common tool first since it is still widely recognized as one of the basic requirement for test automation positions. Plus I want to comprehend the challenges at the beginning of the journey to eventually have an easier time working with the simpler tools later on.