Selenium with Java, IntelliJ and Gradle - The path to the driver executable must be set by the...












-1















I'm trying to run my test (cucumber, java, intelliJ), but I get this exception thread:



java.lang.IllegalStateException: The path to the driver executable must be 
set by the webdriver.gecko.driver system property; for more information, see
https://github.com/mozilla/geckodriver. The latest version can be downloaded
from https://github.com/mozilla/geckodriver/releases


I am using Selenium 3.141.5 and Mozilla 63.0.1.



I try to lear with the book: "The Cucumber for Java Book"
Some explanations are not about the current Versions, thus I get some troubles...
But I hope you can help me



Here is my build.gradle:



plugins {
id 'java'
}

group 'cucumber_cash_withdrawal'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
mavenCentral()
}

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile 'io.cucumber:cucumber-java:2.4.0'
testCompile 'io.cucumber:cucumber-junit:2.4.0'
testCompile group: 'info.cukes', name: 'cucumber-picocontainer', version: '1.2.5'
implementation group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.12.v20180830'
implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.5'
}

configurations {
cucumberRuntime {
extendsFrom testRuntime
}
}

task cucumber() {
dependsOn assemble, compileTestJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
}
}
}

apply plugin: 'java'

task runApp(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'cash_withdrawal.AtmServer'
}









share|improve this question























  • Where have you put geckodriver ? waht is the location?

    – Manoj Kengudelu
    Nov 14 '18 at 14:45











  • C:Users..Documentsgeckodriver-v0.23.0-win64geckodriver.exe And it is locate in the system variable PATH.

    – Deviasa
    Nov 14 '18 at 14:52
















-1















I'm trying to run my test (cucumber, java, intelliJ), but I get this exception thread:



java.lang.IllegalStateException: The path to the driver executable must be 
set by the webdriver.gecko.driver system property; for more information, see
https://github.com/mozilla/geckodriver. The latest version can be downloaded
from https://github.com/mozilla/geckodriver/releases


I am using Selenium 3.141.5 and Mozilla 63.0.1.



I try to lear with the book: "The Cucumber for Java Book"
Some explanations are not about the current Versions, thus I get some troubles...
But I hope you can help me



Here is my build.gradle:



plugins {
id 'java'
}

group 'cucumber_cash_withdrawal'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
mavenCentral()
}

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile 'io.cucumber:cucumber-java:2.4.0'
testCompile 'io.cucumber:cucumber-junit:2.4.0'
testCompile group: 'info.cukes', name: 'cucumber-picocontainer', version: '1.2.5'
implementation group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.12.v20180830'
implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.5'
}

configurations {
cucumberRuntime {
extendsFrom testRuntime
}
}

task cucumber() {
dependsOn assemble, compileTestJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
}
}
}

apply plugin: 'java'

task runApp(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'cash_withdrawal.AtmServer'
}









share|improve this question























  • Where have you put geckodriver ? waht is the location?

    – Manoj Kengudelu
    Nov 14 '18 at 14:45











  • C:Users..Documentsgeckodriver-v0.23.0-win64geckodriver.exe And it is locate in the system variable PATH.

    – Deviasa
    Nov 14 '18 at 14:52














-1












-1








-1








I'm trying to run my test (cucumber, java, intelliJ), but I get this exception thread:



java.lang.IllegalStateException: The path to the driver executable must be 
set by the webdriver.gecko.driver system property; for more information, see
https://github.com/mozilla/geckodriver. The latest version can be downloaded
from https://github.com/mozilla/geckodriver/releases


I am using Selenium 3.141.5 and Mozilla 63.0.1.



I try to lear with the book: "The Cucumber for Java Book"
Some explanations are not about the current Versions, thus I get some troubles...
But I hope you can help me



Here is my build.gradle:



plugins {
id 'java'
}

group 'cucumber_cash_withdrawal'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
mavenCentral()
}

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile 'io.cucumber:cucumber-java:2.4.0'
testCompile 'io.cucumber:cucumber-junit:2.4.0'
testCompile group: 'info.cukes', name: 'cucumber-picocontainer', version: '1.2.5'
implementation group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.12.v20180830'
implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.5'
}

configurations {
cucumberRuntime {
extendsFrom testRuntime
}
}

task cucumber() {
dependsOn assemble, compileTestJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
}
}
}

apply plugin: 'java'

task runApp(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'cash_withdrawal.AtmServer'
}









share|improve this question














I'm trying to run my test (cucumber, java, intelliJ), but I get this exception thread:



java.lang.IllegalStateException: The path to the driver executable must be 
set by the webdriver.gecko.driver system property; for more information, see
https://github.com/mozilla/geckodriver. The latest version can be downloaded
from https://github.com/mozilla/geckodriver/releases


