0

我有以下问题。我是 Jest 和 Puppetteer 的新手,我正在尝试精心制作的测试自动化套件。在这种情况下,我必须编译一个表单并检查我是否被重定向到特定页面。

我能够编译表单,但是当我尝试阅读页面标题以检查我是否正确重定向女巫“期望”时,尽管我尝试写入 console.log 并且它看起来正确,但测试总是失败。所以我尝试插入一个非常基本的 expect expect(1+1).toBe(2),但测试再次失败,所以我明白问题出在之前,但我找不到它。

这是代码:

const path = require('path');
describe('PM - onboarding Test', () => {

jest.setTimeout(30000);

const MOCK_ONBOARDING_EXPORT = process.env.MOCK_ONBOARDING_EXPORT;
const PSP = process.env.PSP;
const USER_TOKEN = process.env.USER_TOKEN;

beforeEach(async () => {
    await page.goto(`file:${path.join(__dirname, MOCK_ONBOARDING_EXPORT)}`);
});

/**
 * 1. START ONBOARDING
 */
it('start onboarding', async () => {
    
    /* input psp */
    const pspTextInput = "#inputIdPsp";
    await page.waitForSelector(pspTextInput);
    await page.click(pspTextInput);
    await page.keyboard.type(PAYPAL_PSP);

    /* input token */
    const userTokenTextInput = "#inputSessionToken";
    await page.waitForSelector(userTokenTextInput);
    await page.click(userTokenTextInput);
    await page.keyboard.type(USER_TOKEN);

    /* click button*/
    const onboardingButton = "#formOnboardingPaypalWebview > div:nth-child(5) > div > button";
    await page.waitForSelector(onboardingButton);
    await page.click(onboardingButton);

    //await page.waitForNavigation();

    await page.waitForSelector('#email');
    await page.click('#email');
    await page.keyboard.type("testtest@test.com");

    let title = await page.title();
    console.log(title);
    //expect(title).toEqual('myTitle');
    //await expect(title[0]).toMatch('mtTitle');
    await expect(1 + 1).toBe(2);
});
});

这是我在终端中得到的:

console.log
YOUR TITLE PAGE

  at Object.<anonymous> (src/second.test.js:43:17)

FAIL  src/second.test.js (22.09 s)
PM - onboarding Test
  × start onboarding (19154 ms)

● PM - onboarding Test › start onboarding





● PM - onboarding Test › start onboarding





● PM - onboarding Test › start onboarding





Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        22.736 s
Ran all test suites.
npm ERR! Test failed.  See above for more details.

3 次失败和 1 次期望似乎也很奇怪......

希望有人能帮助我!❤</p>

PS:

  • 我必须审查一些内容以保护隐私
  • env 变量是用 dotenv 加载的
  • 启动测试的脚本是dotenv -e .env jest --detectOpenHandles --reporters=jest-junit
  • 如果我删除所有测试代码并只留下期望,测试会正常
4

0 回答 0