0
섹션 헤더가 올바른 순서로 여러 사이트를 테스트하려고합니다. 물론 엘리먼트에서 텍스트를 가져 오는 것을 포함하여 Nightwatch에서는 모든 것이 비동기입니다. 다음 코드는 절대로 호출되지 않는 제한 시간을 발생시킵니다.Nightwatch.js에서 여러 비동기 작업을 기다리는 중
client.url(`www.oneofmyrealestatesites.com`);
client.waitForElementPresent("body", 5000);
var _ = require("underscore");
// This is the order I expect things to be in
var expected = ["Homes For Sale", "New Homes", "Apartments & Rentals"];
client.elements("css selector", ".listings .module-title .label", function (data) {
var listings = [];
data.value.forEach(function (element) {
client.elementIdText(element.ELEMENT, function (result) {
listings.push(result.value);
})
})
setTimeout(function() {
// Some of the sites have extra sections
var diff = _.intersection(listings, expected);
client.assert.ok(listings == diff);
}, 5000);
});
지연이 아무리 많아도 목록은 항상 비어 있습니다. console.log 목록을 밀어 넣을 때 은으로 채워 지므로 문제가되지 않습니다. client.pause
도 항상 무시됩니다.
diff를 적용하기 전에 목록을 채우는 방법이 있습니까?