【问题标题】:Protractor and Selenium in Gulp and JenkinsGulp 和 Jenkins 中的量角器和硒
【发布时间】:2014-12-12 13:15:43
【问题描述】:

我非常困惑如何告诉 Protractor 和 Selenium 从哪里为我的应用程序提供集成测试服务(在 Jenkins 上运行 Gulp)。

这是我的量角器配置:

exports.config = {
    seleniumServerJar: '../node_modules/protractor/selenium/selenium-server-standalone-2.44.0.jar',

    multiCapabilities: [{
        browserName: 'chrome'
    }],

    baseUrl: 'http://127.0.0.1:9000/',

    rootElement: 'html',

    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000
    }
};

但问题是:http://127.0.0.1:9000 不存在。我应该先部署然后进行集成测试,还是可以在部署之前完成?因为如果需要先进行部署,那么将其放入构建系统的位置对我来说没有任何意义。因为那不是也不能成为构建系统的一部分。那么 CI 是从哪里来的呢?

【问题讨论】:

    标签: testing selenium jenkins gulp protractor


    【解决方案1】:

    您需要在gulp 的帮助下分多个步骤/任务执行此操作:

    • 启动 selenium 服务器(如果您使用的是本地 selenium 服务器)
    • 启动一个网络服务器,见gulp-webserver(你错过了这一步)
    • 运行量角器测试
    • 关闭网络服务器
    • 关闭 selenium 服务器

    【讨论】:

    • 谢谢你,这有效。但是,gulp-connect 已被弃用,取而代之的是 gulp-webserver,所以我改用它。而gulp-serve 只是不工作。在任何教程中都没有提到这一点,甚至官方教程中也没有提及。就像我们都知道一切一样。
    • @Alex wow,非常感谢分享,我会适当地更新答案。
    【解决方案2】:

    可以在 angular-seed 项目中找到此类配置的完整工作示例https://github.com/angular/angular-seed

    我已成功使用此示例在我的 GitHub 项目中使用 protractor 测试:https://github.com/atais/angular-eonasdan-datetimepicker

    所以你可以使用任何一个来帮助你。


    基本上最简单的方法是:

    1. 以守护进程运行http-server
    2. 运行 gulp 测试
    3. 通过 npm (package.json) 管理一切

    完整代码在这里可用:https://stackoverflow.com/a/41983565/1549135

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 2016-01-05
      • 1970-01-01
      • 1970-01-01
      • 2019-06-10
      相关资源
      最近更新 更多