Skip to content

Commit a9e90c0

Browse files
authored
Merge pull request #468 from Dor-bl/mock-test-fix
test: Fix mock tests to comply with newer appium versions
2 parents d569aa2 + 2c8784c commit a9e90c0

3 files changed

Lines changed: 29 additions & 23 deletions

File tree

tests/keywords/test_multipleAppiumConnections.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,32 +36,32 @@ def test_MAC_openApplication_successful(self):
3636
# create 1st application - alias=MyAppA - index=1
3737
appIndex = self.am.open_application('http://127.0.0.1:4723/wd/hub', alias='MyAppA', platformName='Android', platformVersion='4.4', deviceName='MyDevice01')
3838
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4723')
39-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice01')
39+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice01')
4040
self.assertEqual(appIndex, 1)
4141
self.am.lock()
4242
# create 2nd application - alias=MyAppB - index=2
4343
appIndex = self.am.open_application('http://127.0.0.1:4733/wd/hub', alias='MyAppB', platformName='Android', platformVersion='4.4', deviceName='MyDevice02')
4444
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4733')
45-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice02')
45+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice02')
4646
self.assertEqual(appIndex, 2)
4747
self.am.lock()
4848
# switch to 1st application - alias=MyAppA - index=2 (switch_application returns the previous app index)
4949
appIndex = self.am.switch_application('MyAppA')
5050
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4723')
51-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice01')
51+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice01')
5252
self.assertEqual(appIndex, 2)
5353
self.am.lock()
5454
# create 3rd application - alias=MyAppC - index=3
5555
appIndex = self.am.open_application('http://127.0.0.1:4743/wd/hub', alias='MyAppC', platformName='Android', platformVersion='4.4', deviceName='MyDevice03')
5656

5757
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4743')
58-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice03')
58+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice03')
5959
self.assertEqual(appIndex, 3)
6060
self.am.lock()
6161
# switch to 2nd application - alias=MyAppB - index=3 (switch_application returns the previous app index)
6262
appIndex = self.am.switch_application('MyAppB')
6363
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4733')
64-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice02')
64+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice02')
6565
self.assertEqual(appIndex, 3)
6666
self.am.lock()
6767

@@ -90,21 +90,21 @@ def test_MAC_switchWithAlias_successful(self):
9090
# switch to 1st application - alias=MyAppA - index=2 (switch_application returns the previous app index)
9191
appIndex = self.am.switch_application('MyAppA')
9292
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4723')
93-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice01')
93+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice01')
9494
self.assertEqual(appIndex, 2)
9595
self.am.lock()
9696
# create 3rd application - alias=MyAppC - index=3
9797
self.am.open_application('http://127.0.0.1:4743/wd/hub', alias='MyAppC', platformName='Android', platformVersion='4.4', deviceName='MyDevice03')
9898
# switch to 2nd application - alias=MyAppB - index=3 (switch_application returns the previous app index)
9999
appIndex = self.am.switch_application('MyAppB')
100100
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4733')
101-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice02')
101+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice02')
102102
self.assertEqual(appIndex, 3)
103103
self.am.lock()
104104
# switch back to 3nd application - alias=MyAppC - index=2 (switch_application returns the previous app index)
105105
appIndex = self.am.switch_application('MyAppC')
106106
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4743')
107-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice03')
107+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice03')
108108
self.assertEqual(appIndex, 2)
109109
self.am.lock()
110110

@@ -129,21 +129,21 @@ def test_MAC_switchWithIndex_successful(self):
129129
# switch to 1st application - index=1 - appIndex=2 (switch_application returns the previous app index)
130130
appIndex = self.am.switch_application(1)
131131
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4723')
132-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice01')
132+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice01')
133133
self.assertEqual(appIndex, 2)
134134
self.am.lock()
135135
# create 3rd application - alias=MyAppC - index=3
136136
self.am.open_application('http://127.0.0.1:4743/wd/hub', alias='MyAppC', platformName='Android', platformVersion='4.4', deviceName='MyDevice03')
137137
# switch to 2nd application - index=2 - appIndex=3 (switch_application returns the previous app index)
138138
appIndex = self.am.switch_application(2)
139139
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4733')
140-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice02')
140+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice02')
141141
self.assertEqual(appIndex, 3)
142142
self.am.lock()
143143
# switch back to 3nd application - index=3 - appIndex=2 (switch_application returns the previous app index)
144144
appIndex = self.am.switch_application(appIndex)
145145
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4743')
146-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice03')
146+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice03')
147147
self.assertEqual(appIndex, 2)
148148
self.am.lock()
149149

