我正在尝试读取我刚刚在同一cypress项目中用另一个测试编写的JSON文件。但是,当它尝试读取文件时,它将在4000毫秒后超时。
有谁之前经历过这个吗?我该如何解决?
我试图通过给它一个设置对象来增加超时时间,但这并没有增加超时时间。我以为这可能是文件权限问题,但这似乎也不是。
我在Mac上运行,但在Windows上尝试了相同的项目,但结果相同。
before('grab generated user data', function (){
let data = cy.readFile("Generated User/Cypress test 131.json", {log:true, timeout: 180000});
}
我希望它只返回已解析的JSON对象。如赛普拉斯文档中所述。(https://docs.cypress.io/api/commands/readfile.html#Syntax)
我最终用cy.createFileSync()创建了一个data.json。当我想读取文件而不使用cypresses cy.readFile()函数时,我创建了一个使用fs库读取文件的cypress任务。
我留下了我用来读取文件的任务的代码片段。
const fs = require('fs');
const request = require('request');
module.exports = (on, config) => {
on('task', {
// Cypress task to get the last ID
getLastId: () => {
// Make a promise to tell Cypress to wait for this task to complete
return new Promise((resolve) => {
fs.readFile("data.json", 'utf8', (err, data) => {
if (data !== null && data !== undefined) {
data = JSON.parse(data);
if (data.hasOwnProperty('last_id')) {
resolve(data.last_id);
} else {
resolve("Missing last_id");
}
} else {
resolve(err);
}
});
});
}
调用此函数将非常简单
let id = 0;
before('grab generated user data', function (){
cy.task('getLastId').then((newID)=>{
id = newID;
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句