【问题标题】:How to connect protractor js test with slack to send hook after testing?测试后如何将量角器js测试与松弛连接以发送钩子?
【发布时间】:2017-04-12 11:33:48
【问题描述】:

如何将protractorjs测试与slack连接起来发送hook?

【问题讨论】:

  • 使用来自 npm 的 slack-node 模块。参考npmjs.com/package/slack-node
  • @SudharsanSelvaraj:什么是 Slack?
  • 你有一个简单的例子测试文件应该是什么样子吗?
  • @SudharsanSelvaraj

标签: javascript testing jasmine protractor slack


【解决方案1】:

让量角器击中Slack webhook 的一种方法是使用onComplete block in your config。下面是一个使用 request-promise 将请求发送到 Slack 的示例:

// ...
onComplete: function() {
    var rp = require('request-promise');

    var options = {
        uri : 'https://hooks.slack.com/services/YOUR_SLACK_WEBHOOK',
        method: 'POST',
        body: {
            'attachments': [{
                'title': 'E2E Test Results'
            }]

        },
        channel: '#YOUR_SLACK_CHANNEL',
        username: 'TestBot',
        mrkdwn: true,
        json: true
    };

    // send to slack...
    return rp(options)
        .then(function(res) {
            console.log(res);
        })
        .catch(function(err) {
            console.log(err);
        });
},

安装 request-promise,将块添加到您的 Protractor 配置中,添加您的 Slack webhook uri 和频道 名称,然后使用配置运行您的测试。您必须做一些功课才能根据自己的喜好调整它,但这就是要点。

【讨论】:

    【解决方案2】:
        let SpecReporter = require('jasmine-spec-reporter').SpecReporter;
    
    exports.config = {
      seleniumAddress: 'http://localhost:4444/wd/hub',
      specs: [
        'spec.js'
      ],
      onPrepare: function () {
        jasmine.getEnv().addReporter(new SpecReporter({
          spec: {
            displayStacktrace: true
          }
        }));
      },
    
      onComplete: function() {
        var rp = require('request-promise');
    
        var options = {
            uri : 'https://hooks.slack.com/services/YOUR_SLACK_WEBHOOK',
            method: 'POST',
            body: {
                'attachments': [{
                    'title': 'E2E Test Results'
                }]
    
            },
            channel: '#YOUR_SLACK_CHANNEL',
            username: 'TestBot',
            mrkdwn: true,
            json: true
        };
    
        // send to slack...
        rp(options)
            .then(function(res) {
                console.log(res);
            })
            .catch(function(err) {
                console.log(err);
            });
    }
    };
    

    【讨论】:

      猜你喜欢
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多