Skip to content

Commit c1569fb

Browse files
consider scroll max iteration and ScrollDelta from capabilities (#26)
* Modified the element_helper file to set defaultScrollMaxIteration dynamically | Rahul|Purnima|Dharsana * Modified element helper util to set ScrollDelta dyanamically from capabilities * Removed the unused Commmented code * Implemented the review comments * Upgraded the serverVersion to 0.0.25 * Updated the import path as per review comments|Rahul
1 parent 7ce1a27 commit c1569fb

File tree

4 files changed

+9
-11
lines changed

4 files changed

+9
-11
lines changed

server/lib/src/runner.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import 'package:package_info_plus/package_info_plus.dart';
1010
const MAX_TEST_DURATION_SECS = 24 * 60 * 60;
1111
// Need a better way to fetch this for automated release, this needs to be updated along with version bump
1212
// Can stay for now as it is not a breaking change
13-
const serverVersion = '0.0.24';
13+
const serverVersion = '0.0.25';
1414

1515
void initializeTest({Widget? app, Function? callback}) async {
1616
IntegrationTestWidgetsFlutterBinding binding =

server/lib/src/utils/element_helper.dart

+4-8
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,6 @@ enum NATIVE_ELEMENT_ATTRIBUTES { enabled, displayed, clickable }
2121

2222
typedef WaitPredicate = Future<bool> Function();
2323

24-
/// Default amount to drag by when scrolling.
25-
const defaultScrollDelta = 64.0;
26-
27-
/// Default maximum number of drags during scrolling.
28-
const defaultScrollMaxIteration = 15;
29-
3024
class ElementHelper {
3125
static Future<Finder> findElement(Finder by, {String? contextId}) async {
3226
List<Finder> elementList =
@@ -492,8 +486,10 @@ class ElementHelper {
492486
Duration? settleBetweenScrollsTimeout,
493487
Duration? dragDuration,
494488
}) async {
495-
delta ??= defaultScrollDelta;
496-
maxScrolls ??= defaultScrollMaxIteration;
489+
delta ??= FlutterDriver.instance.settings
490+
.getSetting(FlutterSettings.flutterScrollDelta);
491+
maxScrolls ??= FlutterDriver.instance.settings
492+
.getSetting(FlutterSettings.flutterScrollMaxIteration);
497493
WidgetTester tester = _getTester();
498494
Finder scrollViewElement = scrollView != null
499495
? await locateElement(scrollView)

server/lib/src/utils/flutter_settings.dart

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
class FlutterSettings {
22
Map<String, dynamic> _settings = {};
33
static const String flutterElementWaitTimeout = "flutterElementWaitTimeout";
4+
static const String flutterScrollMaxIteration = "flutterScrollMaxIteration";
5+
static const String flutterScrollDelta = "flutterScrollDelta";
46

57
FlutterSettings() {
68
_setDefaultSetting();
79
}
810

911
_setDefaultSetting() {
10-
_settings = {flutterElementWaitTimeout: 5000};
12+
_settings = {flutterElementWaitTimeout: 5000,flutterScrollMaxIteration: 15,flutterScrollDelta:64};
1113
}
1214

1315
updateSetting(Map<String, dynamic> capabilities) {

server/pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: appium_flutter_server
22
description: "Appium Flutter server using Integration Test package for testing Flutter apps with Appium"
3-
version: 0.0.24
3+
version: 0.0.25
44
homepage: "https://github.com/AppiumTestDistribution/appium-flutter-server"
55

66
environment:

0 commit comments

Comments
 (0)