Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ def scroll_till_visible(

Args:
scroll_to (FlutterFinder): The Flutter element to scroll to.
scroll_direction (ScrollDirection): The direction to scroll up or down. Defaults to `ScrollDirection.DOWN`.
scroll_direction (ScrollDirection): The direction to scroll. Defaults to `ScrollDirection.DOWN`.

KeywordArgs:
scrollView (str): The view of the scroll. Default value is 'Scrollable'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@
class ScrollDirection(Enum):
UP = 'up'
DOWN = 'down'
LEFT = 'left'
RIGHT = 'right'
26 changes: 26 additions & 0 deletions test/unit/webdriver/flutter_integration/flutter_actions_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import os

import httpretty
import pytest

from appium.common.helper import encode_file_to_base64
from appium.webdriver.extensions.flutter_integration.flutter_commands import FlutterCommand
Expand Down Expand Up @@ -86,6 +87,31 @@ def test_scroll_till_visible(self):
assert request_body['script'] == 'flutter: scrollTillVisible'
assert arguments == expected_arguments

@pytest.mark.parametrize(
('scroll_direction', 'expected_value'),
[(ScrollDirection.LEFT, 'left'), (ScrollDirection.RIGHT, 'right')],
)
@httpretty.activate
def test_scroll_till_visible_horizontally(self, scroll_direction, expected_value):
driver = flutter_w3c_driver()
flutter = FlutterCommand(driver)

httpretty.register_uri(
httpretty.POST,
appium_command('/session/1234567890/execute/sync'),
)

finder = FlutterFinder.by_key('message_field')
flutter.scroll_till_visible(finder, scroll_direction)

request_body = get_httpretty_request_body(httpretty.last_request())
arguments = request_body['args'][0]
assert request_body['script'] == 'flutter: scrollTillVisible'
assert arguments == {
'finder': {'using': '-flutter key', 'value': 'message_field'},
'scrollDirection': expected_value,
}

@httpretty.activate
def test_scroll_till_visible_with_kwargs(self):
driver = flutter_w3c_driver()
Expand Down
Loading