Open
Description
I've tried a few of the scroll methods but none of them seem to be working (python, flutter, iOS)
Environment
iPad Pro 16.6.1
flutter --version
Flutter 3.13.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision efbf63d9c6 (9 weeks ago) • 2023-08-15 21:05:06 -0500
Engine • revision 1ac611c64e
Tools • Dart 3.1.0 • DevTools 2.25.0
pip3 show Appium-Flutter-Finder
Name: Appium-Flutter-Finder
Version: 0.6.1
...
pip3 show Appium-Python-Client
Name: Appium-Python-Client
Version: 3.1.0
...
flutter:scrollIntoView Error
command:
driver = webdriver.Remote(appium_server_url, capabilities)
assert driver.execute("flutter:scrollIntoView", finder.by_text('Begin'))
error:
fixturefunc = <function my_function at 0x10361e520>, request = <FixtureRequest for <Function test_1>>, kwargs = {}
def call_fixture_func(
fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs
) -> FixtureValue:
if is_generator(fixturefunc):
fixturefunc = cast(
Callable[..., Generator[FixtureValue, None, None]], fixturefunc
)
generator = fixturefunc(**kwargs)
try:
fixture_result = next(generator)
except StopIteration:
raise ValueError(f"{request.fixturename} did not yield a value") from None
finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator)
request.addfinalizer(finalizer)
else:
fixturefunc = cast(Callable[..., FixtureValue], fixturefunc)
> fixture_result = fixturefunc(**kwargs)
/opt/homebrew/lib/python3.11/site-packages/_pytest/fixtures.py:902:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
my_test.py:20: in my_test
assert common.my_test(driver)
my_test.py:112: in my_test
assert driver.execute("flutter:scrollIntoView", finder.by_text('Begin') )
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <appium.webdriver.webdriver.WebDriver (session="55c49cf8-a75b-4381-af60-43c9ec9a9186")>, driver_command = 'flutter:scrollIntoView', params = 'eyJmaW5kZXJUeXBlIjoiQnlUZXh0IiwidGV4dCI6IkJlZ2luIFByb2NlZHVyZSJ9'
def execute(self, driver_command: str, params: dict = None) -> dict:
"""Sends a command to be executed by a command.CommandExecutor.
:Args:
- driver_command: The name of the command to execute as a string.
- params: A dictionary of named parameters to send with the command.
:Returns:
The command's JSON response loaded into a dictionary object.
"""
params = self._wrap_value(params)
if self.session_id:
if not params:
params = {"sessionId": self.session_id}
elif "sessionId" not in params:
> params["sessionId"] = self.session_id
E TypeError: 'str' object does not support item assignment
/opt/homebrew/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py:340: TypeError
_______________________________________________________________________________________ my_test ________________________________________________________________________________________
fixturefunc = <function my_function at 0x10361e520>, request = <FixtureRequest for <Function my_test>>, kwargs = {}
def call_fixture_func(
fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs
) -> FixtureValue:
if is_generator(fixturefunc):
fixturefunc = cast(
Callable[..., Generator[FixtureValue, None, None]], fixturefunc
)
generator = fixturefunc(**kwargs)
try:
fixture_result = next(generator)
except StopIteration:
raise ValueError(f"{request.fixturename} did not yield a value") from None
finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator)
request.addfinalizer(finalizer)
else:
fixturefunc = cast(Callable[..., FixtureValue], fixturefunc)
> fixture_result = fixturefunc(**kwargs)
/opt/homebrew/lib/python3.11/site-packages/_pytest/fixtures.py:902: