Appium /量角器-Cordova应用程序-当我尝试运行简单测试时,出现以下错误-无法获得与套接字匹配的内容:@webview_devtools_remote_

时间:2019-02-13 13:23:10

标签: selenium testing protractor appium qa

我正在尝试使用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
}

}

3 个答案:

答案 0 :(得分:0)

这似乎是常见的鸦片问题。 来自github的问题:https://github.com/appium/python-client/issues/255

修复: 看到这里:https://github.com/blutter/appium-crosswalk-fix

答案 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