0
Webdriver.io
에서 실행 흐름을 올바르게 처리하는 방법을 이해할 수 없습니다.Webdriver IO가 모든 명령을 순차적으로 실행합니다.
은 여기 내 기능
checkOrderStatus(info, callback) {
let browserClient = this._webDriverClient;
// Make order flow
browserClient.init()
.url("http://localhost")
.selectByVisibleText("products", "MacBook")
.setValue("input[name='first_name']", info.name)
.setValue("input[name='address']", info.address)
.click("button[name='confirm']");
let errorElements = browserClient.element('.error');
if (errorElements.length > 0) {
callback.onError("Error");
}
else {
let successElements = browserClient.element(".success");
if (successElements.length > 0) {
callback.onSuccess("Success");
}
}
browserClient.end();
}
그러나 browserClient.element
반환 status : pending
입니다. 약속 체인과 같은 것이 필요합니다. 예외가 없으면 모든 명령문이 실행될 때까지 전체 체인이 완료되지 않습니다.
제공된 예제는 실제로 간단합니다. 요소를 찾은 후에도 더 많은 작업이있을 수 있습니다.
누군가가이 체인을 약속 체인과 같이 순차적으로 처리하는 방법을 제안 할 수 있습니까?
나는 도움을 주셔서 감사합니다.