# \[Livro MEAN\] Cap 11 - Protractor error teste e2e

**URL:** <https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89>\
**Category:** Livros\
**Tags:** mean\
**Created:** [Fevereiro 6, 2016, 10:00pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89 "2016-02-06T22:00:10Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 6, 2016, 10:00pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/1 "2016-02-06T22:00:10Z")

</div>

Boa noite,

estou com problemas ao rodar o teste e2e do protractor para automatizar a autenticação no Github. Analisando o erro parece o selenium não consegue encontrar o elemento link de id **entrar**. Segue abaixo a saída de errro.

> Starting selenium standalone server…  
> [launcher] Running 1 instances of WebDriver  
> Selenium standalone server started at [http://192.168.25.2:55921/wd/hub](http://192.168.25.2:55921/wd/hub)  
> [launcher] Error: NoSuchElementError: no such element  
> (Session info: chrome=48.0.2564.103)  
> (Driver info: chromedriver=2.12.301326 (093c7e07b4a916b690e784b0374c7f618f1ea4be),platform=Mac OS X 10.10.5 x86\_64) (WARNING: The server did not provide any stacktrace information)  
> Command duration or timeout: 23 milliseconds  
> For documentation on this error, please visit: [Selenium](http://seleniumhq.org/exceptions/no_such_element.html)  
> Build info: version: ‘2.44.0’, revision: ‘76d78cf’, time: ‘2014-10-23 20:02:37’  
> System info: host: ‘Herculanos-MacBook-Pro.local’, ip: ‘192.168.25.2’, os.name: ‘Mac OS X’, os.arch: ‘x86\_64’, os.version: ‘10.10.5’, java.version: ‘1.8.0\_51’  
> Driver info: org.openqa.selenium.chrome.ChromeDriver  
> Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=/var/folders/zh/lbrdtf3s4y3c70cnxl2225ym0000gn/T/.org.chromium.Chromium.b0Vnwk}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=48.0.2564.103, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]  
> Session ID: 2057b2477b83ad8fd915624ac56be466  
> ==== async task ====  
> WebDriver.findElement(By.id(“entrar”))  
> at exports.config.onPrepare (/Users/herculanogripp/Documents/workspace/books-study/mean-fullstack-javascript/config/protractor.js:7:18)  
> ==== async task ====  
> executing onPrepare  
> at Function.promise (/usr/local/lib/node\_modules/protractor/node\_modules/q/q.js:650:9)  
> at \_fulfilled (/usr/local/lib/node\_modules/protractor/node\_modules/q/q.js:797:54)  
> at self.promiseDispatch.done (/usr/local/lib/node\_modules/protractor/node\_modules/q/q.js:826:30)  
> at Promise.promise.promiseDispatch (/usr/local/lib/node\_modules/protractor/node\_modules/q/q.js:759:13)  
> [launcher] Process exited with error code 100

Alguem tem alguma ideia do que está acontecendo ?

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Fevereiro 10, 2016, 1:51pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/2 "2016-02-10T13:51:32Z")

</div>

Olá, existe o ID entrar no elemento?

Cole o código do seu arquivo de configuração do protractor e da sua página que contém o link ENTRAR pelo github.

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 10, 2016, 3:15pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/3 "2016-02-10T15:15:44Z")

</div>

Tem sim Flavio, inclusive eu consigo fazer o teste com o selenium usando plugin do chrome.

Arquivo de configuração do protractor.

```
// config/protractor.js

exports.config = {
	specs: ['../test/e2e/**/*.js'],
	onPrepare: function(){
		browser.driver.get('http://localhost:3000');
		browser.driver.findElement(by.id('entrar'));
		browser.driver.findElement(by.id('login_field')).sendKeys('email');
		browser.driver.findElement(by.id('password')).sendKeys('senha');
		browser.driver.findElement(by.name('commit')).click();
	}
};

```

Página de autenticação [link para o arquivo](https://github.com/HerculanoGripp/books-study/blob/master/mean-fullstack-javascript/public/partials/auth.html)

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Fevereiro 10, 2016, 3:34pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/4 "2016-02-10T15:34:18Z")

</div>

Olá Herculano,

Veja que você está acessando `localhost:3000`. Se o usuário não estiver logado, ele será redirecionado para `localhost:3000/auth`. Essa parte de redirecionamento está ok? Se não for para `auth` não será exibida a página com `Entre pelo Github` e por conseguinte o link não será exibido.

Aguardo seu feedback.

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 10, 2016, 3:52pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/5 "2016-02-10T15:52:47Z")

</div>

Flavio,

caso o usuário não esteja logado ele é redirecionado para url `http://localhost:3000/#/auth`. Essa parte de redirecionamento está funcionando normalmente. Tentei inclusive alterar a url do teste para acessar diretamente a página de `auth` e também não funcionou.

Tenho duas dúvidas

1. Usando a url `http://localhost:3000`, existe a possibilidade do teste tentar pegar o element `entrar` antes do redirecionamento ?
2. Existem uma forma de debuggar o teste pra saber quais elementos existem na página aberta no teste ?

Att, Herculano

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Fevereiro 10, 2016, 4:12pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/6 "2016-02-10T16:12:39Z")

</div>

Oi Herculano,

Só perguntei para ter certeza, tenho uma solução mega blaster.  
Alguns leitores como você apresentaram problemas nessa parte, mas outros não.

Eu já coloquei um código que resolve esse problema em todos os casos e atualizei o livro, a versão online há algum tempo (mais de 3 meses… se não me engano).

É um tiro de bazuca, inclusive a solução original foi feita para resolver um timeout lá no Saucelabs. Vamos tentar?

```auto
 browser.driver.get('http://localhost:3000/#/auth').then(function() {
    	browser.driver.findElement(by.id('entrar')).click();
       // restante do código aqui
    });

```

Consegue ver que usamos uma promise? Eu espero a auth ser carregada, então (then) peço o click.

Aguardo seu feedback. Se você tem a versão digital, só baixar novamente que temos esse código lá.

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 10, 2016, 4:55pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/7 "2016-02-10T16:55:38Z")

</div>

Também não funcionou, continua com o mesmo erro. Tem alguma ideia do que posso tentar ?

Quanto ao livro eu comprei apenas a versão fisíca, acredito q eu não tenha direito as erratas do livro.

att, Herculano

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Fevereiro 10, 2016, 5:27pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/8 "2016-02-10T17:27:24Z")

</div>

Hum, nesse caso só olhando todo o seu código. Você já experimentou comparar seu código com o gabarito que tem lá no meu github?

> **[flaviohenriquealmeida/mean-livro-cap-12-sem-saucelabs](https://github.com/flaviohenriquealmeida/mean-livro-cap-12-sem-saucelabs)**
>
> Contribute to flaviohenriquealmeida/mean-livro-cap-12-sem-saucelabs development by creating an account on GitHub.

Outro ponto é o sua parcial `auth.html`. Se há alguma quebra de tag lá o selenium nunca encontrará o elemento.

Ou seja, você está tendo problema em uma parte que é novidade, nunca ninguém havia relatado. Você rodou as instruções de upgrade do webdriver? Toda aquela bagaça?

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 11, 2016, 2:03pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/9 "2016-02-11T14:03:44Z")

</div>

Comparei e não tem nenhuma diferença significativa. Tentei rodar o protractor dentro do seu projeto no github tanto no cap-11 quanto no link que você enviou e ocorreu o mesmo erro.

Rodei as instruções de update do webdriver conforme o livro. Acredito que seja algum bug na instalação do protractor ou do webdriver pois é erro é sempre ao capturar o elemento entrar da página `auth`. Vou tentar realizar os testes em outra máquina e te reporto o resultado.

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Fevereiro 11, 2016, 2:27pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/10 "2016-02-11T14:27:30Z")

