I cannot understand how to correctly handle execution flow in Webdriver.io
.
Here is my function
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();
}
However browserClient.element
returns status : pending
. I need something like promises chain that a whole chain won't finish until all then statements are executed if there were no exception.
The provided example is really simple, there could be more actions even after finding elements.
Could someone suggest how to handle this chain sequentially like a promise chain.
I would be grateful for any help.
via e109848
No comments:
Post a Comment