Skip to content

test: add unit tests for orientation setter - #1289

Open
Dor-bl wants to merge 8 commits into
appium:masterfrom
Dor-bl:test-orientation-7851551434230814572
Open

Dor-bl wants to merge 8 commits into
appium:masterfrom
Dor-bl:test-orientation-7851551434230814572

Conversation

@Dor-bl

@Dor-bl Dor-bl commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Description

Adds unit tests for the orientation getter and setter in the Appium Python Client to improve test coverage.

Coverage

The new tests in test/unit/webdriver/webdriver_test.py cover:

  • Getting the orientation (test_orientation_getter)
  • Setting valid orientations ('LANDSCAPE' and 'PORTRAIT') (test_orientation_setter)
  • Setting invalid orientations (e.g. 'INVALID'), asserting that a WebDriverException is raised (test_orientation_setter_invalid)

Dor-bl and others added 5 commits September 5, 2026 09:38
This patch introduces unit tests for the `orientation` setter and getter
in `test/unit/webdriver/webdriver_test.py`. It tests the happy paths
('LANDSCAPE' and 'PORTRAIT') as well as the error handling for invalid
values. Additionally, it modifies the actual orientation setter code in
`appium/webdriver/webdriver.py` to raise a `WebDriverException` when
an invalid value is passed rather than silently skipping the command,
improving reliability and code correctness.
This patch introduces unit tests for the `orientation` setter and getter
in `test/unit/webdriver/webdriver_test.py`. It tests the happy paths
('LANDSCAPE' and 'PORTRAIT') as well as the error handling for invalid
values. Additionally, it modifies the actual orientation setter code in
`appium/webdriver/webdriver.py` to raise a `WebDriverException` when
an invalid value is passed rather than silently skipping the command,
improving reliability and code correctness.

It also updates the flutter app asset download urls in
`.github/workflows/functional-test.yml` since the `latest` tag is
pointing to a release without the required artifacts.
This patch introduces unit tests for the `orientation` setter and getter
in `test/unit/webdriver/webdriver_test.py`. It tests the happy paths
('LANDSCAPE' and 'PORTRAIT') as well as the error handling for invalid
values. Additionally, it modifies the actual orientation setter code in
`appium/webdriver/webdriver.py` to raise a `WebDriverException` when
an invalid value is passed rather than silently skipping the command,
improving reliability and code correctness.

It also updates the flutter app asset download urls in
`.github/workflows/functional-test.yml` since the `latest` tag is
pointing to a release without the required artifacts.
@Dor-bl

Dor-bl commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Something went bad here. Look into it

The `appium-flutter-server` repo released version `0.0.34`, which
seems to have removed the assets uploaded to the releases page for
`app-debug.apk` and `ios.zip` that were present in `0.0.33` and older.
This caused the CI pipeline to fail because the `latest` tag redirected
to the `0.0.34` release, and curling the asset download URLs resulted in
a 404.

This commit pins the URLs in the `.github/workflows/functional-test.yml`
file to use the `0.0.32` release explicitly, so the assets can be
successfully downloaded and the CI can pass.
The `ios_test` in the CI pipeline started timing out due to inadequate
timeouts set for the driver creation.

This commit increases the `wda_launch_timeout` in the iOS helper
options to 240000ms. It also increases the `client_config.timeout` to
1200 seconds and adds `options.new_command_timeout = 600` to prevent
the tests from timing out prematurely during the simulator boot and
safari initialization.
The `ios_test` in the CI pipeline started timing out due to inadequate
timeouts set for the driver creation.

This commit increases the `wda_launch_timeout` in the iOS helper
options to 240000ms. It also increases the `client_config.timeout` to
1200 seconds and adds `options.new_command_timeout = 1200` to prevent
the tests from timing out prematurely during the simulator boot and
safari initialization.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants