我正在尝试使用Appium + Protractor在我的混合应用程序上运行一个简单的测试,但由于出现以下错误,因此无法运行: 无法获得套接字匹配项:@webview_devtools_remote _。* 15239
我正在使用Ubuntu,并在其上设置了Appium和Protractor,实际上尝试了我在Internet上找到的每个解决方案,都无法解决问题。
唯一能够“消除”该错误的方法是将以下代码添加到功能中:
chromeOptions: {
androidPackage: "com.android.chrome"
},
但是后来我只进入应用程序,而Appium服务器只是停留在:
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://127.0.0.1:8001/wd/hub/session] with body: {"desiredCapabilities":{"chromeOption {"androidPackage":"com.android.chrome","androidUseRunningApp":true,"androidDeviceSerial":"1cdc4ed10c027ece"}}}
它根本不会启动规格文件。
var SpecReporter = require('jasmine-spec-reporter')。SpecReporter;
exports.config = { seleniumAddress:“ http://localhost:4723/wd/hub”, allScriptsTimeout:50976,
specs: [
'test.js'
],
capabilities: {
platformName: 'Android',
platformVersion: '8.0.0',
deviceName: 'Galaxy S9',
app: 'path_to_app',
autoWebview: true,
browserName: '',
appPackage: 'app_package_name',
newCommandTimeout: '140',
chromeOptions: {
androidPackage: "com.android.chrome"
}
},
onPrepare: function () {
jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: 'all'}));
},
framework: 'jasmine',
jasmineNodeOpts: {
print: function () {}, //remove protractor dot reporter
defaultTimeoutInterval: 100000
}
}
答案 0 :(得分:0)
这似乎是常见的鸦片问题。 来自github的问题:https://github.com/appium/python-client/issues/255
答案 1 :(得分:0)
如果您已经在移动应用程序上实例化了一个appium,并且想要切换到手机上的web浏览器,也会发生这种情况。
为避免出现此异常,例如 https://github.com/appium/appium/issues/11189,[Chromedriver]错误:无法启动Chromedriver会话:处理命令时发生未知的服务器端错误。 (原始错误:未知错误:无法获取套接字匹配项:@webview_devtools_remote _。* 24811,
在尝试切换到手机上的网络浏览器之前,请强制重新实例化appium ,如下所示。 Appium将引导该appp,然后被强制执行 干净地切换到Web浏览器,而无需再抱怨了:
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome"); // or other browsers
desiredCapabilities.setCapability("noReset", true );
try
{
URL url = new URL("http://127.0.0.1:4723/wd/hub");
AppiumDriver driver = new AppiumDriver(url, desiredCapabilities);
}
catch (Exception e )
{
}
答案 2 :(得分:0)
将手机设备的默认浏览器从三星更改为 Chrome 后,我摆脱了类似的错误。还更新了运行 appium 服务器的笔记本电脑上的 chromedriver 版本,以匹配移动设备上运行的 Chrome 版本。而 appium 是从 appium --chromedriver-executable=/usr/local/bin/chromedriver
开始的。
在 desired_capabilities 中也有 setWebContentsDebuggingEnabled=true
。