From 2fb8076bc90f582c191da012b08a20b1018f2297 Mon Sep 17 00:00:00 2001 From: Dor-bl <59066376+Dor-bl@users.noreply.github.com> Date: Sun, 11 Oct 2026 22:17:52 +0000 Subject: [PATCH 1/3] test: add unit tests for AppiumLocatorConverter --- test/unit/webdriver/locator_converter_test.py | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 test/unit/webdriver/locator_converter_test.py diff --git a/test/unit/webdriver/locator_converter_test.py b/test/unit/webdriver/locator_converter_test.py new file mode 100644 index 00000000..a17ec901 --- /dev/null +++ b/test/unit/webdriver/locator_converter_test.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from selenium.webdriver.remote.locator_converter import LocatorConverter + +from appium.webdriver.common.appiumby import AppiumBy +from appium.webdriver.locator_converter import AppiumLocatorConverter + + +class TestAppiumLocatorConverter: + def test_subclass_locator_converter(self) -> None: + converter = AppiumLocatorConverter() + assert isinstance(converter, LocatorConverter) + + @pytest.mark.parametrize( + 'by, value', + [ + ('id', 'my_element_id'), + ('xpath', '//button[@name="submit"]'), + ('css selector', '.my-class'), + (AppiumBy.ACCESSIBILITY_ID, 'accessibility_identifier'), + (AppiumBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("Cancel")'), + (AppiumBy.IOS_PREDICATE, 'label == "Confirm"'), + (AppiumBy.IOS_CLASS_CHAIN, '**/XCUIElementTypeCell'), + ('', ''), + ('custom_strategy', 'custom_value'), + ], + ) + def test_convert_returns_unmodified_tuple(self, by: str, value: str) -> None: + converter = AppiumLocatorConverter() + result = converter.convert(by, value) + assert result == (by, value) + assert isinstance(result, tuple) From 3e8e1e4e46ba4a7be857748ecd8f4d030ed45406 Mon Sep 17 00:00:00 2001 From: Dor-bl <59066376+Dor-bl@users.noreply.github.com> Date: Sun, 11 Oct 2026 23:03:48 +0000 Subject: [PATCH 2/3] test: add unit tests for AppiumLocatorConverter From 5a91c412fde4069dcdb9224fdaf656138d573b1d Mon Sep 17 00:00:00 2001 From: Dor-bl <59066376+Dor-bl@users.noreply.github.com> Date: Sun, 11 Oct 2026 23:37:04 +0000 Subject: [PATCH 3/3] test: add unit tests for AppiumLocatorConverter