</div>

Você usou exatamente a versão do protractor que usei no meu livro?  
Aliás, se você tiver seu projeto no Git, assim que tiver tempo eu dou uma olhada. Me passa o link (mas com a versão que você está tendo problema).

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 11, 2016, 4:01pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/11 "2016-02-11T16:01:43Z")

</div>

Instalei a mesma versão do protractor que está no livro que é a 1.5.

Segue o link para o github

> **[HerculanoGripp/books-study](https://github.com/HerculanoGripp/books-study)**
>
> Contribute to HerculanoGripp/books-study development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Fevereiro 16, 2016, 10:30am UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/12 "2016-02-16T10:30:36Z")

</div>

Heculano, qual versão do JDK você está usando? Se estiver usando 1.8, faz downgrade para 1.7 e faça um teste. O Selenium (não o protractor) tem problemas com essa versão.

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 18, 2016, 10:51pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/13 "2016-02-18T22:51:52Z")

</div>

Flavio, eu estava usando a versão 1.8 do JDK mudei para 1.7 mas o erro continuou o mesmo. Acredito que seja algo no projeto msm. Para testar se o selenium estava funcionava com o protractor usei esse exemplo de teste [https://angular.github.io/protractor/#/](https://angular.github.io/protractor/#/) que encontrei e funcionou beleza.  
Cheguei a testar o projeto em uma máquina linux e erro é o mesmo .

Quando eu executo o protractor para testar a validação da autenticação via github a instancia do browser aberta nem chega a carregar a página da aplicação que seria [http://localhost:3000/#/auth](http://localhost:3000/#/auth) .

Você tem mais alguma ideia do que pode ser ?

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Fevereiro 23, 2016, 9:52pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/14 "2016-02-23T21:52:24Z")

</div>

Olá Herculano, só agora consegui respirar para me aprofundar no seu problema.

Clonei seu repositório e já encontrei um problema:

No arquivo `protractor.js`, tenho a linha:

```auto
browser.driver.findElement(by.id('entrar'))

```

Faltou ativar o click:

```auto
browser.driver.findElement(by.id('entrar')).click();

```

Creio eu que isso foi um teste seu, ou seja, que esqueceu de voltar com o click.

No entanto, rodei seu projeto em minha máquina só adicionando o `.click()` que falta e tudo funcionou. Ele encontrou o elemento com ID entrar e tals.

Talvez, quando eu pedi que você atualizasse seu código, você testou sem o click.

Aguardo seu feedback. Aliás, se eu não perguntei, qual sua plataforma (Windows, OSX ou Linux)?

Ah, e só uma coisa: cuidado, você colocou seu login e senha no seu repositório!

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 25, 2016, 2:41am UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/15 "2016-02-25T02:41:39Z")

</div>

Olá Flavio, realmente eu fiz diversas tentativas e esqueci de voltar com evento click. Após atualizar para o Java 1.7 testei com o click e também não funcionou. Testei inclusive o código do livro que você disponibilizou no github.

Tem alguma forma de debugar o teste ?

A plataforma que estou usando é OSX.

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Fevereiro 25, 2016, 5:03pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/16 "2016-02-25T17:03:43Z")

</div>

Olá Flavio,

fiz o teste usando o repositorio [https://github.com/flaviohenriquealmeida/mean-livro-cap-12-sem-saucelabs](https://github.com/flaviohenriquealmeida/mean-livro-cap-12-sem-saucelabs) que você mandou e os testes do protractor rodaram beleza. Ainda não tive tempo de fazer diff com meu código pra ver a diferença. Quando fizer isso te falo onde estava o problema.

Mas obrigado pela ajuda.

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Fevereiro 25, 2016, 8:16pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/17 "2016-02-25T20:16:28Z")

</div>

Mistério! 🙂

Eu baixei o seu projeto e só fiz aquela alteração do click e funcionou aqui. Eu fico curioso em saber o que se passa assim como você.

