当使用Node.js包装时,Cypress.io找不到规格

时间:2019-09-12 08:19:20

标签: node.js cypress

我正在尝试在Cypress.io之上添加一个REST API以模仿Appium框架。我可以从控制台运行测试,但是当我尝试使用http请求cypress运行规范时,找不到该测试。我试图在位于项目根文件夹的cypress.json中添加许多不同的路径设置,但到目前为止还算不上成功。

这是我要实现的小型示例服务器。

import express from 'express';
import cypress from 'cypress';

const app = express();
const PORT = 5000;

app.get('/cypress/v1/run/:specName', (req, res) => {
  cypress.run({
    spec: req.params.specName})
    .then(results => {
      res.status(200).send({
      status: results.totalFailed,
      result: results 
      })
    })
    .catch((err) => {
      console.error(err)
    });
});

app.listen(PORT, () => {
  console.log(`Listening on port ${PORT}`)
});

无论我发送什么,都会收到以下错误:
请求:curl -v http://localhost:5000/cypress/v1/run/test.js
响应:{"result":{"failures":1,"message":"Could not find Cypress test run results"}}

日志:

Can't run because no spec files were found.
We searched for any files matching this glob pattern:
test.js

所以我的问题是,我想念什么?

1 个答案:

答案 0 :(得分:2)

Cypress似乎对配置非常敏感,并且在某种程度上不是逻辑。我将配置文件更改为以下内容并找到了规格:

{
  "projectId": "xyz123",
  "integrationFolder": "cypress/integration",
  "testFiles": "**/*.*"
}

我仍然必须将测试指定为cypress/integration/test.js,否则赛普拉斯将找不到它。