You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Playwright UI Mode导入本地辅助文件后无法识别测试的问题

问题解答

1. 这是代码问题还是Playwright UI Mode的限制?

这是代码问题,并非Playwright UI Mode的限制。

2. 需要如何修改才能实现从其他文件导入函数?

修改辅助文件Login.js

你的Login.js是纯工具函数文件,不需要导入Playwright的test和expect模块——多余的导入会让Playwright错误地将它识别为测试文件,但该文件内没有实际测试用例,进而干扰了对目标测试文件的解析。修改后的代码如下:

async function Login_user_foo(page) {
    await page.goto('<our-qa-stage>');
    await page.getByLabel('Remember me').check();                
    await page.getByLabel('Password').fill('<our-password>');    
    await page.getByRole('button', { name: 'Log In to Sandbox' }).click();   
}

export {Login_user_foo};

确认测试文件的写法

确保你的测试文件(tests/my_new_test.spec.js)正确导入函数并定义测试用例,示例如下:

import { test, expect } from '@playwright/test';
import { Login_user_foo } from '../commons/Login';

// 必须定义实际的测试用例,Playwright才能识别到可执行测试
test('登录功能验证', async ({ page }) => {
  await Login_user_foo(page);
  // 可添加登录后的断言逻辑,比如验证页面跳转
  await expect(page).toHaveURL('/目标页面路径');
});

收尾验证

  • 如果你的环境不支持省略.js扩展名,可将导入路径改为../commons/Login.js
  • 重新执行启动命令:
npx playwright test --ui tests/my_new_test.spec.js

问题根源

原辅助文件中多余的test模块导入,触发了Playwright的测试文件扫描逻辑,导致工具文件被误判为测试文件,同时干扰了真实测试文件的识别。移除该导入后,Playwright就能正常解析测试文件中的导入和测试用例。

内容的提问来源于stack exchange,提问作者surfmuggle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 09:57:21