Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(811)

Side by Side Diff: build/android/pylib/remote/device/remote_device_environment.py

Issue 840393003: Add support for ios_uirobot (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: bling -> ios Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Environment setup and teardown for remote devices.""" 5 """Environment setup and teardown for remote devices."""
6 6
7 import logging 7 import logging
8 import os 8 import os
9 import random 9 import random
10 import sys 10 import sys
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 self._api_port = args.api_port 55 self._api_port = args.api_port
56 56
57 self._access_token = '' 57 self._access_token = ''
58 self._results_path = args.results_path 58 self._results_path = args.results_path
59 self._remote_device = args.remote_device 59 self._remote_device = args.remote_device
60 self._remote_device_os = args.remote_device_os 60 self._remote_device_os = args.remote_device_os
61 self._runner_package = args.runner_package 61 self._runner_package = args.runner_package
62 self._runner_type = args.runner_type 62 self._runner_type = args.runner_type
63 self._device = '' 63 self._device = ''
64 self._verbose_count = args.verbose_count 64 self._verbose_count = args.verbose_count
65 if (args.device_type != 'Android'
66 and args.device_type != "iOS"):
67 error_func('device-type must be iOS or Android')
68 self._device_type=args.device_type
65 69
66 if not args.trigger and not args.collect: 70 if not args.trigger and not args.collect:
67 self._trigger = True 71 self._trigger = True
68 self._collect = True 72 self._collect = True
69 else: 73 else:
70 self._trigger = args.trigger 74 self._trigger = args.trigger
71 self._collect = args.collect 75 self._collect = args.collect
72 76
73 def SetUp(self): 77 def SetUp(self):
74 """Set up the test environment.""" 78 """Set up the test environment."""
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 """Select which device to use.""" 125 """Select which device to use."""
122 logging.info('Finding device to run tests on.') 126 logging.info('Finding device to run tests on.')
123 with appurify_sanitized.SanitizeLogging(self._verbose_count, 127 with appurify_sanitized.SanitizeLogging(self._verbose_count,
124 logging.WARNING): 128 logging.WARNING):
125 dev_list_res = appurify_sanitized.api.devices_list(self._access_token) 129 dev_list_res = appurify_sanitized.api.devices_list(self._access_token)
126 remote_device_helper.TestHttpResponse(dev_list_res, 130 remote_device_helper.TestHttpResponse(dev_list_res,
127 'Unable to generate access token.') 131 'Unable to generate access token.')
128 device_list = dev_list_res.json()['response'] 132 device_list = dev_list_res.json()['response']
129 random.shuffle(device_list) 133 random.shuffle(device_list)
130 for device in device_list: 134 for device in device_list:
131 if device['os_name'] != 'Android': 135 if device['os_name'] != self._device_type:
132 continue 136 continue
133 if self._remote_device and device['name'] != self._remote_device: 137 if self._remote_device and device['name'] != self._remote_device:
134 continue 138 continue
135 if (self._remote_device_os 139 if (self._remote_device_os
136 and device['os_version'] != self._remote_device_os): 140 and device['os_version'] != self._remote_device_os):
137 continue 141 continue
138 if ((self._remote_device and self._remote_device_os) 142 if ((self._remote_device and self._remote_device_os)
139 or device['available_devices_count']): 143 or device['available_devices_count']):
140 logging.info('Found device: %s %s', 144 logging.info('Found device: %s %s',
141 device['name'], device['os_version']) 145 device['name'], device['os_version'])
142 return device['device_type_id'] 146 return device['device_type_id']
143 self._NoDeviceFound(device_list) 147 self._NoDeviceFound(device_list)
144 148
145 def _PrintAvailableDevices(self, device_list): 149 def _PrintAvailableDevices(self, device_list):
146 def compare_devices(a,b): 150 def compare_devices(a,b):
147 for key in ('os_version', 'name'): 151 for key in ('os_version', 'name'):
148 c = cmp(a[key], b[key]) 152 c = cmp(a[key], b[key])
149 if c: 153 if c:
150 return c 154 return c
151 return 0 155 return 0
152 156
153 logging.critical('Available Android Devices:') 157 logging.critical('Available %s Devices:', self._device_type)
154 android_devices = (d for d in device_list if d['os_name'] == 'Android') 158 devices = (d for d in device_list if d['os_name'] == self._device_type)
155 for d in sorted(android_devices, compare_devices): 159 for d in sorted(devices, compare_devices):
156 logging.critical(' %s %s', d['os_version'].ljust(7), d['name']) 160 logging.critical(' %s %s', d['os_version'].ljust(7), d['name'])
157 161
158 def _NoDeviceFound(self, device_list): 162 def _NoDeviceFound(self, device_list):
159 self._PrintAvailableDevices(device_list) 163 self._PrintAvailableDevices(device_list)
160 raise remote_device_helper.RemoteDeviceError('No device found.') 164 raise remote_device_helper.RemoteDeviceError('No device found.')
161 165
162 @property 166 @property
163 def device(self): 167 def device(self):
164 return self._device 168 return self._device
165 169
(...skipping 17 matching lines...) Expand all
183 def trigger(self): 187 def trigger(self):
184 return self._trigger 188 return self._trigger
185 189
186 @property 190 @property
187 def collect(self): 191 def collect(self):
188 return self._collect 192 return self._collect
189 193
190 @property 194 @property
191 def verbose_count(self): 195 def verbose_count(self):
192 return self._verbose_count 196 return self._verbose_count
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698