javascript - 使用 Jest 按顺序运行 Puppeteer 测试

标签 javascript testing jestjs puppeteer

我正在使用 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/

相关文章:

reactjs - 使用 Jest/Enzyme 延迟后测试 React 组件的意外行为

javascript - 为什么 Promise.resolve().then() 会延迟?

javascript - 使用 mixin 扩展的 node.js 对象在实例化后找不到函数

javascript - 如何向服务器端提交一个javascript变量

c++ - 访问构建树中的外部文件以进行测试

json - jmeter检查同一请求的不同响应

php - 如何测量用 PHP 编写的代码的速度?

reactjs - React jest testing Google Maps Api,Uncaught TypeError : this. autocomplete.addListener 不是函数

react-native - Jest : Test suite failed to run (The Expo SDK requires Expo to run)

javascript - JqPlot(JQuery) 对图例标签进行排序