gpt4 book ai didi

javascript - Protractor 和 $http.post

转载 作者:行者123 更新时间:2023-12-03 08:47:30 24 4
gpt4 key购买 nike

我有一个简单的应用程序,我可以在其中添加对话(Q/A)。我已经为它编写了测试 -

describe('New Survey:', function() {
it('should be added', function() {
browser.get('http://127.0.0.1:8090/#/newConversation');
//picking a user
element.all(by.css('.form-control')).get(5).click();
element(by.model('vm.user')).sendKeys('test');
element(by.repeater('user in vm.users').row(6)).click();
//push some answers
var inputs = element.all(by.css('.form-control.validated')).each(function(element,index){
element.sendKeys('test answer');
});
//and send it
element(by.id('submit')).click();
element(by.css('.confirm')).click()
browser.waitForAngular();
});
});

点击.confirm按钮后这个方法被称为

this.saveSurvey = function(conv) {
return $http.post('/conv', conv);
};

但是 Protractor 不会等到完成,因此实际上没有任何对话发送到服务器,我怎样才能让它等到帖子完成?

最佳答案

您可以通过等待返回 promise 来等待 click() 函数执行并发送您的 post 请求。方法如下 -

element(by.id('submit')).click().then(function(){
element(by.css('.confirm')).click().then(function(){
browser.sleep(2000);
//If your server returns a response in some way that the conversation is saved, you can verify it here.
});
});

希望有帮助。

关于javascript - Protractor 和 $http.post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32820840/

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