|
25 | 25 | -D port=PORT (The Selenium Grid port used by the test server.)
|
26 | 26 | -D cap-file=FILE (The web browser's desired capabilities to use.)
|
27 | 27 | -D cap-string=STRING (The web browser's desired capabilities to use.)
|
28 |
| --D proxy=SERVER:PORT (Connect to a proxy server:port for tests.) |
29 |
| --D proxy=USERNAME:PASSWORD@SERVER:PORT (Use authenticated proxy server.) |
| 28 | +-D proxy=SERVER:PORT (Connect to a proxy server:port as tests are running) |
| 29 | +-D proxy=USERNAME:PASSWORD@SERVER:PORT (Use an authenticated proxy server) |
30 | 30 | -D proxy-bypass-list=STRING (";"-separated hosts to bypass, Eg "*.foo.com")
|
31 | 31 | -D proxy-pac-url=URL (Connect to a proxy server using a PAC_URL.pac file.)
|
32 | 32 | -D proxy-pac-url=USERNAME:PASSWORD@URL (Authenticated proxy with PAC URL.)
|
| 33 | +-D multi-proxy (Allow multiple authenticated proxies when multi-threaded.) |
33 | 34 | -D agent=STRING (Modify the web browser's User-Agent string.)
|
34 | 35 | -D mobile (Use the mobile device emulator while running tests.)
|
35 | 36 | -D metrics=STRING (Set mobile metrics: "CSSWidth,CSSHeight,PixelRatio".)
|
@@ -223,6 +224,7 @@ def get_configured_sb(context):
|
223 | 224 | sb.proxy_string = None
|
224 | 225 | sb.proxy_bypass_list = None
|
225 | 226 | sb.proxy_pac_url = None
|
| 227 | + sb.multi_proxy = False |
226 | 228 | sb.enable_3d_apis = False
|
227 | 229 | sb.swiftshader = False
|
228 | 230 | sb.ad_block_on = False
|
@@ -746,6 +748,10 @@ def get_configured_sb(context):
|
746 | 748 | proxy_pac_url = sb.proxy_pac_url # revert to default
|
747 | 749 | sb.proxy_pac_url = proxy_pac_url
|
748 | 750 | continue
|
| 751 | + # Handle: -D multi-proxy / multi_proxy |
| 752 | + if low_key in ["multi-proxy", "multi_proxy"]: |
| 753 | + sb.multi_proxy = True |
| 754 | + continue |
749 | 755 | # Handle: -D enable-3d-apis / enable_3d_apis
|
750 | 756 | if low_key in ["enable-3d-apis", "enable_3d_apis"]:
|
751 | 757 | sb.enable_3d_apis = True
|
@@ -1121,7 +1127,8 @@ def _perform_behave_unconfigure_():
|
1121 | 1127 | from seleniumbase.core import log_helper
|
1122 | 1128 | from seleniumbase.core import proxy_helper
|
1123 | 1129 |
|
1124 |
| - proxy_helper.remove_proxy_zip_if_present() |
| 1130 | + if hasattr(sb_config, "multi_proxy") and not sb_config.multi_proxy: |
| 1131 | + proxy_helper.remove_proxy_zip_if_present() |
1125 | 1132 | if hasattr(sb_config, "reuse_session") and sb_config.reuse_session:
|
1126 | 1133 | # Close the shared browser session
|
1127 | 1134 | if sb_config.shared_driver:
|
|
0 commit comments