Skip to content

Commit c83c11b

Browse files
committed
Fix to allow for android version browser differences
1 parent ccb73eb commit c83c11b

File tree

13 files changed

+32
-14
lines changed

13 files changed

+32
-14
lines changed

AndroidRunner/Browsers/Chrome.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33

44
class Chrome(Browser):
5-
def __init__(self):
5+
def __init__(self, device=None):
66
# https://stackoverflow.com/a/28151563
7-
super(Chrome, self).__init__('com.android.chrome', 'com.google.android.apps.chrome.Main')
7+
if device != None and int(device.get_version()) > 12:
8+
super(Chrome, self).__init__('com.android.chrome', 'com.google.android.apps.chrome.IntentDispatcher')
9+
else:
10+
super(Chrome, self).__init__('com.android.chrome', 'com.google.android.apps.chrome.Main')
811

AndroidRunner/Browsers/Firefox.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33

44
class Firefox(Browser):
5-
def __init__(self):
5+
def __init__(self, device=None):
66
super(Firefox, self).__init__('org.mozilla.firefox', 'org.mozilla.gecko.BrowserApp')
77

AndroidRunner/Browsers/Opera.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33

44
class Opera(Browser):
5-
def __init__(self):
5+
def __init__(self, device=None):
66
super(Opera, self).__init__('com.opera.browser', 'com.opera.Opera')

AndroidRunner/Device.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ def launch_activity(self, package, activity, action='', data_uri='', from_scratc
197197
# https://android.stackexchange.com/a/113919
198198
if from_scratch:
199199
cmd += ' --activity-clear-task'
200+
200201
return Adb.shell(self.id, cmd)
201202

202203
def force_stop(self, name):

AndroidRunner/Plugins/Profiler.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,5 @@ def aggregate_end(self, data_dir, output_file):
4646
"""
4747
raise NotImplementedError
4848

49-
50-
5149
class ProfilerException(Exception):
52-
pass
50+
pass

AndroidRunner/WebExperiment.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ def __init__(self, config, progress, restart):
1515
self.browsers = [BrowserFactory.get_browser(b)() for b in config.get('browsers', ['chrome'])]
1616
Tests.check_dependencies(self.devices, [b.package_name for b in self.browsers])
1717
self.duration = Tests.is_integer(config.get('duration', 0)) / 1000
18+
19+
# Browsers have version specific formatting, allows re-creation if needed
20+
def regenerate_browsers(self, device):
21+
# Regenerate browsers based on device version
22+
self.browsers = [BrowserFactory.get_browser(b)(device) for b in self.config.get('browsers', ['chrome'])]
1823

1924
def run(self, device, path, run, browser_name):
2025
browser = None
@@ -64,6 +69,10 @@ def before_run(self, device, path, run, *args, **kwargs):
6469
kwargs['browser'].start(device)
6570
time.sleep(5)
6671

72+
def before_experiment(self, device, *args, **kwargs):
73+
super().before_experiment(self, device, *args, **kwargs)
74+
self.regenerate_browsers(device)
75+
6776
def interaction(self, device, path, run, *args, **kwargs):
6877
kwargs['browser'].load_url(device, path)
6978
time.sleep(5)

devices.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
"GalaxyJ7-W": "192.168.0.106:5555",
1515

1616
"Nexus 4": "emulator-5554",
17-
"Pixel 6": "pixel_6",
17+
"Pixel 6": "emulator-5554"
1818
}

examples/android/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"duration": 2000,
1111
"profilers": {
1212
"android": {
13-
"subject_aggregation": "default",
13+
"subject_aggregation": "none",
1414
"experiment_aggregation": "Scripts/aggregate_android.py",
1515
"sample_interval": 100,
1616
"data_points": [

examples/android/config_web.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"type": "web",
33
"devices": {
4-
"nexus6p": {}
4+
"Pixel 6": {}
55
},
66
"repetitions": 1,
77
"browsers": [
@@ -12,7 +12,7 @@
1212
],
1313
"profilers": {
1414
"android": {
15-
"subject_aggregation": "default",
15+
"subject_aggregation": "none",
1616
"experiment_aggregation": "Scripts/aggregate_android.py",
1717
"sample_interval": 100,
1818
"data_points": [

examples/android/config_web_root_charging_disabled.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"type": "web",
33
"devices": {
4-
"nexus5x": {
4+
"Pixel 6": {
55
"root_disable_charging": "True",
66
"charging_disabled_value": 0,
77
"usb_charging_disabled_file": "sys/class/power_supply/battery/charging_enabled"
@@ -10,7 +10,7 @@
1010
"repetitions": 1,
1111
"randomization": false,
1212
"browsers": [
13-
"firefox"
13+
"chrome"
1414
],
1515
"paths": [
1616
"https://google.com/",

0 commit comments

Comments
 (0)