Selenium com Junit?

1 resposta
java
D

Estou tentando executar um script para executar uma automação, mas quando eu tento executar com o Junit não consigo, exibe um erro(vibe abaixo), executei o mesmo código em java normal(sem o JUnit), e abriu normal… Tentei colocar uma linha de código referente a este gecko mas não vai…

ERRO

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

at com.google.common.base.Preconditions.checkState(Preconditions.java:738)

at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:111)

at org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:38)

at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:112)

at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:302)

at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:233)

at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:125)

at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:121)

at junittestsuite.(junittestsuite.java:9)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217)

at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

at org.junit.runners.ParentRunner.run(ParentRunner.java:363)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)

at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Código:

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class junittestsuite {
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe");  //ESTA LINHA EXIBE ERRO NO ECLIPSE

 WebDriver driver = new FirefoxDriver();

 @Test
 public void test() throws InterruptedException {
  driver.manage().window().maximize();
  driver.get("http://only-testing-blog.blogspot.in/2013/11/new-test.html");
  driver.findElement(By.xpath("//input[@name='fname']")).sendKeys("junittest1 executed");
  Thread.sleep(2000);
  System.out.print("junittest1 class is executed");
  driver.quit();
 }
}

1 Resposta

DarkNei

Olá
Na Linha
"'System.setProperty(“webdriver.gecko.driver”, “C:\geckodriver.exe”);"
deve apontar para o diretório onde esta o driver "firefox_geckodriver_x86.exe"
Precisa desse driver para executar uma automação de teste com o firefox

por exemplo:
System.setProperty(“webdriver.fx.driver”,“C:\firefox_geckodriver_x86.exe”);

Criado 20 de abril de 2017
Ultima resposta 25 de abr. de 2017
Respostas 1
Participantes 2