赛普拉斯间歇性地无法验证基本网址是否正在运行

时间:2018-03-02 03:14:42

标签: node.js node-modules e2e-testing cypress

我刚开始尝试赛普拉斯测试框架。我在Jenkins作业中运行了一个简单的测试,该作业由安装和启动服务器的上游作业启动。它还通过在新启动的服务器上点击URL来运行一些单元测试,因此必须启动服务器才能成功完成并启动cypress测试作业。

由于某种原因,cypress间歇性失败,因为它无法验证基本URL上的服务器是否正在运行。我删除了基本网址配置并使用了cy.visit()中的完整网址,到目前为止它已成功运行。

有没有人知道赛普拉斯为什么会间歇性地验证基本网址?

这是我用来运行测试的代码。我正在执行Gulp任务:

gulp.task('run-ui-tests', function() {

return cypress.run({
      spec: './cypress/integration/main_navigation.js',
      config: {
          //baseUrl: config.urlProtocol + "://" + config.e2eTestsBaseUrl,
          viewportWidth: 1200,
          viewportHeight: 660,
          videoRecording: false,
          toConsole: false
      },
      reporter: "junit",
      reporterOptions: {
            mochaFile: "cypress/results/test-output.xml",
            toConsole: false,
            rootSuiteTitle: "UI Test Suite",
            testsuitesTitle: "UI Tests"
        }
    })
    .then((results) => {
        if (results.failures === 0) {
            console.log(results.passes + " of " + results.tests + " tests passed!")
            console.log(results.failures + " tests failed!")
            console.log("Ran for " + results.duration);
        } else {
            throw new Error(results.failures + " UI tests failed!! See /cypress/results/test-output.xml for more details.");
        }
    })
    .catch((err) => {
        throw new Error(err)
    }); 
});

1 个答案:

答案 0 :(得分:1)

事实证明,我试图运行测试的开发服务器没有DNS条目。我进入了它,从那以后它一直在完美地工作。