赛普拉斯在码头上

时间:2019-12-13 22:32:06

标签: javascript aws-lambda cypress

我当前正在尝试在Windows计算机上的AWS Lambda上运行cypress,但是当前在运行node index.js

时遇到此错误
{
    "errorMessage": "spawn EACCES",
    "errorType": "Error",
    "stackTrace": ["_errnoException (util.js:1022:11)", "ChildProcess.spawn (internal/child_process.js:323:11)", "exports.spawn (child_process.js:502:9)", "Xvfb._spawnProcess (/var/task/xvfb.js:207:23)", "Xvfb.<anonymous> (/var/task/xvfb.js:59:18)", "FSReqWrap.cb [as oncomplete] (fs.js:312:19)"]
}

下面是我的index.js

const fs = require("fs");
const AWS = require("aws-sdk");
const glob = require("glob");

const lambda = new AWS.Lambda({
    region: "us-west-2",
});

const lambdaArn = fs.readFileSync("./deployed_lambda_arn").toString();

async function main() {
    const files = glob
        .sync("cypress/integration/**/*.spec.js", {
            cwd: "lambda"
        })
        .map(file => `/tmp/${file}`);

    try {
        const results = await Promise.all(
            files.map(file => {
                return lambda
                    .invoke({
                        FunctionName: lambdaArn,
                        Payload: JSON.stringify({
                            cypressSpec: file
                        })
                    })
                    .promise();
            })
        );

        results.forEach((result, idx) => {
            console.log("This is payload?", result.Payload)
            fs.writeFileSync(
                `reports/mochawesome-${idx}.json`,
                JSON.parse(result.Payload)
            );
        });
    } catch (e) {
        console.error(e);
    }
}

main();

我正在尝试在本地运行此程序,并在尝试在AWS Lambda环境中运行赛普拉斯测试时一直遇到此问题。这在Mac机器上工作正常,Windows出现XvFB问题

0 个答案:

没有答案