Use o transferidor para testar o logon na página não AngularJS
Eu tenho um aplicativo AngularJS que autentica usando o oAuth SSO no GitHub. Estou tentando descobrir uma maneira de usar o transferidor e automatizar os testes de login. Não consigo descobrir como recuperar um campo não angular e como gerenciar a espera pela página carregarbrowser.driver
, Minha especificação fica assim:
// Create a repository
describe('login', function() {
it('should login', function() {
// this issues a redirect to GitHub
browser.driver.get( process.env.HOST + '/auth/github' )
browser.sleep( 4000 ); // Sleep to make sure page loads fully..
// browser.debugger(); // tried to use debugger...
var login = element( by.id( "login_field" ) );
login.sendKeys( process.env.USERNAME );
var password = element( by.id( "password" ) );
password.sendKeys( process.env.PASSWORD )
});
});
Eu executo o comando assim:
HOST=http://someserver.com.dev USERNAME=foobar PASSWORD=barfoo protractor config/protractor.conf
Como posso carregar corretamente a página de autenticação, inserir as informações corretas nos campos e aguardar o redirecionamento de volta ao meu aplicativo Angularized (posso lidar com as coisas a partir daí).
Tentei usar o depurador para pular para esse código, mas não foi intuitivo para mim. Quando o depurador foi bloqueado, eu não parecia estar dentro do meu código, mas dentro do cli.js. Se eu pressionar 'c', meu script continuará até a execução e falhará sem bloquear mais. Estou entendendo mal onde usar o comando debugger dentro do meu script? E, do inspetor do Chrome, eu esperava usarwindow.clientSideScripts.findInputs
mas foi frustrado lá também; estes parecem ser para elementos AngularJS, não para elementos que não são angularizados.