typescript - 有什么方法可以使用 jest-puppeteer 对片状测试进行重试?

标签 typescript automated-tests jestjs puppeteer e2e-testing

我遇到了一个问题,在 Jest 中没有内置的方法来重试脆弱的测试。我正在使用 Jest + TS + Puppeteer。任何人都有同样的问题或可能的解决方案\建议?
我试图实现这个:link ,但没有成功。

jest-retries 对我不起作用,因为我创建了用户并做了很多操作,如果测试失败 - 重试在相同的 chrome 选项卡中使用相同的 cookie 等重新启动测试。提前致谢!

代码示例:

const it = require('jest-retries');

describe('any tests', () => {

beforeEach(async () => {
    await page.emulate(devices['Galaxy S5']);
    await page.goto(newSearchUrl, { waitUntil: 'networkidle2' });

});

it('dummy test', 2, async () => {
    await userSignup(); // custom wrapper for signup
    await checkGraphqlSuccess('success dumb event');
    const iconHeader = await waitForElementVisible(favoriteBtnHeader);
    await iconHeader.click();
    const number = await waitForElementVisible(number1);
    const getNumber1 = await page.evaluate(obj => {
        return obj.getAttribute('data-id');
    }, number);
    expect(azaza1).toEqual(getNumber1);
});

afterAll(async () => {
    dumpEvents(fileName);
});
});

最佳答案

你试过安装 jest-circus 吗?

使用此测试运行器,您可以执行以下操作:

//my_perfect_test.js
jest.retryTimes(3) //set maximum retries number

describe('Test', () => {
    test('Test_Test', async () => {
        //test code
        ...
        })
})

以尽量减少测试的片状。

关于typescript - 有什么方法可以使用 jest-puppeteer 对片状测试进行重试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59413521/

相关文章:

android - 如何使用设备农场为 BOOT_COMPLETED 和 USER_PRESENT 接收器创建自动化测试?

javascript - 开 Jest ,如何比较两个不同格式的字符串?

reactjs - 使用 jest 和 react-testing-library 测试对象的属性时出错

reactjs - 如何在带有 Typescript 的 React 项目中组织类型定义

reactjs - 在 react typescript 中指定文件上传事件的类型

angular - NPM - 无法从 lodash 库中找到名称 'Many' 和命名空间 '_'

javascript - 将对象键及其值推送到数组

c# - Selenium webdriver 测试 100% 在本地通过,100% 在 VSTS 服务器上失败

testing - 在 Cypress 的某个元素中查找多个元素

node.js - Node : Unable to mock aws-sdk methods