Protractor: Falha: Erro ao esperar o transferidor sincronizar com a página: "angular não foi encontrado na janela"

Criado em 28 jan. 2015  ·  52Comentários  ·  Fonte: angular/protractor

Depois de atualizar o Protaractor para 1.6.1, webdriver, chromedriver, jasmine para 2.0, quando tento executar meus testes, obtive:

"Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Start test TC06_01_01_Binary_1_1
Started
Execute test TC06_01_01_Binary_1_1
Login as Admin
Execute script no 18
F

Failures:
1) TC06_01_01_Binary_1_1 TC06_01_01_Binary_1_1 Should be able to add record with different values
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
       at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the windo
w"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on th
e window"
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the windo
w"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on th
e window"
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)

1 spec, 1 failure
Finished in 1.409 seconds
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1"

alguma ideia de por que o Angular não pode ser encontrado? ou como devo consertar isso?

needs investigation

Todos 52 comentários

Na verdade, eu tive exatamente o mesmo problema no OSX.

... snip ...
Running "connect:test" (connect) task
Started connect web server on http://localhost:9001

Running "protractor:run" (protractor) task
Using the selenium server at http://127.0.0.1:4444/wd/hub
[launcher] Running 1 instances of WebDriver
Uncaught exception: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
[launcher] Process exited with error code 1
>>
Fatal error: protractor exited with code: 1
... snip ...

Depois disso, a instância do Chrome que ela abriu permanece aberta em um estado travado.

Eu tenho o mesmo problema hoje no Mac OS. Depois de fechar todos os terminais e navegadores e reabrir este erro, pare (pelo menos até agora).

Também estou experimentando isso com a versão 2.0.0 .

até eu estou enfrentando o mesmo problema.

Na quarta-feira, 1º de abril de 2015 às 11h03, Walter H. Roman [email protected]
escreveu:

Também estou experimentando isso com a versão 2.0.0.

-
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -88355894.

eu também

mesmo aqui, por que esse assunto está fechado?

o downgrade para 1.8.0 corrigiu este problema-

Você chama browser.get() dentro de sua função onPrepare ? Veja # 1978

Estou usando o browser.get (), mas não acho que estou usando o onPrepare, estou executando este exemplo para angular todomvc - https://github.com/mknabe/angular-testing-starter/blob/ master / test / e2e / scenes.js

ressalto...

como @ cm325 , estou recebendo o erro "angular não foi encontrado na janela" ao executar 2.0.0, mas fazer o downgrade para 1.8.0 corrige o problema

RESSALTO!

mesmo problema após a atualização para v2.1.0, tive que fazer o downgrade para 1.8.0 para corrigir o problema

Tendo este mesmo problema também no OSX

Editado - Fixo

Então, resolvi isso alterando o seguinte código em um de meus Construtores de Página:

this.currentUrl =  browser.getCurrentUrl();

Para

this.currentUrl = function(){
    return browser.getCurrentUrl();
  };

Meus testes estavam funcionando bem e sem motivo isso apareceu. Não fiz alterações no sistema ou código para causar isso. Não consigo fazer downgrade, preciso do 2.0. Eu fiz a última solução alternativa para currentUrl e isso também não ajuda. Qualquer ajuda será incrível ..

Tenho a mesma experiência na segunda-feira. Na sexta passada correu tudo bem, a partir da segunda não consigo fazer nenhum teste porque quando a página de login precisa ser carregada, que é uma página não angular, recebo o mesmo erro. Tentei fazer o downgrade do transferidor para 1.8.0 e 1.4.0, nada, tentei mudar o framework para 'jasmine2', novamente nada, não estou usando o browser.get em onPrepare. Não tenho mais ideia do que posso tentar. Alguma outra sugestão, o que posso mudar ou tentar? Valeu!

Também estou tendo o mesmo problema aqui. : fist: bump para mais atenção.
O downgrade para 1.8.0 de 2.1.0 não resolveu imediatamente ...

