admc / wd

A node.js client for webdriver/selenium 2.
Other
1.53k stars 402 forks source link

sessionId is replaced by a function in isVisible API. #538

Closed khanhdodang closed 6 years ago

khanhdodang commented 6 years ago

Run automation test on iOS device with API below:

driver.isVisible()

Observed: The sessionId is replaced by function.

> CALL isVisible() 
isVisible has been deprecated, use isDisplayed instead.
 > GET /session/:sessionID/element/function%20(err)%20%7B%0A%20%20%20%20%20%20if(err)%20%7B%0A%20%20%20%20%20%20%20%20err.message%20=%20%27[%27%20+%20name%20+%20niceArgs(fargs.all)%20+%20%22]%20%22%20+%20err.message;%0A%20%20%20%20%20%20%20%20if(fargs.callback)%20%7B%20fargs.callback(err);%20%7D%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20var%20cbArgs%20=%20__slice.call(arguments,%200);%0A%20%20%20%20%20%20%20%20_this.emit(%27command%27,%20%22RESPONSE%22%20,%20name%20+%20niceArgs(fargs.all),%0A%20%20%20%20%20%20%20%20%20%20niceResp(_.drop(cbArgs)));%0A%20%20%20%20%20%20%20%20if(fargs.callback)%20%7B%20fargs.callback.apply(null,%20cbArgs);%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D/css/display 
khanhdodang commented 6 years ago

The root cause is I call driver.isVisible(), but the wd expects that we find an element first then check isVisible() for that element.