gpt4 book ai didi

javascript - 如何使用 Protractor 测试 mdToast 的渲染文本?

转载 作者:行者123 更新时间:2023-11-29 19:08:10 25 4
gpt4 key购买 nike

我的同事正在使用 Angular Material,他正在使用 mdToast这样:(在 else 语句中)

$scope.login = () => {
$scope.loading = true;
authService.login($scope.username, $scope.password, (result) => {
if (result) {
if (result === true) {
$location.path('/');
} else {
$mdToast.show($mdToast.simple().textContent($filter('capitalize')($filter('translate')('passwordNotValid'))).position('top right').hideDelay(3000));
$scope.loading = false;
$("#input_username_login").focus();
}
} else {
//error callback from server
$mdToast.show($mdToast.simple().textContent($filter('capitalize')($filter('translate')('passwordNotValid'))).position('top right').hideDelay(3000));
$scope.loading = false;
$("#input_username_login").focus();
}
});
};

我需要测试结果 toast 的文本,但 Angular Material 的 mdToast 似乎使用了 ng-if。我的同事没有任何用于 toast 的 HTML 代码(他只是使用上面的 Controller 来生成它)即使当 toast 被触发时,下一个代码也会在 DOM 中出现几秒钟:

screenshot of the generated md-toast

除其他外,我尝试过使用 browser.wait、waitForAngular 等来减缓 toast 的消失,但没有奏效。我坚持:

it("should show error toast in English when user fails login", function(){        
login.email_address_field.sendKeys('random_user@correo.com');
login.password_field.sendKeys('hardest_pass_123');
login.login_button.click();
expect(element(by.tagName('md-toast')).element(by.tagName('span')).getText()).toBe('Incorrect username and/or password');
});

最佳答案

我找到了使用这个 answer 的解决方案举个例子。我的规范是:

it("should show error toast in English when user fails login", function(){        
login.email_address_field.sendKeys('random_user@correo.com');
login.password_field.sendKeys('hardest_pass_123');
login.login_button.click();
browser.ignoreSynchronization = true;
browser.sleep(1000);
expect(element(by.tagName('md-toast')).element(by.tagName('span')).getText()).toBe('Incorrect username and/or password');
browser.ignoreSynchronization = false;
});

关于javascript - 如何使用 Protractor 测试 mdToast 的渲染文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com