我正在使用 Jest Puppeteer,我有一种情况想先运行我的登录测试(为身份验证设置 cookie/localStorage),然后再运行其他测试,但是,我知道 Jest 不会以这种方式工作 - 因为它搜索本地文件系统并根据文件名中的模式运行测试,并且它们运行的顺序不同。
我不完全确定我是否以正确的方式进行此操作,因为我依赖于一个测试来为其他测试设置身份验证 session 。
是否可以执行上述操作,或者我是否需要重新考虑我的方法?
最佳答案
这不是一个及时的回答。我有类似的问题。我可以通过嵌套 describe block 按顺序运行测试,如下所示。我的测试在我需要的单独文件中。
const puppeteer = require('puppeteer');
const login = require('./login');
const upload = require('./upload');
let browser;
beforeAll(async () => {
browser = await puppeteer.launch({
headless: false,
devtools: true,
slowMo: 50
});
})
describe('test suite', () => {
describe('login', () => {
test('url is correct', async () => {
const url = await login();
expect(url).toBe('https://uat2.onplanapp.com/#/');
}, 25000);
});
describe('upload', () => {
test('file upload ok', async () => {
url = await upload();
console.log('page.url');
expect(url).toBe('https://uat2.onplanapp.com/#/moduleLibrary');
//expect(url).toBe('https://uat2.onplanapp.com/#/uploadFile');
}, 10000);
});
afterAll(async done => {
console.log('GOT TO AFTER ALL');
browser.close()
done();
});
});
关于javascript - 使用 Jest 按顺序运行 Puppeteer 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54470338/