def test_UseNewDeviceProxyPort(self):
   chrome_proxy = chrome_proxy_utils.ChromeProxySession(1)
   expected_flags = [
       '--ignore-certificate-errors-spki-list='
       'PhrPvGIaAMmd29hj8BCZOq096yj7uMpRNHpn5PDxI6I=',
       '--proxy-server=socks5://localhost:1'
   ]
   self.assertEquals(chrome_proxy.device_proxy_port, 1)
   self.assertListEqual(chrome_proxy.GetFlags(), expected_flags)
  def test_Stop(self, ts_proxy_mock, wpr_mock, forwarder_mock):
    chrome_proxy = chrome_proxy_utils.ChromeProxySession(4)
    device = _DeviceUtilsMock('01234')
    chrome_proxy.wpr_record_mode = True
    chrome_proxy._wpr_server._archive_path = 'abc'
    chrome_proxy.Stop(device)

    forwarder_mock.assert_called_once_with(4, device)
    wpr_mock.assert_called_once_with()
    ts_proxy_mock.assert_called_once_with()
  def test_SetWPRRecordMode(self):
    chrome_proxy = chrome_proxy_utils.ChromeProxySession(4)
    chrome_proxy.wpr_record_mode = True
    self.assertTrue(chrome_proxy._wpr_server.record_mode)
    self.assertTrue(chrome_proxy.wpr_record_mode)
    self.assertFalse(chrome_proxy.wpr_replay_mode)

    chrome_proxy.wpr_record_mode = False
    self.assertFalse(chrome_proxy._wpr_server.record_mode)
    self.assertFalse(chrome_proxy.wpr_record_mode)
    self.assertTrue(chrome_proxy.wpr_replay_mode)
  def test_Stop_WithProperties(self, ts_proxy_mock, wpr_mock, forwarder_mock):
    chrome_proxy = chrome_proxy_utils.ChromeProxySession(4)
    chrome_proxy._wpr_server._server = webpagereplay_go_server.ReplayServer(
        os.path.abspath(__file__), chrome_proxy_utils.PROXY_HOST_IP, 0, 0, [])
    chrome_proxy._wpr_server._archive_path = os.path.abspath(__file__)
    device = _DeviceUtilsMock('01234')
    chrome_proxy.wpr_record_mode = True
    chrome_proxy.Stop(device)

    forwarder_mock.assert_called_once_with(4, device)
    wpr_mock.assert_called_once_with()
    ts_proxy_mock.assert_called_once_with()
    self.assertFalse(chrome_proxy.wpr_replay_mode)
    self.assertEquals(chrome_proxy.wpr_archive_path, os.path.abspath(__file__))
  def test_Start(self, port_mock, traffic_setting_mock, outboundport_mock,
                 start_server_mock, wpr_mock, forwarder_mock):
    chrome_proxy = chrome_proxy_utils.ChromeProxySession(4)
    chrome_proxy._wpr_server._host_http_port = 1
    chrome_proxy._wpr_server._host_https_port = 2
    port_mock.return_value = 3
    device = _DeviceUtilsMock('01234')
    chrome_proxy.Start(device, 'abc')

    forwarder_mock.assert_called_once_with([(4, 3)], device)
    wpr_mock.assert_called_once_with('abc')
    start_server_mock.assert_called_once()
    outboundport_mock.assert_called_once_with(http_port=1, https_port=2)
    traffic_setting_mock.assert_called_once_with(download_bandwidth_kbps=72000,
                                                 round_trip_latency_ms=100,
                                                 upload_bandwidth_kbps=72000)
    port_mock.assert_called_once()
 def test_SetWPRArchivePath(self):
   chrome_proxy = chrome_proxy_utils.ChromeProxySession(4)
   chrome_proxy._wpr_server._archive_path = 'abc'
   self.assertEquals(chrome_proxy.wpr_archive_path, 'abc')
예제 #7
0
import os
import subprocess
import sys
import time

chrome_root = os.path.join(os.path.dirname(__file__), '../../..')
sys.path.insert(0, os.path.join(chrome_root, 'build/android'))
# Note that catapult/devil appears to require python2.
sys.path.insert(0, os.path.join(chrome_root, 'third_party/catapult/devil'))

from devil.android import device_utils
import pylib.utils.chrome_proxy_utils as chrome_proxy_utils

parser = argparse.ArgumentParser()
parser.add_argument('--device', required=True)
parser.add_argument('--replay-file', required=True)
args = parser.parse_args()

session = chrome_proxy_utils.ChromeProxySession()
session.wpr_record_mode = False
session.Start(device_utils.DeviceUtils(args.device), args.replay_file)

print('Use these chrome flags:')
print(' '.join(session.GetFlags()))

print('Replaying ', args.replay_file)

# When this script exits, replaying stops. Wait for one hour.
print('Press Ctrl+C to quit')
time.sleep(3600)