Если в кассе, я нажимаю только одну кнопку, тогда все работает нормально. Следующий тест проходит тест.CasperJS не работает на AngularJS
casper.then(function() {
this.click('#loginB');
this.fill('#loginEmailField', {
'loginEmail': '[email protected]',
}, false);
this.fill('#loginPasswordField', {
'loginPassword': 'a',
}, false);
this.click('#loginClickButton');
this.click('#logoutB');
test.assertNotVisible('#logoutB', "logout item should not show");
test.assertNotVisible('#loggedInItem', "loggedin item should not show");
test.assertVisible('#loginB', "login item should show");
});
Это также проходит:
casper.then(function() {
test.assertNotVisible('#loginModal', "login modal not visible");
this.click('#loginB');
test.assertVisible('#loginModal', "login modal visible");
});
Затем, если после нажатия на кнопку входа, пользователь хочет зарегистрироваться, то знак вверх модуль должен отображаться. Следующие тесты показывают, не появляется ли тест:
casper.then(function() {
this.click('#loginB');
this.click('#signUpB');
test.assertVisible('#signUpModal', "signup modal is visible after click");
test.assertVisible('#UsernameField', "Username field on the signup modal should be visible too");
test.assertNotVisible('#loginModal', "login modal should be invisible after click");
});
Я вручную попробовал сайт, и я уверен, что он появился. Как я могу это решить?
Возможно, вам лучше использовать транспортир. Он автоматически ожидает, что область scope.digest будет оцениваться и, таким образом, намного быстрее, чем может быть когда-либо. Если вы действительно хотите использовать Каспер, вам может понадобиться проверить, как это делает транспортитчик. Вы можете начать поиск в репозитории github для функции waitForAngular. –