This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from core.models import ActiveApp
|
||||
from driver.android_driver import AndroidDriver
|
||||
from driver.wda_driver import WDADriver
|
||||
from tools.ui_tree import get_ui_tree
|
||||
from device.manager import DeviceManager
|
||||
from tests.fakes import FakeDriver
|
||||
|
||||
|
||||
def test_android_driver_reads_current_package_and_activity() -> None:
|
||||
driver = AndroidDriver()
|
||||
driver._client = MagicMock()
|
||||
driver._client.current_package = "com.example.mobile"
|
||||
driver._client.current_activity = ".MainActivity"
|
||||
|
||||
assert driver.active_app() == ActiveApp(
|
||||
platform="android",
|
||||
package="com.example.mobile",
|
||||
activity=".MainActivity",
|
||||
)
|
||||
|
||||
|
||||
def test_wda_driver_reads_current_bundle_id() -> None:
|
||||
driver = WDADriver()
|
||||
driver._client = MagicMock()
|
||||
driver._client.execute_script.return_value = {
|
||||
"bundleId": "com.example.mobile",
|
||||
"pid": 123,
|
||||
}
|
||||
|
||||
assert driver.active_app() == ActiveApp(
|
||||
platform="ios",
|
||||
bundle_id="com.example.mobile",
|
||||
)
|
||||
driver._client.execute_script.assert_called_once_with("mobile: activeAppInfo")
|
||||
|
||||
|
||||
def test_ui_tree_keeps_list_response_without_active_app_option() -> None:
|
||||
manager = DeviceManager()
|
||||
manager.register_device(
|
||||
"phone-1",
|
||||
lambda: FakeDriver(
|
||||
active_app=ActiveApp(platform="ios", bundle_id="com.example.mobile")
|
||||
),
|
||||
)
|
||||
manager.connect("phone-1")
|
||||
|
||||
response = get_ui_tree("phone-1", manager=manager)
|
||||
|
||||
assert isinstance(response, list)
|
||||
assert any(node["text"] == "Search" for node in response)
|
||||
Reference in New Issue
Block a user