【问题标题】:Jenkins integration to Protractor projectJenkins 与 Protractor 项目的集成
【发布时间】:2017-01-29 16:51:00
【问题描述】:

我正在尝试为我的量角器项目进行 Jenkins 集成。我正在使用量角器 Jasmine 来编写测试。我在 Visual Studio 中使用 nodeJs 配置项目。

我可以手动运行所有测试。现在,我的目标是尝试 Jenkins 集成,以便我的项目可以持续运行。

请建议我的方式或任何有用的媒体。 我的“RunConf.js”文件如下。我使用这个文件来运行这两个套件。

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');

exports.config = {
framework: 'jasmine2',
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities:
{
    'browserName': 'chrome',
    'shardTestFiles': true,
    'maxInstances': 2,
    chromeOptions: {
        args: ['chrome.switches', '--disable-extensions']
    }
},
suites: {
    loginpage: 'login.js',
    addproduct: 'addproduct.js'
},
//specs: ['addproduct.js'],
jasmineNodeOpts: {
    onComplete: null,
    isVerbose: false,
    includeStackTrace: true,
    showColors: true,
    defaultTimeoutInterval: 30000
},

onPrepare: function () {
    browser.driver.ignoreSynchronization = true;
    return new Promise(function(fulfill, reject) {
        browser.getCapabilities().then(function(value) {
            reportName = value.get(Math.random(8,2)) + '_' + value.get('browserName') + '_' + Math.floor(Math.random() * 1E16);
            jasmine.getEnv().addReporter(
                new Jasmine2HtmlReporter({
                    //cleanDestination: false,
                    savePath: 'target/',
                    docTitle: 'Web UI Test Report',
                    screenshotsFolder: 'image',
                    //takeScreenshots: true,
                    takeScreenshotsOnlyOnFailures: true,
                    consolidate: true,
                    consolidateAll: true,
                   // preserveDirectory: true,
                    //fixedScreenshotName: true,
                    filePrefix: reportName + ".html"
                })
            );
            fulfill();
        });
    });
},
afterLaunch: function afterLaunch() {
    var fs = require('fs');
    var output = '';
    fs.readdirSync('target/').forEach(function(file) {
        if (!(fs.lstatSync('target/' + file).isDirectory()))
            output = output + fs.readFileSync('target/' + file);
    });
    fs.writeFileSync('target/ConsolidatedReport.html', output, 'utf8');
}

}

【问题讨论】:

  • 如果您自己尝试设置并在此处详细发布任何特定问题/问题,您更有可能得到回复。您的问题涵盖了各种主题,这些主题在某些方面可能非常主观,而且通常范围相当大/广泛......几乎无法回答。

标签: node.js jenkins jasmine continuous-integration protractor


【解决方案1】:

Jenkins 可以运行您的构建作业。但首先您需要创建一个将运行您的脚本的构建作业。为此:

  1. 确保您的程序可用于您的 VCS(即您的 git 存储库)中的 jenkins。
  2. 创建一个将检查您的项目的构建作业
  3. 在此构建作业中,创建一个可以从命令行调用量角器测试的脚本。

没有你提供的更多信息,这是我能建议的最好的。

【讨论】:

  • 感谢您的回复。
  • 我创建了一个批处理文件来运行我的量角器测试,它运行良好。我尝试通过将构建步骤添加为“执行 Shell”并将代码作为“启动 cmd.exe /c cd "C:\ProtractorDemo\ProtractorDemo\spec>" protractor RunConf.js --suite loginpage,addproduct' 在 Jenkins Job 中进行对接并执行 jenkins 作业,什么也没发生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-20
  • 1970-01-01
  • 2020-05-08
  • 2014-07-08
  • 2016-06-29
相关资源
最近更新 更多