Selenium webdriver e chromedriver

14 respostas
J

Olá , bom dia .

Estou querendo rodar meus testes com selenium webdriver usando o chromedriver .

Porém sempre aparece esta exceção :
Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://code.google.com/p/chromedriver/downloads/list

Eu já defini o caminho no path e não foi suficiente . Agora criei uma variável de ambiente , chamada webdriver.chrome.driver e coloquei o caminho para o chromedriver.exe .

E então estou tentando colocar este código :
System.setProperty("webdriver.chrome.driver ", "C:\Driver para webDriver\chromedriver.exe");

Mas não consigo inicializar o teste .

Alguma sugestão ?

Obrigada .

14 Respostas

A

A questão é como vc está fazendo tal chamada, exemplo olha só abaixo, primeiro dou setProperty só depois crio a instância do WebDriver:

System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "\\lib\\chromedriver.exe"); driver = new ChromeDriver();

J

Ficaria assim …

private WebDriver driver;

 @Before
    public void inicializa() throws Exception {
       System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir") + "C:\Driver para webDriver\chromedriver.exe");
        this.driver = new ChromeDriver();
    }

Coloquei a definição da propriedade fora do método , após a declaração do driver , mas mantém o erro .

A definição da propriedade está com caractere de escape ilegal .

Obrigada .

A

jeh_dias:

Ficaria assim …

private WebDriver driver;

 @Before
    public void inicializa() throws Exception {
       System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir") + "C:\Driver para webDriver\chromedriver.exe");
        this.driver = new ChromeDriver();
    }

Coloquei a definição da propriedade fora do método , após a declaração do driver , mas mantém o erro .

A definição da propriedade está com caractere de escape ilegal .

Obrigada .

Mas não vai funcionar mesmo, vc precisa tirar o trecho “C:\Driver para webDriver” se é que pretende buscar dentro do Eclipse.

J

As barras do caminho , tem que ser duplas .

E o System.getProperty("user.dir)

Quando compilei deu erro , ai tirei e deu certo .

Estou usando o netbeans .

R

Oi jeh,

eu ainda não consegui rodar aqui. Meu @before está assim:

@BeforeMethod
	public void setUp() throws Exception {
		baseUrl = "http://xxx.com";
		baseUrlAdmin = "http://xxx.com";
		driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
		File file = new File("C:\\Automation Tests\\chromeDriver\\chromedriver.exe");
		System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
		driver = new ChromeDriver();

e aparece este erro:

[TestNG] Running:
  C:\Users\Rafael\AppData\Local\Temp\testng-eclipse--286829347\testng-customsuite.xml

FAILED CONFIGURATION: @BeforeMethod setUp
java.lang.NullPointerException
	at storeDesktop.PurchaseInStore1.setUp(PurchaseInStore1.java:26)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:653)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
	at org.testng.SuiteRunner.run(SuiteRunner.java:240)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
	at org.testng.TestNG.run(TestNG.java:1057)
	at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
	at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)

SKIPPED CONFIGURATION: @AfterMethod tearDown
SKIPPED: PurchaseFuneralHome

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 1
    Configuration Failures: 1, Skips: 1
===============================================


===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 1
Configuration Failures: 1, Skips: 1
===============================================

[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@3de5da76: 13 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@2646b10b: 7 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@63deebc8: 40 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@2c2c14f9: 11 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 7 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@107267a4: 27 ms
J

Oi Rafael , tudo bem ?

Este erro ainda não conheço .

Esse webdriver.chrome.driver você definiu como uma variável path ?

Mas tenta colocar esse seu erro na página stackoverflow.com , eles podem te ajudar .

Ou na página www.agiletesters.com.br .

R

Na verdade eu defini o arquivo chromedriver no path, veja: http://screencast.com/t/feoHLU6kQ

Assim que você fez?

Att,
Rafael

J

Olha como está o meu , não está na variável path , eu criei uma outra variável com o nome webdriver.chrome.driver e defini o caminho .

Olha como ele está : http://imagizer.imageshack.us/v2/800x600q90/13/zbot.png

Conhece as fontes que te falei ?

R

Pois é, tá bem estranho.

Vou postar lá. Obrigado Jeh :slight_smile:

J

Acho que você fez o que eu tinha feito antes , colocar o caminho p/ o driver na variavel path , o erro continua .

Porém este seu erro é diferente do meu .

De nada .

R

Mas agora eu defini corretamente, conforme a sua imagem.

Obs…: Aquele agiletester é uma droga :stuck_out_tongue:

J

E deu alguma diferença depois que você definiu de forma diferente ?

Ele tem conteúdo , mas auxílio acho que não é o foco deles ne ?

R

Deu o mesmo erro, Jeh. Informa que o método setUp está configurado errado.

No google groups, tem o grupo Selenium Users, se você não conhece, vale a pena!

Mesmo assim, muito obrigado :slight_smile:

J

Entendi .

Conheço sim , já consegui resolver problemas lá .

Por nada , boa sorte .

Criado 5 de dezembro de 2013
Ultima resposta 15 de jan. de 2014
Respostas 14
Participantes 3