I am using Selenium 3.141.5 and Mozilla 63.0.1.



I try to lear with the book: "The Cucumber for Java Book"
Some explanations are not about the current Versions, thus I get some troubles...
But I hope you can help me



Here is my build.gradle:



plugins {
id 'java'
}

group 'cucumber_cash_withdrawal'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
mavenCentral()
}

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile 'io.cucumber:cucumber-java:2.4.0'
testCompile 'io.cucumber:cucumber-junit:2.4.0'
testCompile group: 'info.cukes', name: 'cucumber-picocontainer', version: '1.2.5'
implementation group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.12.v20180830'
implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.5'
}

configurations {
cucumberRuntime {
extendsFrom testRuntime
}
}

task cucumber() {
dependsOn assemble, compileTestJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
}
}
}

apply plugin: 'java'

task runApp(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'cash_withdrawal.AtmServer'
}






java selenium gradle cucumber






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 14 '18 at 14:25









DeviasaDeviasa

518




518













  • Where have you put geckodriver ? waht is the location?

    – Manoj Kengudelu
    Nov 14 '18 at 14:45











  • C:Users..Documentsgeckodriver-v0.23.0-win64geckodriver.exe And it is locate in the system variable PATH.

    – Deviasa
    Nov 14 '18 at 14:52



















  • Where have you put geckodriver ? waht is the location?

    – Manoj Kengudelu
    Nov 14 '18 at 14:45











  • C:Users..Documentsgeckodriver-v0.23.0-win64geckodriver.exe And it is locate in the system variable PATH.

    – Deviasa
    Nov 14 '18 at 14:52

















Where have you put geckodriver ? waht is the location?

– Manoj Kengudelu
Nov 14 '18 at 14:45





Where have you put geckodriver ? waht is the location?

– Manoj Kengudelu
Nov 14 '18 at 14:45













C:Users..Documentsgeckodriver-v0.23.0-win64geckodriver.exe And it is locate in the system variable PATH.

– Deviasa
Nov 14 '18 at 14:52





C:Users..Documentsgeckodriver-v0.23.0-win64geckodriver.exe And it is locate in the system variable PATH.

– Deviasa
Nov 14 '18 at 14:52












2 Answers
2






active

oldest

votes


















1














System.setProperty("webdriver.gecko.driver", pathToYourFirefoxExecutable);






share|improve this answer
























  • Hey, thanks. Where should I insert it?

    – Deviasa
    Nov 14 '18 at 16:23











  • Before you instantiate the driver. Apart from that, doesn't really matter.

    – Ben R.
    Nov 14 '18 at 17:13











  • Okay thanks. I try it, but it still doesn't works :(

    – Deviasa
    Nov 14 '18 at 17:40



















-1














Okay, I think that should work now, but now I have some new Problems...



org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"Amount"}
(Session info: chrome=70.0.3538.102)
(Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds


But I define the elements:



protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println(
"<html><head><title>HEADLINE</title></head>" +
"<body><form action="/withdraw" method="post">" +
"<label for="amount">Amount</label>" +
"<input type="text" id="amount" name="amount">" +
"<button type="submit" id="withdraw">Withdraw</button>" +
"</form></body></html>");
}