Eu tenho o mesmo problema. Acabei de configurar o transferidor com pepino-js, chai e chai-como-prometido. Eu tenho dois recursos básicos testando em relação às etapas básicas de amostra. Também estou usando ES6 pré-transpilado e carregado com SystemJS. Não consigo descobrir como reproduzir este problema de forma consistente. Embora agora eu possa fazer isso mudando uma das minhas etapas específicas para falhar intencionalmente. Não tenho certeza se ele está sendo executado primeiro / último ou por que tem que ser aquele específico.

Ambos os step wrappers têm a seguinte aparência:

var Promise = require('es6-promise').Promise;
var World = require("../support/world.js").World;

module.exports = function() {
    this.World = World;

    this.Given(/^Something exists$/, function() {
        browser.get('http://localhost:3000/');
        return Promise.all([
            expect(browser.getCurrentUrl()).to.eventually.equal('http://localhost:3000/#/dashboard'),
            expect(browser.getTitle()).to.eventually.equal('Dashboard')
        ]);
    });
};

Oi, pessoal! Resolvemos o problema em nosso projeto. Mas, infelizmente, não sei exatamente se o problema era com as versões transferidor e jasmim-repórteres ou com outra coisa. Em algum ponto do teste, escrevemos

element(by.id('logIn')).click().then(function (p) {
                browser.driver.wait(browser.driver.isElementPresent(by.id('Email')));
            });;

e alguns mais assim, e essas esperas resolvem o problema.
Sei que não é o melhor resolver assim, mas está funcionando por enquanto e esse foi o primeiro ponto, fazer funcionar.

@ Yok86 Acabei de tentar sua correção e funcionou! : +1:

Isso também é mais organizado do que nossa solução alternativa. Jogamos um browser.debugger() no final de nosso manipulador onPrepare e isso pareceu resolver o problema de tempo em jogo, mas não tenho ideia do porquê. Isso é muito mais limpo.

browser.driver.findElement(by.xpath("//*[@id='submit']")).click().then(function(p) {
      browser.driver.wait(browser.driver.getTitle().then(function (title) {
        return title == 'AppName';
      }));
    });

Têm os mesmos problemas:

Falha: Erro ao esperar a sincronização do Transferidor com a página: "[ng: test] nenhum injetor encontrado para o argumento do elemento getTestability \ nhttp: //errors.angularjs.org/1.4.5/ng/test "
Pilha:
Erro: Falha: Erro ao esperar que o Transferidor sincronize com a página: "[ng: teste] nenhum injetor encontrado para o argumento do elemento getTestability \ nhttp: //errors.angularjs.org/1.4.5/ng/test "
na pilha (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 1482: 17)
em buildExpectationResult (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 1452: 14)
em Spec.Env.expectationResultFactory (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 583: 18)
em Spec.addExpectationResult (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 324: 34)
em Suite.addExpectationResult (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 2123: 38)
em Env.fail (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 894: 25)
em Function.next.fail (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 1806: 19)
em c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasminewd2index.js: 101: 16
em [Object Object] .promise.ControlFlow.runInFrame_ (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ Promessa.js: 1877: 20)
em [Object Object] .promise.Callback_.goog.defineClass.notify (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ Promessa.js: 2464: 25)
em [Object Object] .promise.Promise.notify_ (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ Promessa.js: 563: 12)
em Array.forEach (nativo)
em Object.goog.array.forEach (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ goog \ array \ array.js: 203: 43)
em [Object Object] .promise.Promise.notifyAll_ (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ Promessa.js: 552: 16)
em goog.async.run.processWorkQueue (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ goog \ async \ run.js: 125: 21)
em process._tickCallback (node.js: 356: 9)

Mesmo erro aqui no OSX, ao rodar com phantomjs. Funciona bem no Chrome

Erro ao esperar a sincronização do Protractor com a página: "[ng: test] http://errors.angularjs.org/1.4.3/ng/test "

Tendo o mesmo problema aqui, estava funcionando bem, mas agora parou de funcionar

Eu também estou tendo esse problema

+1 sexta-feira passada estava funcionando bem, sem motivo não está funcionando agora

Isso é complicado. Alguém pode trabalhar para obter um caso de teste isolado e reproduzível? Eu não fui capaz de reproduzir isso de forma confiável por conta própria (embora, para ser honesto, eu não tenha feito uma tonelada de escavações ainda).

