Я работаю над автоматизацией Protractor, где мне нужно сохранить JSON после нескольких действий в браузере. Затем я проверяю длину объекта, но я видел, что при задании в setTimeout не работают ни консольные, ни ожидаемые условия.
Консольные операторы и операторы ожидания работают, если не заданы в setTimeout, но ответ JSONасинхронный еще до действий.
test_speck.js:
it('Verify the json', function () {
this.commonfunc.checkJSON();
}
common_functions.js:
checkJSON: function(){
setTimeout(function(){
var request = require('request');
request('https://jsonplaceholder.typicode.com/users', function (error, response, body){
if (!error && response.statusCode == 200){
var importedJSON = JSON.parse(body);
console.log('Length of importedJSON : ' + importedJSON.length);
expect(importedJSON.length).toBeGreaterThan(0);
}
}
},90000);
}
Факт: спецификация передается без каких-либо операторов console.log или ожидаемого. Ожидаемое: консоль и ожидаемая статистика будут работать