IMPORTANT CHANGE: The scrollTo() and scrollToExact() methods have been removed because they used the ComplexFind method, which is no longer part of appium. I wanted to release this update because new methods for appium that people want to use.
We will definitely re-add the scrolling methods, but first we have to implement another change:
PLANNED CHANGE TO JAVA-CLIENT: Some commands only work on iOS while others only work on Android. This is confusing and not well documented. Weāre planning on making two new classes AndroidDriver and IOSDriver which will inherit from AppiumDriver. You can discuss your opinion of the change in this topic, or on github
Hereās rest of the changelog for the new release:
Removed scrollTo() and scrollToExact() methods because they relied on complexFind(). They will be added back in the next version!
Removed complexFind()
Added startActivity() method
Added isLocked() method
Added getSettings() and ignoreUnimportantViews() methods
Thanks for this update @Jonahss.
As you already mentioned scrollTo() is very useful utility and hope to have it integrated back with more stability very soon.
It will be great if the documentation is more descriptive. Currently I feel its very abstract.
As in the example below, its difficult to understand values āusingā will take. If some explanation saying, String value having UISelector data will help.
public org.openqa.selenium.WebElement findElementByAndroidUIAutomator(String using)
Specified by:
findElementByAndroidUIAutomator in interface FindsByAndroidUIAutomator
i am trying to understand new APIs. From java doc, i am not getting clear info.
what is the usecase for these apis:
startactivity(), getSettings() and ignoreUnimportantViews().
Pull requests for documentation welcome!
The thing is, we usually add documentation to the main Appium project, and the clients arenāt documented as much. Maybe Iāll provide links there?
Doesnāt work for me. It involves specifying an element that is not visible, which triggers an exception, which halts the tests and closes the simulator:
error: Unhandled error: TypeError: Cannot read property āstatusā of undefined
at null. (/usr/local/share/npm/lib/node_modules/appium/lib/devices/ios/ios-controller.js:169:19)
at Object.cb [as callback] (/usr/local/share/npm/lib/node_modules/appium/lib/devices/ios/ios-controller.js:239:5)
at next (/usr/local/share/npm/lib/node_modules/appium/node_modules/async/lib/async.js:801:43)
at /usr/local/share/npm/lib/node_modules/appium/node_modules/async/lib/async.js:32:16
at null. (/usr/local/share/npm/lib/node_modules/appium/lib/devices/ios/ios.js:1273:36)
at Object.q.process [as _onImmediate] (/usr/local/share/npm/lib/node_modules/appium/node_modules/async/lib/async.js:809:21)
Related to the ScrollTo, I was trying to use that as a work-around for Swipe, but it wonāt work for me because Iām trying to swipe on a slider. Iāll need and option to trace all the way from one point to the other. Probably ScrollTo wonāt work for that.
Those exist @Neto18. You can draw touch actions which follow a path drawn between arbitrary points. Check out this image appium drew on a multi-touch paint program