Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change list
new functional interface
io.appium.java_client.functions.AppiumFunction
was designed. It extends 'java.util.function.Function' andcom.google.common.base.Function
. It was designed in order to provide compatibility with theorg.openqa.selenium.support.ui.Wait
.new functional interface
io.appium.java_client.functions.ExpectedCondition
was designed. It extends 'io.appium.java_client.functions.AppiumFunction' andorg.openqa.selenium.support.ui.ExpectedCondition
.the new interface
io.appium.java_client.PerformsActions
was added. It unifiesTouchAction
andMultiTouchAction
now.io.appium.java_client.functions.ActionSupplier
was designed. It extendsjava.util.function.Supplier
.source code cleaning up.
Types of changes
Details
1)
io.appium.java_client.functions.AppiumFunction
andio.appium.java_client.functions.ExpectedCondition
provide chained waitings. Samples are below.All this is NullPointerException-safe.
2) We are going to remove old gesture methods because they doesn't work as expected for many cases, they force users to use only way defined by them (but it is possible to perform some action in many ways. For example, it is possible to perform the swiping in aboit 6-8 similar ways). But end users should be able to customize TouchAction/MultipleTouchAction up to them. So I decided to propose the supplier. Possible options: