【问题标题】:launching Protractor fails and exited with error code #199"启动 Protractor 失败并以错误代码 #199 退出"
【发布时间】:2016-11-11 05:59:19
【问题描述】:

我是新的量角器。我正在尝试在我的第一个 Angular2 应用程序上运行示例单元测试。

我的 conf.js 文件有:

exports.config = { 
    seleniumAddress: 'http://localhost:3000/login', 
    specs: ['todo-spec.js'], 
    capabilities: { 
       'browserName': 'chrome', 
        chromeOnly:true , 
        directConnect: true } 
    };

2.我的 'todo-spec.js' 文件有:

describe('Authentication capabilities', function() {
  var email = element(by.id('inputusername'));
  var password = element(by.id('inputPassword'));
  var loginButton = element(by.class('btn-success'));


it('should redirect to the login page if trying to load protected page while not authenticated', function() {
    browser.get('http://localhost:3000/login');
    loginURL = browser.getCurrentUrl();
    email.sendKeys("demo");
    password.sendKeys("demo");
    loginButton.click();

  });  
 });

但是当我尝试通过以下命令“protractor”filepath\conf.js“运行量角器时,

获取“E/launcher - Process exited with error code 199”错误。

谁能告诉我,我在哪里做错了?

【问题讨论】:

  • 你的配置错误
  • 你能详细说明我在哪里做错了吗?

标签: unit-testing angular selenium-webdriver jasmine protractor


【解决方案1】:

检查您是否安装了最新的 JDK 和 JRE(Selenium 似乎与它们有依赖关系)。这是出乎意料的事情,我发现在运行 Protractor 测试任务时服务器没有被初始化后发现很难咕噜咕噜。

【讨论】:

  • 谢谢!这对我帮助很大。安装 Java 运行时为我解决了这个问题。
【解决方案2】:

我通过在我的配置文件中添加useAllAngular2AppRoots: true, 来修复它。

另外,评论"seleniumAddress: 'http://localhost:4444/wd/hub"

所以现在我的代码是这样的,并且可以正常工作。

exports.config = {
//seleniumAddress: 'http://localhost:4444/wd/hub',
//directConnect: true,
specs: ['todo-spec.js'],

capabilities: {
    'browserName': 'chrome',

},
useAllAngular2AppRoots: true,
framework: 'jasmine'
};

【讨论】:

  • 如何在不使用 seleniumAddress 和 directConnect 的情况下连接浏览器?
  • 我认为当我运行protractor 'path\conf.js' 时,它会自动启动 selenium 独立服务器并启动浏览器,一旦测试完成,它会关闭 selenium 服务器。 :)
  • 添加 useAllAngular2AppRoots: true 对我有用。谢谢。但我需要保留 "seleniumAddress: 'localhost:4444/wd/hub"
【解决方案3】:

我也面临同样的问题。最终,我在更新 chrome 最新版本后得到了解决方案。 我使用的是 Chrome 版本 79.0,我已将其更新到最新版本 80.0.3987.87(官方版本)(64 位)。

请尝试更新最新的 chrome 版本,因为它对我有用。

【讨论】:

    【解决方案4】:
    exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',
    //directConnect: true,
    specs: ['todo-spec.js'],
    capabilities: {
        'browserName': 'chrome'
    },
    
    framework: 'jasmine'
    };
    

    如果你想使用 directConnect,取消注释并注释 seleniumAddress

    【讨论】:

    • 我刚试过这个。但现在出现此错误 - 'E/launcher - Process exited with error code 135'
    • @Sarav 你在执行配置文件之前启动了 selenium 服务器吗?
    • 嘿,丹尼,是的,它已解决,但我不得不使用“useAllAngular2AppRoots: true”,
    【解决方案5】:

    检查您的浏览器是否具有最新版本(在我的情况下,此错误在 Chrome 成为最新版本后消失)

    【讨论】:

      【解决方案6】:

      您必须更新您的 chromedriver。可能是您被锁定在旧版本的 webdriver-manager 中,它不会为您下载 chromedriver 78。这样做 npm install -f protractor 应该会有所帮助。

      【讨论】:

        【解决方案7】:

        我也面临同样的问题。最终,我在将节点版本降级到 11.15.0 后得到了解决方案。我使用的是节点版本 12.0.0。

        现在我有 11.15.0 和 chrome 的量角器测试工作得很好。

        【讨论】:

          【解决方案8】:

          如果它在早期而不是现在工作(可能是在 PC 重新启动或重新启动之后)而不是通过终端中的命令更新 webdriver

          webdriver-manager 更新

          它应该可以正常工作。

          即使不起作用,请卸载并重新安装浏览器。它应该可以工作。

          【讨论】:

            【解决方案9】:

            在我的情况下,我的 chrome 浏览器版本最初是 96.0,当我将它升级到 97.0.4692.71 时,问题就解决了

            【讨论】:

              【解决方案10】:

              我必须在 package.json 中更新旧版本的量角器。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-02-13
                • 2012-01-22
                • 2022-07-19
                • 1970-01-01
                • 2017-10-22
                相关资源
                最近更新 更多