Skip to content

Commit aebf474

Browse files
committed
Fix browser starting + allow for frametime in web experiments
1 parent b9ae51b commit aebf474

File tree

3 files changed

+31
-10
lines changed

3 files changed

+31
-10
lines changed

AndroidRunner/Browsers/Browser.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@ def __init__(self, package_name, main_activity):
1111

1212
def start(self, device):
1313
self.logger.info('%s: Start' % device.id)
14-
device.launch_activity(self.package_name, self.main_activity, from_scratch=True, force_stop=True,
15-
action='android.intent.action.VIEW')
14+
15+
kwargs = {
16+
'from_scratch': True,
17+
'force_stop': True,
18+
'action': 'android.intent.action.VIEW',
19+
}
20+
21+
if device != None and int(device.get_version()) > 12:
22+
kwargs['data_uri'] = "about:blank"
23+
24+
device.launch_activity(self.package_name, self.main_activity, **kwargs)
1625

1726
def load_url(self, device, url):
1827
self.logger.info('%s: Load URL: %s' % (device.id, url))

tests/unit/test_browsers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ def test_start(self, mock_log, browser):
6262
browser.main_activity = mock_main_activity
6363
mock_device = Mock()
6464
mock_device.id = "fake_device"
65+
mock_device.get_version.return_value = "10"
6566
browser.start(mock_device)
6667
mock_log.assert_called_once_with('fake_device: Start')
6768
mock_device.launch_activity.assert_called_once_with(mock_package_name, mock_main_activity, from_scratch=True,

tests/unit/test_experiment.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -951,6 +951,11 @@ def test_run(self, before_run, after_launch, start_profiling, interaction, stop_
951951
web_experiment.browsers = [mock_browser]
952952
web_experiment.run(mock_device, path, run, 'chrome')
953953

954+
kwargs = {
955+
"browser": mock_browser,
956+
"app": mock_browser.package_name
957+
}
958+
954959
mock_manager = Mock()
955960
mock_manager.attach_mock(before_run, "before_run_managed")
956961
mock_manager.attach_mock(after_launch, "after_launch_managed")
@@ -962,13 +967,17 @@ def test_run(self, before_run, after_launch, start_profiling, interaction, stop_
962967

963968
web_experiment.run(mock_device, path, run, 'chrome')
964969

965-
expected_calls = [call.before_run_managed(mock_device, path, run, browser=mock_browser),
966-
call.after_launch_managed(mock_device, path, run, browser=mock_browser),
967-
call.start_profiling_managed(mock_device, path, run, browser=mock_browser),
968-
call.interaction_managed(mock_device, path, run, browser=mock_browser),
969-
call.stop_profiling_managed(mock_device, path, run, browser=mock_browser),
970-
call.before_close_managed(mock_device, path, run, browser=mock_browser),
971-
call.after_run_managed(mock_device, path, run, browser=mock_browser)]
970+
expected_calls = [call.before_run_managed(mock_device, path, run, **kwargs),
971+
call.after_launch_managed(mock_device, path, run, **kwargs),
972+
call.start_profiling_managed(mock_device, path, run, **kwargs),
973+
call.interaction_managed(mock_device, path, run, **kwargs),
974+
call.stop_profiling_managed(mock_device, path, run, **kwargs),
975+
call.before_close_managed(mock_device, path, run, **kwargs),
976+
call.after_run_managed(mock_device, path, run, **kwargs)]
977+
978+
from pprint import pprint
979+
pprint(mock_manager.mock_calls)
980+
pprint(expected_calls)
972981
assert mock_manager.mock_calls == expected_calls
973982

974983
@patch('AndroidRunner.WebExperiment.WebExperiment.after_run')
@@ -994,8 +1003,10 @@ def test_premature_stoppable_run(self, queue, premature_stoppable_run_run, prema
9941003
web_experiment.browsers = [mock_browser]
9951004
web_experiment.run_stopping_condition_config = run_stopping_condition_config
9961005
web_experiment.queue = queue
1006+
9971007
kwargs = {
998-
'browser': mock_browser
1008+
'browser': mock_browser,
1009+
'app': mock_browser.package_name
9991010
}
10001011

10011012
queue_value = None

0 commit comments

Comments
 (0)