Para resumir algumas das postagens aqui, o erro está presente com:

  • Versão: Transferidor 2.x.x (além do problema do OP em 1.6.x )
  • Frameworks: Jasmine 2
  • Navegadores: Chrome e PhantomJS
  • Plataformas: OSX e Windows
  • Páginas angulares / não angulares: ???

Que é bastante amplo, infelizmente :(

@jessiahr @navarrojp @AndreasMaier você estaria interessado em ajudar a depurar isso? Poderíamos usar a sala do gitter para coordenar.

O mesmo problema:

  • Versão: Transferidor 2.5.1
  • Estrutura: Jasmine 2
  • Navegadores: Chrome
  • Plataforma: OSX
  • Página angular

@mrzmyr obrigado pelos detalhes. Seria possível obter uma configuração e uma especificação de exemplo isolada onde você pode reproduzir isso?

@NickTomlin Eu adoraria ter um exemplo de especificação ou algo semelhante. Nem me foi possível reproduzi-lo no mesmo ambiente. Pareceu um problema de tempo para mim.

Eu tenho o mesmo problema, na minha configuração eu tenho um onPrepare e esta linha está lá.
browser.driver.get (targetUrl);

esse erro acontece cerca de 40% das vezes. Eu não sei porque.

jasmim 2.XX

Estou tendo o mesmo problema que @mrzmyr :

Versão: última versão do Protractor
Estrutura: Jasmine 2
Navegadores: Chrome
Plataforma: OSX
Página angular

Vou tentar fazer o downgrade para 1.8 para ver se isso resolve o problema. É estranho, pois os testes estavam rodando ontem.

Há um caso de teste reproduzível seguindo o tutorial aqui . O caso de configuração / teste que usei está aqui para referência. O tutorial não é o mais preciso, mas reproduz o problema para mim.

[email protected]
Plataforma: OSX
Angular
Estrutura: Jasmine2
Navegador: Chrome

Essa mensagem de erro geralmente é causada porque algum tipo de navegação foi feito usando algo diferente de browser.get . browser.get , além de alterar a URL, espera o angular carregar e inicializa o Protractor.

@ 61ue5velocidade seu problema é que browser.driver.get não fornece a mesma sincronização e inicialização. Em sua causa, eu apenas mudaria de browser.driver.get para browser.get

@jennapederson No seu caso, presumo que #becomeAwesome seja um link e, ao clicar nele, você navegará sem a sincronização e inicialização. Em casos como o seu, eu apenas adicionaria browser.refresh depois de clicar no link.

Outros relatórios parecem semelhantes, portanto, encerrarei este problema. Se as pessoas podem acionar esse problema usando um teste que depende exclusivamente de borwser.get para navegação, sugiro que abram um novo problema

Esse problema ainda pode ser reproduzido na v 3.3.1.
Estou usando o browser.get para navegar até minha página inicial e ele falha na primeira tentativa.

Só para avisar a todos -> no meu caso o problema era um módulo angular externo que carrega a API do Facebook .... o javascript do facebook acessou a estrutura do dom dentro do aplicativo angular e tentou alterá-la. Tive que mudar o módulo para evitar o carregamento do script do Facebook no teste

Eu também entendo esse problema. Não com frequência, mas o suficiente para ser um problema. É uma página angular normal, nada externo ou não angular sobre ela. O teste passa na maioria das vezes, mas às vezes esse erro aparece e ele falha. Parece que ele não espera o suficiente para carregar um modal. Está sempre na mesma etapa / teste.

Transferidor: 3.2.2
Transferidor de pepino: 0.4.0

@drcjones
elemento (por.css (seletor)). isPresent (). then (função (resultado) {
if (resultado) {
elemento (by.css (seletor)). click ();
}
}, 20.000);

Oi,

Eu encontro o mesmo problema. Estou tentando obter o título do navegador. Estou fazendo algo errado?

Failed: Angular could not be found on the page http://thetestroom.com/jsweba

pp /: angular nunca fornecido resumeBootstrap
Pilha:
Erro: Angular não foi encontrado na página http://thetestroom.com/jswebap
p /: angular nunca fornecido resumeBootstrap

`beforeEach (function () {

    browser.get('http://thetestroom.com/jswebapp/');
});

it('should test webpage title', function() {
    expect(browser.getTitle()).toEqual('Zoo Adoption | Home');
});`

Qualquer feedback será bom.

Não vejo você esperando pelo Angular ou por qualquer alteração de url específica no navegador ou em um elemento antes de obter o título. Veja se isso ajuda.

browser.get (testUrl) .then (function () {
browser.wait (function () {
return browser.getCurrentUrl (). then (function (url) {
return /thetestroom/.test(url);
});
}, 10.000);
});

Começamos a ver esse problema de forma intermitente no IE9. A atualização de 3.2.1 para 3.3.0 interrompeu os erros.

O mesmo aqui - a atualização de 3.2.1 para 3.3.0 corrigiu isso para nós

Eu tenho o mesmo erro. usando cromo. qualquer sugestão é incrível. Obrigado

config.js

exportações.config = {
directConnect: true,
allScriptsTimeout: 1000,

// Capacidades a serem passadas para a instância do webdriver.
capacidades: {
'browserName': 'chrome'
// 'browserName': 'firefox'
},

// Estrutura a ser usada. Jasmine é recomendado.
estrutura: 'jasmim',

// Os padrões de especificação são relativos ao diretório de trabalho atual quando
// transferidor é chamado.
// especificações: ['example_spec.js'],
especificações: ['* _spec.js'],

seleniumAddress: ' http: // localhost : 8080 / McacApp / index.html',
baseUrl: ' http: // localhost : 8080 / McacApp / index.html',

// protractor-conf.js
rootElement: '.mcacApp',
// Opções a serem passadas para Jasmine.
jasmineNodeOpts: {
defaultTimeoutInterval: 30000,

baseUrl: 'http://localhost:8080/McacApp/index.html',
jasmineNodeOpts: {
  onComplete: null,
  isVerbose: false,
  showColors: true,
  includeStackTrace: false
}

}

};
example.spec.js

descrever ('Teste rápido', função () {

it('Should do something', function() {

    browser.get('http://localhost:8080/McacApp/index.html');
   element(by.model('ctrl.formData.emailAddress')).sendKeys('emailAddress');
  // element(by.model('ctrl.formData.employmentType')).sendKeys('employmentType');
  element(by.xpath("//button[text()='Confirm']")).click();
  browser.sleep(10000);


    //expect (element(by.xpath("//ui-view/div/div[2]/div[1]/a/div/p"))).toEqual("Manage users and teams.");
    //expect(element(by.xpath("//ui-view/div/div[2]/div[2]/a/div/p"))).toEqual("Define metrics that drive your business.");
    //expect(element(by.xpath("//ui-view/div/div[2]/div[3]/a/div/p"))).toEqual("Create and modify leaderboards that display metrics.");

});

});

@ Karpo72 : Você poderia fornecer seu exemplo para este problema para validação de e-mail e contato.

Erro: Falha: Erro ao esperar que o Transferidor sincronize com a página: "[ng: teste] http://errors.angularjs.org/1.4.7/ng/test "

Muito obrigado.

@reddynr Não vejo você esperar por um elemento ou qualquer coisa depois de você .get () a página. Você deve. Veja os exemplos acima neste tópico

No seu caso, deveria ser
browser.get(..).then(function() { browser.driver.wait(browser.driver.isElementPresent(by.model('ctrl.formData.emailAddress'))); // all remaining sendKeys, submit and assert code here. });

@ srajagopalan1712 Obrigado pelo feedback. mas ainda obtendo o mesmo erro. aqui está minha implementação.

Obrigado, muito apreciado, se houver sugestões.

describe ('mcacapp', function () {
it ('testando a funcionalidade de e-mail', function ()
{
browser.get ('http: // localhost: 8080 / McacApp / index.html') .then (function () {
browser.wait (function () {
return browser.getCurrentUrl (). then (function (url) {
return /thetestroom/.test(url);
});
}, 10.000);

});
elemento (by.model ('ctrl.formData.emailAddress')). sendKeys ('[email protected] ');
var saudação = elemento (by.binding ('ctrl.formData.emailAddress'));
expect (greeting.getText ()). toEqual ('[email protected] ');
});
});

em vez de esperar que o url mude, espere que o elemento emailAddress também esteja presente. Tente também browser.driver.wait e browser.driver.getCurrentUrl. Mova todos os outros códigos de teste dentro do bloco get () ... {} também.

@ srajagopalan1712 Obrigado pelo feedback. Mas ainda recebendo o mesmo erro. Você poderia fornecer um exemplo de trabalho seria de grande ajuda.

Muito obrigado.

Vejo acima que você tem return /thetestroom/.test(url); no código acima. Esse foi um exemplo que dei para outra pessoa para seu url em uma resposta mais antiga. Por favor, mude 'thetestroom' aqui para qualquer que seja a aparência do seu url. Você deveria ter obtido um tempo de espera aqui, em vez de questão angular.
Aqui está o código que tenho para resolver este problema

 homepage.myButton.click().then(function() {
     browser.driver.wait(function() {
        return browser.driver.getCurrentUrl().then(function(url) {
          return url.includes('......'); // checks if the new url has what you are looking for in ...    
     }); // this waits until the url changes to whatever it should be in ....
    }, 25000, "URL hasn't changed").then(function() {
   // after url changed, in new page check these 
   // pec is protractor expected condition.
    // See http://www.protractortest.org/#/api?view=ProtractorExpectedConditions
     browser.wait(pec.visibilityOf(homepage.feedTitle), 20000); 
     expect(homepage.feedTitle.getText()).toContain('.....');
      expect(homepage.feedBody.getText()).toContain('.....');  
  });

@ saradha,

Muito obrigado. Deixe-me implementar desta forma.

Narendra ...!

Em 7 de outubro de 2016 às 15:52, Saradha [email protected] escreveu:

Vejo acima que você retornou /thetestroom/.test(url); no código
acima de. Esse foi um exemplo que dei para outra pessoa para seu url em um
resposta mais velha. Por favor, mude 'a sala de teste' aqui para qualquer que seja o seu url
parece. Você deveria ter tempo de espera aqui em vez de angular
edição.
Aqui está o código que tenho para resolver este problema

homepage.myButton.click (). then (function () {
browser.driver.wait (function () {
return browser.driver.getCurrentUrl (). then (function (url) {
return url.includes ('......'); // verifica se o novo url tem o que você está procurando ...
}); // isso espera até que o url mude para o que deveria estar em ....
}, 25000, "URL não mudou"). Then (function () {
// após a mudança do url, em uma nova página, verifique-os
// pec é a condição esperada do transferidor.
// Consulte http://www.protractortest.org/#/api ? View = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle), 20000);
expect (homepage.feedTitle.getText ()). toContain ('.....');
expect (homepage.feedBody.getText ()). toContain ('.....');
});

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -252345767,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

@Saradha ,

Muito obrigado pelo feedback.

Estou recebendo o erro abaixo. Por favor, aconselhe se houver alguma solução alternativa. Obrigada.

running: npm run dev

Erro: Não é possível encontrar o módulo './internal/streams/BufferList'

Narendra ...!

Em 17 de outubro de 2016 às 16:48, narendra Reddy narendra. [email protected] escreveu:

@ saradha,

Muito obrigado. Deixe-me implementar desta forma.

Narendra ...!

Em 7 de outubro de 2016 às 15:52, Saradha [email protected] escreveu:

Vejo acima que você retornou /thetestroom/.test(url); no código
acima de. Esse foi um exemplo que dei para outra pessoa para seu url em um
resposta mais velha. Por favor, mude 'a sala de teste' aqui para qualquer que seja o seu url
parece. Você deveria ter tempo de espera aqui em vez de angular
edição.
Aqui está o código que tenho para resolver este problema

homepage.myButton.click (). then (function () {
browser.driver.wait (function () {
return browser.driver.getCurrentUrl (). then (function (url) {
return url.includes ('......'); // verifica se o novo url tem o que você está procurando ...
}); // isso espera até que o url mude para o que deveria estar em ....
}, 25000, "URL não mudou"). Then (function () {
// após a mudança do url, em uma nova página, verifique-os
// pec é a condição esperada do transferidor.
// Consulte http://www.protractortest.org/#/api ? View = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle), 20000);
expect (homepage.feedTitle.getText ()). toContain ('.....');
expect (homepage.feedBody.getText ()). toContain ('.....');
});

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -252345767,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

Algo em sua base de código. Não parece um erro angular / transferidor
Eu sei de.

Enviado do meu iPhone

Em 19 de outubro de 2016, às 19h54, narendra [email protected] escreveu:

@Saradha ,

Muito obrigado pelo feedback.

Estou recebendo o erro abaixo. Por favor, aconselhe se houver alguma solução alternativa. Obrigada.

running: npm run dev

Erro: Não é possível encontrar o módulo './internal/streams/BufferList'

Narendra ...!

Em 17 de outubro de 2016 às 16:48, narendra Reddy narendra. [email protected] escreveu:

@ saradha,

Muito obrigado. Deixe-me implementar desta forma.

Narendra ...!

Em 7 de outubro de 2016 às 15:52, Saradha [email protected] escreveu:

Vejo acima que você retornou /thetestroom/.test(url); no código
acima de. Esse foi um exemplo que dei para outra pessoa para seu url em um
resposta mais velha. Por favor, mude 'thetestroom' aqui para qualquer que seja o seu url
vai
parece. Você deveria ter tempo de espera aqui em vez de angular
edição.
Aqui está o código que tenho para resolver este problema

homepage.myButton.click (). then (function () {
browser.driver.wait (function () {
return browser.driver.getCurrentUrl (). then (function (url) {
return url.includes ('......'); // verifica se o novo url tem o que você é
procurando em ...
}); // isso espera até que o url mude para o que deveria estar em ....
}, 25000, "URL não mudou"). Then (function () {
// após a mudança do url, em uma nova página, verifique-os
// pec é a condição esperada do transferidor.
// Ver
http://www.protractortest.org/#/api ? view = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle), 20000);
expect (homepage.feedTitle.getText ()). toContain ('.....');
expect (homepage.feedBody.getText ()). toContain ('.....');
});

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
< https://github.com/angular/protractor/issues/1760#issuecomment -252345767
,
ou silenciar o tópico
<
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza

.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -254996166,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AKCDZXWuZX7dJ0R2V2sHgxKqwydQV8o3ks5q1tfngaJpZM4DYTza
.

Olá srajagopalan1712,

Estou executando um exemplo no transferidor ficando abaixo do erro. Você poderia, por favor, um conselho. Obrigado

erro:

goog.global.setTimeout (function () {lançar exceção;}, 0);
^
Erro ao esperar a sincronização do Protractor com a página: "[ng: test] http://errors.angularjs.org/1.4.7/ng/test "

aqui está meu código

describe ('Teste do meu aplicativo', function () {

      browser.get('http://localhost:port/integrated/myWeb.html').then(function() {


    browser.wait(function() {
        return browser.getCurrentUrl().then(function(url) {
            return 'http://localhost:port/integrated/myWeb.html';

            element(by.model('ctrl.formData.emailAddress')).sendKeys('').clear();
            element(by.model('ctrl.formData.emailAddress')).sendKeys('[email protected]');
            element(by.model('ctrl.formData.emailAddress')).getAttribute('value').then(function (value) {
                expect(value).toEqual('[email protected]');
            });

        });
    }, 10000);
});

Obrigado a todos,

problema resolvido adicionando tag ng-app na página html.

Eu estava vendo o mesmo erro com o teste do Angular 5. Talvez isso esteja afirmando o óbvio, mas eu não sabia que você precisava iniciar o "ng serve" separadamente antes de executar seus testes e2e se quiser depurar. Aqui está a discussão onde encontrei a resposta:
https://github.com/angular/angular-cli/issues/4183

Espero que isso ajude alguém!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

gamecheck80 picture gamecheck80  ·  3Comentários

jmcollin78 picture jmcollin78  ·  3Comentários

davidkarlsen picture davidkarlsen  ·  3Comentários

andyman3693 picture andyman3693  ·  3Comentários

rafalf picture rafalf  ·  3Comentários