Functions#543
Merged
TikhomirovSergey merged 7 commits intoappium:masterappium/java-client:masterfrom Dec 22, 2016
TikhomirovSergey:masterCopy head branch name to clipboard
Merged
Functions#543TikhomirovSergey merged 7 commits intoappium:masterappium/java-client:masterfrom TikhomirovSergey:masterCopy head branch name to clipboard
TikhomirovSergey merged 7 commits intoappium:masterappium/java-client:masterfrom
TikhomirovSergey:masterCopy head branch name to clipboard
Conversation
The new ExpectedCondition was added. It combines org.openqa.selenium.support.ui.ExpectedCondition and java.util.function.Function.
Methods `compose` and `andThen` were overridden the way to prevent NPE occurence.
Everything was covered with tests
It was added to allow user to customize gestures in more agile way. Also: - the new interface PerformsActions was added. It is implemented by TouchAction and MultiTouchAction. - The feature was covered with test.
Contributor
Author
|
@jlipps @bootstraponline @saikrishna321 You are invited to review this PR too :) |
Contributor
Author
SrinivasanTarget
approved these changes
Dec 22, 2016
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.AppiumFunctionwas 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.ExpectedConditionwas designed. It extends 'io.appium.java_client.functions.AppiumFunction' andorg.openqa.selenium.support.ui.ExpectedCondition.the new interface
io.appium.java_client.PerformsActionswas added. It unifiesTouchActionandMultiTouchActionnow.io.appium.java_client.functions.ActionSupplierwas designed. It extendsjava.util.function.Supplier.source code cleaning up.
Types of changes
Details
1)
io.appium.java_client.functions.AppiumFunctionandio.appium.java_client.functions.ExpectedConditionprovide 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: