【问题标题】:One time authentication in playwright is giving issues我对剧作家很陌生,刚刚开始
【发布时间】:2022-06-17 19:38:57
【问题描述】:

我尝试使用会话进行一次性身份验证,并将其用于规范文件中的所有测试。 在尝试运行我的测试时,有时我会收到以下错误,我无法理解或修复。对此的任何帮助将不胜感激。

browser.newContext: Cookie 应该有一个有效的过期时间,只允许 -1 或正数的 unix 时间戳(以秒为单位)

at C:\Users\v.shivarama.krishnan\source\repos\PlaywrightDemo\node_modules\@playwright\test\lib\index.js:595:23
at Object.context [as fn] (C:\Users\v.shivarama.krishnan\source\repos\PlaywrightDemo\node_modules\@playwright\test\lib\index.js:642:15)

规格.ts

import { chromium, test, expect } from "@playwright/test";

test.describe('Launch Browser', () => {

        await context.storageState({ path: 'storage/admin.json' });
        await page.goto('abc.com');
        await expect(page.locator('#ebiLink')).toBeVisible();

        const texts = await page.locator('#ebiLink').textContent();
        console.log("text of ebi is " + texts);

        await page.goto('abc.com');

        await expect(page.locator('text= Detailed Interfaces ')).toBeVisible();

        await page.waitForSelector('#searchTab');

        await page.waitForSelector('#InterfaceCard');

        await page.locator('#searchTab').type('VISHW-I7939');

        await page.locator("button[type='button']").click();

        await page.locator('#InterfaceCard').first().click();

        await expect(page.locator('#ngb-nav-0')).toBeVisible();

        const interfaceID = await page.locator("//span[@class='value-text']").first().allInnerTexts();

        console.log('interface id is' + interfaceID);

        const dp = await page.waitForSelector('role=listbox');

        await page.locator('role=listbox').click();

        const listcount = await page.locator('role=option').count();
        await page.locator('role=option').nth(1).click();

        await expect(page.locator('#ngb-nav-0')).toBeVisible();

    });

    test('Move to shells screen', async ({ page, context }) => {
      
        await context.storageState({ path: 'storage/admin.json' });
        await page.goto('abc.com');
        
        await expect(page.locator('#ListHeader')).toBeVisible();

        const shells = await page.locator('#ListHeader').textContent();

        console.log('Text of shells header is '+shells);

    });


});

global-setup.ts(用于一次性登录并获取会话)

import { Browser, chromium, FullConfig } from '@playwright/test'

async function globalSetup(config: FullConfig) {
  const browser = await chromium.launch({
    headless: false
  });
  await saveStorage(browser, 'Admin', 'User', 'storage/admin.json')
  await browser.close()
}

async function saveStorage(browser: Browser, firstName: string, lastName: string, saveStoragePath: string) {
  const page = await browser.newPage()
  await page.goto('abc.com');
  await page.waitForSelector("//input[@type='email']", { state: 'visible' });
  await page.locator("//input[@type='email']").type('ABC@com');
  await page.locator("//input[@type='submit']").click();
  await page.locator("//input[@type='password']").type('(&^%');
  await page.locator("//input[@type='submit']").click();
  await page.locator('#idSIButton9').click();
  await page.context().storageState({ path: saveStoragePath })
}

export default globalSetup

【问题讨论】:

  • 请选择一个能真实描述您的问题的标题。

标签: ui-automation playwright end-to-end playwright-test


猜你喜欢
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 2020-12-04
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 2023-01-20
相关资源
最近更新 更多