首页 > 解决方案 > Android AVD 中的 Chrome 模拟器在 VPN 中使用 Appium 和代理会弹出代理登录

问题描述

我正在尝试使用 Appium 在 Android Mobile Chrome 浏览器中自动进行网站测试,但出现网络错误并且无法访问该网站。

我的电脑在公司代理下,由 PAC 脚本和 VPN 管理。

设置:

在http://127.0.0.1:4723/wd/hub上运行的 Appium 1.21.0 (exe)

安卓工作室 AVD

在 Emulator 代理设置为使用 Android Studio HTTP 代理,自动检测代理设置。Chrome Emulator WI=fi 关闭并创建 APN:

在此处输入图像描述

当我在移动设备上运行测试 Chrome 浏览器时,会弹出登录代理的弹出窗口:

在此处输入图像描述

Appium日志:

[debug] [35m[ADB][39m Running 'C:\Users\smtripat\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 forward --list'
[info] [35m[Chromedriver][39m Spawning chromedriver with: C:/Users/smtripat/AppData/Local/Programs/Appium/resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/win/chromedriver.exe --url-base=wd/hub --port=8001 --adb-port=5037 --verbose[debug] [35m[WD Proxy][39m Got response with status 200: {"value":{"build":{"version":"83.0.4103.14 (be04594a2b8411758b860104bc0a1033417178be-refs/branch-heads/4103@{#119})"},"message":"ChromeDriver ready for new sessions.","os":{"arch":"x86_64","name":"Windows NT","version":"10.0.19042"},"ready":true}}
[info] [35m[Chromedriver][39m Starting W3C Chromedriver session with capabilities: {
[info] [35m[Chromedriver][39m   "capabilities": {
[info] [35m[Chromedriver][39m     "alwaysMatch": {
[info] [35m[Chromedriver][39m       "goog:chromeOptions": {
[info] [35m[Chromedriver][39m         "androidPackage": "com.android.chrome",
[info] [35m[Chromedriver][39m         "androidDeviceSerial": "emulator-5554",
[info] [35m[Chromedriver][39m         "args": [
[info] [35m[Chromedriver][39m           "--ignore-ssl-errors=yes",
[info] [35m[Chromedriver][39m           "--ignore-certificate-errors",
[info] [35m[Chromedriver][39m           "--allow-insecure-localhost"
[info] [35m[Chromedriver][39m         ],
[info] [35m[Chromedriver][39m         "extensions": []
[info] [35m[Chromedriver][39m       },
[info] [35m[Chromedriver][39m       "goog:loggingPrefs": {
[info] [35m[Chromedriver][39m         "browser": "ALL"
[info] [35m[Chromedriver][39m       }
[info] [35m[Chromedriver][39m     }
[info] [35m[Chromedriver][39m   }
[info] [35m[Chromedriver][39m }
[debug] [35m[WD Proxy][39m Matched '/session' to command name 'createSession'
[debug] [35m[WD Proxy][39m Proxying [POST /session] to [POST http://127.0.0.1:8001/wd/hub/session] with body: {"capabilities":{"alwaysMatch":{"goog:chromeOptions":{"androidPackage":"com.android.chrome","androidDeviceSerial":"emulator-5554","args":["--ignore-ssl-errors=yes","--ignore-certificate-errors","--allow-insecure-localhost"],"extensions":[]},"goog:loggingPrefs":{"browser":"ALL"}}}}[debug] [35m[WD Proxy][39m Got response with status 200: {"value":{"capabilities":{"acceptInsecureCerts":false,"browserName":"chrome","browserVersion":"83.0.4103.106","chrome":{"chromedriverVersion":"83.0.4103.14 (be04594a2b8411758b860104bc0a1033417178be-refs/branch-heads/4103@{#119})"},"goog:chromeOptions":{"debuggerAddress":"localhost:61832"},"pageLoadStrategy":"normal","platformName":"android","proxy":{},"setWindowRect":false,"strictFileInteractability":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"unhandledPromptBehavior":"dismiss and notify","webauthn:virtualAuthenticators":false},"sessionId":"890d76dc0a80cb49cbc8d5da06d0d145"}}
[info] [35m[WD Proxy][39m Determined the downstream protocol as 'W3C'
[debug] [35m[Chromedriver][39m Changed state to 'online'
[debug] [35m[WD Proxy][39m Proxying [GET /appium/device/pixel_ratio] to [GET http://127.0.0.1:8200/wd/hub/session/62e3ea36-b677-4e32-a42a-ab7e10963137/appium/device/pixel_ratio] with no body
[debug] [35m[WD Proxy][39m Got response with status 200: {"sessionId":"62e3ea36-b677-4e32-a42a-ab7e10963137","value":2.75}
[debug] [35m[WD Proxy][39m Matched '/appium/device/system_bars' to command name 'getSystemBars'
[debug] [35m[WD Proxy][39m Proxying [GET /appium/device/system_bars] to [GET http://127.0.0.1:8200/wd/hub/session/62e3ea36-b677-4e32-a42a-ab7e10963137/appium/device/system_bars] with no body
[debug] [35m[WD Proxy][39m Got response with status 200: {"sessionId":"62e3ea36-b677-4e32-a42a-ab7e10963137","value":{"statusBar":66}}
[debug] [35m[WD Proxy][39m Matched '/window/current/size' to command name 'getWindowSize'
[debug] [35m[WD Proxy][39m Proxying [GET /window/current/size] to [GET http://127.0.0.1:8200/wd/hub/session/62e3ea36-b677-4e32-a42a-ab7e10963137/window/current/size] with no body
[debug] [35m[WD Proxy][39m Got response with status 200: {"sessionId":"62e3ea36-b677-4e32-a42a-ab7e10963137","value":{"height":2088,"width":1080}}
[info] [35m[Appium][39m New AndroidUiautomator2Driver session created successfully, session bcd36367-5aa3-4aba-b30c-1a7b75472704 added to master session list
[debug] [35m[BaseDriver][39m Event 'newSessionStarted' logged at 1626472200937 (16:50:00 GMT-0500 (Central Daylight Time))
[debug] [35m[W3C (bcd36367)][39m Cached the protocol value 'W3C' for the new session bcd36367-5aa3-4aba-b30c-1a7b75472704
[debug] [35m[W3C (bcd36367)][39m Responding to client with driver.createSession() result: {"capabilities":{"platform":"LINUX","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"acceptInsecureCerts":true,"browserName":"chrome","browserVersion":"84","goog:chromeOptions":{"androidPackage":"com.android.chrome","args":["--ignore-ssl-errors=yes","--ignore-certificate-errors","--allow-insecure-localhost"],"extensions":[]},"platformName":"android","appiumVersion":"1.21.0","platformVersion":"11.0","device":"Android","deviceName":"Pixel_3a_API_30_x86"},"acceptInsecureCerts":true,"browserName":"chrome","browserVersion":"84","goog:chromeOptions":{"androidPackage":"com.android.chrome","args":["--ignore-ssl-errors=yes","--ignore-certificate-errors","--allow-insecure-localhost"],"extensions":[]},"platformName":"android","appiumVersion":"1.21.0","platformVersion":"11","device":"Android","deviceName":"emulator-5554","appPackage":"com.android.chrome","appActivity":"com.google.an...
[info] [35m[HTTP][39m [37m<-- POST /wd/hub/session [39m[32m200[39m [90m14883 ms - 1377[39m
[info] [35m[HTTP][39m [90m[39m
[info] [35m[HTTP][39m [37m-->[39m [37mPOST[39m [37m/wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/timeouts[39m
[info] [35m[HTTP][39m [90m{"implicit":30000}[39m
[info] [35m[W3C (bcd36367)][39m Driver proxy active, passing request on via HTTP proxy
[debug] [35m[WD Proxy][39m Matched '/wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/timeouts' to command name 'timeouts'
[debug] [35m[Protocol Converter][39m Will send the following request bodies to /timeouts: [{"implicit":30000}]
[debug] [35m[WD Proxy][39m Proxying [POST /wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/timeouts] to [POST http://127.0.0.1:8001/wd/hub/session/890d76dc0a80cb49cbc8d5da06d0d145/timeouts] with body: {"implicit":30000}
[debug] [35m[WD Proxy][39m Got response with status 200: {"value":null}
[info] [35m[HTTP][39m [37m<-- POST /wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/timeouts [39m[32m200[39m [90m11 ms - 14[39m
[info] [35m[HTTP][39m [90m[39m
[info] [35m[HTTP][39m [37m-->[39m [37mDELETE[39m [37m/wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/cookie[39m
[info] [35m[HTTP][39m [90m{}[39m
[info] [35m[W3C (bcd36367)][39m Driver proxy active, passing request on via HTTP proxy
[debug] [35m[WD Proxy][39m Matched '/wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/cookie' to command name 'deleteCookies'
[debug] [35m[WD Proxy][39m Proxying [DELETE /wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/cookie] to [DELETE http://127.0.0.1:8001/wd/hub/session/890d76dc0a80cb49cbc8d5da06d0d145/cookie] with body: {}[debug] [35m[WD Proxy][39m Got response with status 200: {"value":null}
[info] [35m[HTTP][39m [37m<-- DELETE /wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/cookie [39m[32m200[39m [90m87 ms - 14[39m
[info] [35m[HTTP][39m [90m[39m
[info] [35m[HTTP][39m [37m-->[39m [37mPOST[39m [37m/wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/url[39m
[info] [35m[HTTP][39m [90m{"url":"https://www.amextravel.com/flight-searches/new"}[39m
[info] [35m[W3C (bcd36367)][39m Driver proxy active, passing request on via HTTP proxy
[debug] [35m[WD Proxy][39m Matched '/wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/url' to command name 'setUrl'
[debug] [35m[WD Proxy][39m Proxying [POST /wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/url] to [POST http://127.0.0.1:8001/wd/hub/session/890d76dc0a80cb49cbc8d5da06d0d145/url] with body: {"url":"https://www.amextravel.com/flight-searches/new"}[debug] [35m[WD Proxy][39m Got response with status 200: {"value":null}
[info] [35m[HTTP][39m [37m<-- POST /wd/hub/session/bcd36367-5aa3-4aba-b30c-1a7b75472704/url [39m[32m200[39m [90m1441 ms - 14[39m
[info] [35m[HTTP][39m [90m[39m

标签: androidappium-android

解决方案


推荐阅读