У меня есть приложение AngularJS, которое аутентифицируется с использованием SSO OAuth в GitHub. Я пытаюсь выяснить способ использования транспортира и автоматизировать тесты входа в систему. Я не могу понять, как получить поле не angular и как управлять ожиданием загрузки страницы с помощью browser.driver
, My spec выглядит так:
// 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 )
});
});
Я запускаю команду следующим образом:
HOST=http://someserver.com.dev USERNAME=foobar PASSWORD=barfoo protractor config/protractor.conf
Как правильно загрузить страницу проверки подлинности, ввести правильную информацию в поля, а затем дождаться перенаправления обратно в мое приложение с угловым выражением (я могу обрабатывать вещи оттуда).
Я попытался использовать отладчик для перехода в этот код, но для меня это было неинтуитивно. Когда отладчик заблокирован, я, кажется, не был внутри своего кода, но внутри cli.js. Если я нажму 'c', то мой script продолжил весь путь к выполнению и провалился, не заблокировав его дальше. Я не понимаю, где использовать команду отладчика внутри моего script? И от инспектора Chrome я надеялся использовать window.clientSideScripts.findInputs
, но также был помешан; они, по-видимому, относятся к элементам AngularJS, а не к элементам, которые не являются угловыми.