@@ -213,12 +213,12 @@ def test_MAC_switchAndClose_successful(self):
213213
self.am.close_application()
214214
self.am.switch_application(3)
215215
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4743')
216-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice03')
216+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice03')
217217
appIndex = self.am.open_application('http://127.0.0.1:4753/wd/hub', alias='MyAppD', platformName='Android', platformVersion='4.4', deviceName='MyDeviDce04')
218218
self.assertEqual(appIndex, 4)
219219
appIndex = self.am.switch_application('MyAppA')
220220
self.assertRegex(self.am._cache.current._appiumUrl, '127.0.0.1:4723')
221-
self.assertEqual(self.am._cache.current._desCapa.get('deviceName'), 'MyDevice01')
221+
self.assertEqual(self.am._cache.current._desCapa.get('appium:deviceName'), 'MyDevice01')
222222

223223
def test_MAC_closeAll_successful(self):
224224
# create apps

tests/keywords/webdriverremotemock.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,20 @@
1212

1313
class WebdriverRemoteMock(mock.Mock, unittest.TestCase):
1414
#def __init__(self, *args, **kwargs):
15-
def __init__(self, command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=None, browser_profile=None, proxy=None, keep_alive=False):
15+
def __init__(self, command_executor='http://127.0.0.1:4444/wd/hub', options=None, client_config=None, **kwargs):
1616
super(WebdriverRemoteMock, self).__init__()
1717
self._appiumUrl = command_executor
18-
self._desCapa = desired_capabilities
18+
self._options = options
19+
self._client_config = client_config
1920
self._dead = False
2021
self._myData = ''
21-
#logger.debug(desired_capabilities)
22-
for key in desired_capabilities:
23-
self.assertNotEqual(desired_capabilities[key], None, 'Null value in desired capabilities')
22+
# Extract capabilities from options for backward compatibility with tests
23+
self._desCapa = {}
24+
if options is not None:
25+
caps = options.to_capabilities() if hasattr(options, 'to_capabilities') else {}
26+
self._desCapa = caps
27+
for key, value in caps.items():
28+
self.assertNotEqual(value, None, 'Null value in capabilities')
2429

2530
def _get_child_mock(self, **kwargs):
2631
return mock.Mock(**kwargs)

tests/locators/test_elementfinder.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import unittest
22

33
import mock
4+
from appium.webdriver.common.appiumby import AppiumBy
45

56
from AppiumLibrary.locators import ElementFinder
67

@@ -21,9 +22,9 @@ def test_should_have_strategies(self):
2122
def test_should_use_android_finder(self):
2223
"""android strategy should use android finder."""
2324
self.finder.find(self.browser, 'android=UI Automator', tag=None)
24-
self.browser.find_elements_by_android_uiautomator.assert_called_with("UI Automator")
25+
self.browser.find_elements.assert_called_with(by=AppiumBy.ANDROID_UIAUTOMATOR, value="UI Automator")
2526

26-
def test_should_use_ios_finder(self):
27-
"""ios strategy should use ios finder."""
28-
self.finder.find(self.browser, 'ios=UI Automation', tag=None)
29-
self.browser.find_elements_by_ios_uiautomation.assert_called_with("UI Automation")
27+
def test_should_use_ios_predicate_finder(self):
28+
"""predicate strategy should use ios predicate finder."""
29+
self.finder.find(self.browser, 'predicate=type == "XCUIElementTypeButton"', tag=None)
30+
self.browser.find_elements.assert_called_with(by=AppiumBy.IOS_PREDICATE, value='type == "XCUIElementTypeButton"')

0 commit comments

Comments
 (0)