gpt4 book ai didi

javascript - Protractor - 如何处理大量动画的网站?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:51 24 4
gpt4 key购买 nike

我必须为一个网站编写测试,该网站是一个 Angular 应用程序并且有大量动画。几乎所有东西都有一个“迷你”窗口,该窗口从顶部滑入并滑入中间,然后其内容从右侧滑入,直到它们滑入其中,依此类推。

这破坏了我的测试,很多。 Protractor 看到元素,因为它们被显示,但它不能点击它们,因为它们正在移动,它会抛出一个错误,指出其他元素将收到点击。这种情况经常发生,我不知道如何处理(除了使用 browser.sleep(xxxx))。

除了使用sleep函数,有什么解决办法吗?如果我真的没有其他选择,我必须在第二行使用它......

**我试过这个 browser.manage().timeouts().implicitlyWait(30000); 但没有帮助。

附言我也遇到过 Protractor 试图在元素可见之前点击该元素的情况。

如果需要,我可以制作一个短视频来展示动画是什么。

test.describe('Profile tests: ', function(){
this.timeout(0);

test.before(function(){
browser.get('......');
});

test.it('Change Username', function() {
var newUsername = 'Sumuser';

welcome.continueLink.click();
bonus.takeBonus.isDisplayed().then(function() {
bonus.takeBonus.click();
});
entrance.openEntrance.click();

browser.sleep(300);
loginBasic.openNormalLogin.isDisplayed().then(function() {
loginBasic.openNormalLogin.click();
});

browser.sleep(300);
login.usernameField.isDisplayed().then(function() {
login.usernameField.sendKeys(username);
});

login.passwordField.sendKeys(password);
login.loginButton.click();
infoBar.avatar.click();

browser.sleep(1000);
myProfile.editProfileButton.click();

browser.sleep(1000);
username.field.clear();
username.field.sendKeys(newUsername);
editProfileButtons.saveChanges.click();

browser.sleep(1000);
myProfile.username.getText().then(function (text){
expect(text).to.equal(newUsername);
});
});
});

我还尝试在我的配置文件中添加以下内容以禁用动画:

onPrepare: function() {
var disableNgAnimate = function() {
angular.module('disableNgAnimate', []).run(['$animate', function($animate) {
$animate.enabled(false);
}]);
};

browser.addMockModule('disableNgAnimate', disableNgAnimate);
}

最佳答案

显式等待 browser.wait()可能会使测试更可靠。

例如,等待元素变为可点击:

var EC = protractor.ExpectedConditions;
var elm = element(by.css(".myclass"));

browser.wait(EC.elementToBeClickable(elm), 5000);

您也可以完全关闭 Angular 动画,请参阅:

关于javascript - Protractor - 如何处理大量动画的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32097973/

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