Skip to content

Commit 0a79698

Browse files
takeyaqaSrinivasanTarget
authored andcommitted
add the settings which introduced in appium 1.14 (#1166)
* add the settings which introduced in appium 1.14 * add trackScrollEvents, keyboardAutocorrection, keyboardPrediction, getMatchedImageResult * fix javadocs * add tests * fix javadoc
1 parent f8982af commit 0a79698

File tree

5 files changed

+64
-2
lines changed

5 files changed

+64
-2
lines changed

src/main/java/io/appium/java_client/Setting.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818

1919
/**
2020
* Enums defining constants for Appium Settings which can be set and toggled during a test session.
21-
* https://appium.io/docs/en/advanced-concepts/settings/
21+
* <br>
22+
* <a href="https://appium.io/docs/en/advanced-concepts/settings/">
23+
* https://appium.io/docs/en/advanced-concepts/settings/</a>
2224
*/
2325
public enum Setting {
2426

@@ -33,12 +35,15 @@ public enum Setting {
3335
NORMALIZE_TAG_NAMES("normalizeTagNames"),
3436
KEY_INJECTION_DELAY("keyInjectionDelay"),
3537
SHUTDOWN_ON_POWER_DISCONNECT("shutdownOnPowerDisconnect"),
38+
TRACK_SCROLL_EVENTS("trackScrollEvents"),
3639
// iOS
3740
MJPEG_SERVER_SCREENSHOT_QUALITY("mjpegServerScreenshotQuality"),
3841
MJPEG_SERVER_FRAMERATE("mjpegServerFramerate"),
3942
SCREENSHOT_QUALITY("screenshotQuality"),
4043
NATIVE_WEB_TAP("nativeWebTap"),
4144
MJPEG_SCALING_FACTOR("mjpegScalingFactor"),
45+
KEYBOARD_AUTOCORRECTION("keyboardAutocorrection"),
46+
KEYBOARD_PREDICTION("keyboardPrediction"),
4247
// Android and iOS
4348
SHOULD_USE_COMPACT_RESPONSES("shouldUseCompactResponses"),
4449
ELEMENT_RESPONSE_ATTRIBUTES("elementResponseAttributes"),
@@ -50,7 +55,8 @@ public enum Setting {
5055
CHECK_IMAGE_ELEMENT_STALENESS("checkForImageElementStaleness"),
5156
UPDATE_IMAGE_ELEMENT_POSITION("autoUpdateImageElementPosition"),
5257
FIX_IMAGE_TEMPLATE_SCALE("fixImageTemplateScale"),
53-
DEFAULT_IMAGE_TEMPLATE_SCALE("defaultImageTemplateScale");
58+
DEFAULT_IMAGE_TEMPLATE_SCALE("defaultImageTemplateScale"),
59+
GET_MATCHED_IMAGE_RESULT("getMatchedImageResult");
5460

5561
private final String name;
5662

src/main/java/io/appium/java_client/android/HasAndroidSettings.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,4 +177,18 @@ default HasAndroidSettings shutdownOnPowerDisconnect(boolean enabled) {
177177
setSetting(Setting.SHUTDOWN_ON_POWER_DISCONNECT, enabled);
178178
return this;
179179
}
180+
181+
/**
182+
* Turn on or off the tracking of scroll events as they happen.
183+
* If {@code true}, a field {@code lastScrollData} is added to the results of
184+
* {@code getSession}, which can then be used to check on scroll progress.
185+
* Turning this feature off significantly increases touch action performance.
186+
*
187+
* @param enabled Either true or false. The default value if true.
188+
* @return self instance for chaining
189+
*/
190+
default HasAndroidSettings setTrackScrollEvents(boolean enabled) {
191+
setSetting(Setting.TRACK_SCROLL_EVENTS, enabled);
192+
return this;
193+
}
180194
}

src/main/java/io/appium/java_client/ios/HasIOSSettings.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,26 @@ default HasIOSSettings setMjpegScalingFactor(int scale) {
107107
setSetting(Setting.MJPEG_SCALING_FACTOR, scale);
108108
return this;
109109
}
110+
111+
/**
112+
* Changes the 'Auto-Correction' preference in Keyboards setting.
113+
*
114+
* @param enabled Either true or false. Defaults to false when WDA starts as xctest.
115+
* @return self instance for chaining
116+
*/
117+
default HasIOSSettings setKeyboardAutocorrection(boolean enabled) {
118+
setSetting(Setting.KEYBOARD_AUTOCORRECTION, enabled);
119+
return this;
120+
}
121+
122+
/**
123+
* Changes the 'Predictive' preference in Keyboards setting.
124+
*
125+
* @param enabled Either true or false. Defaults to false when WDA starts as xctest.
126+
* @return self instance for chaining
127+
*/
128+
default HasIOSSettings setKeyboardPrediction(boolean enabled) {
129+
setSetting(Setting.KEYBOARD_PREDICTION, enabled);
130+
return this;
131+
}
110132
}

src/test/java/io/appium/java_client/android/SettingTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,14 @@ public class SettingTest extends BaseAndroidTest {
8484
.get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString()));
8585
}
8686

87+
@Test public void testSetTrackScrollEvents() {
88+
assertEquals(true, driver.getSettings()
89+
.get(Setting.TRACK_SCROLL_EVENTS.toString()));
90+
driver.setTrackScrollEvents(false);
91+
assertEquals(false, driver.getSettings()
92+
.get(Setting.TRACK_SCROLL_EVENTS.toString()));
93+
}
94+
8795
private void assertJSONElementContains(Setting setting, long value) {
8896
assertEquals(driver.getSettings().get(setting.toString()), value);
8997
}

src/test/java/io/appium/java_client/ios/SettingTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,5 +71,17 @@ public class SettingTest extends AppIOSTest {
7171
.get(Setting.MJPEG_SCALING_FACTOR.toString()));
7272
}
7373

74+
@Test public void testSetKeyboardAutocorrection() {
75+
driver.setKeyboardAutocorrection(true);
76+
assertEquals(true, driver.getSettings()
77+
.get(Setting.KEYBOARD_AUTOCORRECTION.toString()));
78+
}
79+
80+
@Test public void testSetKeyboardPrediction() {
81+
driver.setKeyboardPrediction(true);
82+
assertEquals(true, driver.getSettings()
83+
.get(Setting.KEYBOARD_PREDICTION.toString()));
84+
}
85+
7486

7587
}

0 commit comments

Comments
 (0)