SO *_*ser 6 angularjs protractor
我使用了答案/sf/answers/1760457681/中的代码.
我做下一个:
it('HTTP request', function () {
var BackRequest = require('../helper/backRequest');
var request = new BackRequest();
page.visitPage();
request.setBaseUrl('http://localhost:8081');
// Step #1
request.get('/api/v1/one')
.then(function(result){
expect(result.statusCode).toBe(100); // An error #1
expect(result.bodyString).toContain('Some text');
});
// Step #2
expect(1).toBe(2); // an error #2
});
Run Code Online (Sandbox Code Playgroud)
我按顺序得到错误:
如何强制量角器等待步骤#1然后执行步骤#2.
现在我只能做链接then()函数:
request.get('/api/v1/one')
.then(function(result){
expect(result.statusCode).toBe(100); // An error #1
expect(result.bodyString).toContain('Some text')
.then(function(result){
expect(1).toBe(2);
});
Run Code Online (Sandbox Code Playgroud)
更新
因此,它最终采用下一种方法:
describe('Scenarios', function () {
beforeEach(function () {
page.visitPage();
});
var chain = function () {
var defer = protractor.promise.defer();
defer.fulfill(true);
return defer.promise;
};
it('HTTP request', function () {
var BackRequest = require('../helper/backRequest');
var request = new BackRequest();
request.setBaseUrl('http://localhost:8081');
chain()
.then(function () {
// Save data
})
.then(function () {
request.get('/api/v1/one')
.then(function (result) {
expect(result.statusCode).toBe(200);
expect(result.bodyString).toContain('text');
});
})
.then(function () {
// Change and Save again
})
.then(function () {
request.get('/api/v1/one')
.then(function (result) {
expect(result.statusCode).toBe(200);
expect(result.bodyString).toContain('new text');
expect(result.bodyString).not.toContain('text');
});
});
});
});
Run Code Online (Sandbox Code Playgroud)
感谢Leo Gallucci的帮助.
步骤#2立即得到解决,因为没有什么可以等待,没有webdriver承诺,你只是简单地比较绝对数字 expect(1).toBe(2);
您可以坚持使用链接then(),或者我喜欢的方式是单独的it()块:
it('HTTP request', function () {
// Step #1 code ...
});
it('keeps testing other things in this step #2', function () {
expect(1).toBe(2);
});
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我很高兴你找到了我的另一个答案!
| 归档时间: |
|
| 查看次数: |
6707 次 |
| 最近记录: |