Só para ter certeza, você executou o passo do livro que atualiza o webdriver?

```auto
webdriver-manager update

```

Erros como o que você apresenta pode ser em decorrência disso. Enquanto agente não descobre, vai tocando o restante do livro para não esfriar. Tem muito conteúdo ainda pra frente.

Eu também uso OSX, El Captain.

---

<div class="post-metadata">

**Author:** ![edneyroldao](https://avatars.discourse-cdn.com/v4/letter/e/e47774/32.png) [@edneyroldao](https://forum.casadocodigo.com.br/u/edneyroldao)\
**Post date:** [Maio 30, 2016, 7:48pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/18 "2016-05-30T19:48:32Z")

</div>

Fala flávio e Herculano, beleza !!!

Primeiramente, quero parabenizar o Flávio pelo excelente livro livro. Qualquer um que comprar o seu livro vai pagar pouco e levar muito. Nunca li um livro técnico em 7 dias, sem dúvidas o melhor livro da casa do código que eu já li.

Quero compartilhar a minha experiência com esse erro. Eu estava acham que era um problema de incompatibilidade de OS pois eu utiliza o windows 10, porém estou vendo que o Herculano usa o macbook e tem o mesmo problema que eu, kkkkk.

Bem, passei horas olhando os códigos do livro e do repositório do Flávio, estava tudo igual, inclusive, o correção que da URL eu havia tentado muito antes de ver esse post e não adiantou.

Chega de papo, o protractor passou a funcionar belezinha aqui depois que eu abri uma janela do cmd e subir o servidor standalone do selenium com o comando: “webdriver-manager start”, em seguida abri outro cmd sem fechar o primeiro e chamei o teste com o protractor: “protractor config/protractor.js”.

Pra mim isso não faz muito sentido, já que o próprio protractor carrega o servidor do selenium, porém funcionou de pois de tentar executar o comando pela segunda vez.

---

<div class="post-metadata">

**Author:** ![flavioalmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flavioalmeida/32/13701_2.png) [@flavioalmeida](https://forum.casadocodigo.com.br/u/flavioalmeida)\
**Post date:** [Maio 30, 2016, 8:04pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/19 "2016-05-30T20:04:25Z")

</div>

Olá Edney! Obrigado pelo feedback!

Rapaz, eu acho que você matou uma charada das boas. Minha máquina é meio que super dotada (HD SSD, 16GB…) toda otimizada. Talvez nela as coisas subam rapidamente e isso mascarou esse problema.

Herculano, se puder testar a solução do nosso amigo e verificar se funciona eu lhe ficarei grato. Se for isso, eu já altero no livro para não dar problema.

Eu teste em minha máquina e em outros micros aqui da empresa e funciona, não consigo replicar.

---

<div class="post-metadata">

**Author:** ![herculano.gripp](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/herculano.gripp/32/10990_2.png) [@herculano.gripp](https://forum.casadocodigo.com.br/u/herculano.gripp)\
**Post date:** [Maio 30, 2016, 9:04pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89/20 "2016-05-30T21:04:17Z")

</div>

Boa tarde Flavio e Edney,

fiquei um tempo bom parado nesse problema que deixei ele um pouco de lado. Mas a dois mês atrás eu voltei a trabalhar em cima dele e consegui colocar pra funcionar. Não sei o que fiz de diferente para fazer funcionar mas rodou tudo certo.

Eu cheguei avançar no livro até a integração com o Sauce Labs quando tive outro problema. Se me lembro bem o problema com o sauce labs foi algo relacionado a conexão com Travis. Ainda não tive tempo de investigar o problema a fundo. Assim que tiver dou um feedback pra vcs.

Mas reforçando o Edney, o livro é excelente. De longe o melhor livro que já comprei na Casa do Código, parabéns pelo grande trabalho Flávio !!!

[Próxima página](https://forum.casadocodigo.com.br/t/livro-mean-cap-11-protractor-error-teste-e2e/89.md?page=2)