But I dont get the headline or anything else...
in Chrome the url is: data:,
And I get a blank page






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53302455%2fselenium-with-java-intellij-and-gradle-the-path-to-the-driver-executable-must%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    System.setProperty("webdriver.gecko.driver", pathToYourFirefoxExecutable);






    share|improve this answer
























    • Hey, thanks. Where should I insert it?

      – Deviasa
      Nov 14 '18 at 16:23











    • Before you instantiate the driver. Apart from that, doesn't really matter.

      – Ben R.
      Nov 14 '18 at 17:13











    • Okay thanks. I try it, but it still doesn't works :(

      – Deviasa
      Nov 14 '18 at 17:40
















    1














    System.setProperty("webdriver.gecko.driver", pathToYourFirefoxExecutable);






    share|improve this answer
























    • Hey, thanks. Where should I insert it?

      – Deviasa
      Nov 14 '18 at 16:23











    • Before you instantiate the driver. Apart from that, doesn't really matter.

      – Ben R.
      Nov 14 '18 at 17:13











    • Okay thanks. I try it, but it still doesn't works :(

      – Deviasa
      Nov 14 '18 at 17:40














    1












    1








    1







    System.setProperty("webdriver.gecko.driver", pathToYourFirefoxExecutable);






    share|improve this answer













    System.setProperty("webdriver.gecko.driver", pathToYourFirefoxExecutable);







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Nov 14 '18 at 16:16









    Ben R.Ben R.

    578211




    578211













    • Hey, thanks. Where should I insert it?

      – Deviasa
      Nov 14 '18 at 16:23











    • Before you instantiate the driver. Apart from that, doesn't really matter.

      – Ben R.
      Nov 14 '18 at 17:13











    • Okay thanks. I try it, but it still doesn't works :(

      – Deviasa
      Nov 14 '18 at 17:40



















    • Hey, thanks. Where should I insert it?

      – Deviasa
      Nov 14 '18 at 16:23











    • Before you instantiate the driver. Apart from that, doesn't really matter.

      – Ben R.
      Nov 14 '18 at 17:13











    • Okay thanks. I try it, but it still doesn't works :(

      – Deviasa
      Nov 14 '18 at 17:40

















    Hey, thanks. Where should I insert it?

    – Deviasa
    Nov 14 '18 at 16:23





    Hey, thanks. Where should I insert it?

    – Deviasa
    Nov 14 '18 at 16:23













    Before you instantiate the driver. Apart from that, doesn't really matter.

    – Ben R.
    Nov 14 '18 at 17:13





    Before you instantiate the driver. Apart from that, doesn't really matter.

    – Ben R.
    Nov 14 '18 at 17:13













    Okay thanks. I try it, but it still doesn't works :(

    – Deviasa
    Nov 14 '18 at 17:40





    Okay thanks. I try it, but it still doesn't works :(

    – Deviasa
    Nov 14 '18 at 17:40













    -1














    Okay, I think that should work now, but now I have some new Problems...



    org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"Amount"}
    (Session info: chrome=70.0.3538.102)
    (Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
    Command duration or timeout: 0 milliseconds


    But I define the elements:



    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
    response.setContentType("text/html");
    response.setStatus(HttpServletResponse.SC_OK);
    response.getWriter().println(
    "<html><head><title>HEADLINE</title></head>" +
    "<body><form action="/withdraw" method="post">" +
    "<label for="amount">Amount</label>" +
    "<input type="text" id="amount" name="amount">" +
    "<button type="submit" id="withdraw">Withdraw</button>" +
    "</form></body></html>");
    }


    But I dont get the headline or anything else...
    in Chrome the url is: data:,
    And I get a blank page






    share|improve this answer




























      -1














      Okay, I think that should work now, but now I have some new Problems...



      org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"Amount"}
      (Session info: chrome=70.0.3538.102)
      (Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
      Command duration or timeout: 0 milliseconds


      But I define the elements:



      protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException
      {
      response.setContentType("text/html");
      response.setStatus(HttpServletResponse.SC_OK);
      response.getWriter().println(
      "<html><head><title>HEADLINE</title></head>" +
      "<body><form action="/withdraw" method="post">" +
      "<label for="amount">Amount</label>" +
      "<input type="text" id="amount" name="amount">" +
      "<button type="submit" id="withdraw">Withdraw</button>" +
      "</form></body></html>");
      }


      But I dont get the headline or anything else...
      in Chrome the url is: data:,
      And I get a blank page






      share|improve this answer


























        -1












        -1








        -1







        Okay, I think that should work now, but now I have some new Problems...



        org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"Amount"}
        (Session info: chrome=70.0.3538.102)
        (Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
        Command duration or timeout: 0 milliseconds


        But I define the elements:



        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
        {
        response.setContentType("text/html");
        response.setStatus(HttpServletResponse.SC_OK);
        response.getWriter().println(
        "<html><head><title>HEADLINE</title></head>" +
        "<body><form action="/withdraw" method="post">" +
        "<label for="amount">Amount</label>" +
        "<input type="text" id="amount" name="amount">" +
        "<button type="submit" id="withdraw">Withdraw</button>" +
        "</form></body></html>");
        }


        But I dont get the headline or anything else...
        in Chrome the url is: data:,
        And I get a blank page






        share|improve this answer













        Okay, I think that should work now, but now I have some new Problems...



        org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"Amount"}
        (Session info: chrome=70.0.3538.102)
        (Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
        Command duration or timeout: 0 milliseconds


        But I define the elements:



        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
        {
        response.setContentType("text/html");
        response.setStatus(HttpServletResponse.SC_OK);
        response.getWriter().println(
        "<html><head><title>HEADLINE</title></head>" +
        "<body><form action="/withdraw" method="post">" +
        "<label for="amount">Amount</label>" +
        "<input type="text" id="amount" name="amount">" +
        "<button type="submit" id="withdraw">Withdraw</button>" +
        "</form></body></html>");
        }


        But I dont get the headline or anything else...
        in Chrome the url is: data:,
        And I get a blank page







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 15 '18 at 13:19









        DeviasaDeviasa

        518




        518






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53302455%2fselenium-with-java-intellij-and-gradle-the-path-to-the-driver-executable-must%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Xamarin.iOS Cant Deploy on Iphone

            Glorious Revolution

            Dulmage-Mendelsohn matrix decomposition in Python