应用端2 结束测试
在 Appsemble 环境中运行 2 端测试,并提供 Appsemble 固定装置
目录
如何安装
您可以在工程的根部运行以下设备来安装软件包 :
npm install @appsemble/e2e
使用量
在测试中使用固定装置, 您可以导入 expect 或者说 test 在文件的顶端.
这些固定装置可以通过在测试申报中加以说明而添加到任何测试中. 火柴不会 需要手动添加.
import { expect, test } from '@appsemble/e2e';
test('should navigate to app', async ({ visitApp }) => {
await visitApp('Example app');
await expect(page.getByText('Example app')).toBeVisible();
});
发展
这个包依赖于Appsemble monorepo中的其他包. 保证所有的测试运行 通常,到每个 Appsemble 依赖并运行以下命令:
npm run prepack
类似端到端测试
要运行结束测试, 运行 :
npm run e2e
测试使用 剧作家。 。 。 .
每次测试后,一个视频将被保存在 packages/e2e/test-results/{name-test} 目录
进一步检查.
在对失败的工作进行第一次重试时,其追踪会被上传到同一个目录. 这个追踪可以
或可以上传到
在线微量查看器。这显示你一步一步地发生了什么
在测试期间, 仿佛您运行它 ui mode。 。 。 .
结束测试使用以下环境变量:
CI测试是否在CI中进行.CI_MERGE_REQUEST_IID——合并请求的ID如果存在.APPSEMBLE_REVIEW_DOMAIN——评论可应用域名来使用.APPSEMBLE_STAGING_DOMAIN——中导可调用域名.
检查 baseURL 设置 playwright.config.ts 查看环境变量的文件
被使用.
认证
一些固定装置使用 Playwright 调用 Appsemble API request 对象。 估计是工人
已登录,并在 request 之前的固定状态。 这看起来像
因此:
export const test = base.extend<object>({
async request({}, use) {
const newRequest = await request.newContext({
extraHTTPHeaders: {
Authorization: `Bearer ${accessToken}`,
},
});
await use(newRequest);
await newRequest.dispose();
},
});
资源生命周期跟踪
使用 createTestResource 跟踪并自动删除
默认测试.
设定 trackBrowserResources 改为 true 还跟踪浏览器创建的资源 POST 请:
test.use({ trackBrowserResources: true });
设定 autoCleanupResources 改为 false 在测试后保存所有跟踪资源。 这可能是
用于检查失败测试所创建的资源.
test.use({ autoCleanupResources: false });
说明: 只有浏览器创建的资源
POST请求和资源createTestResource被跟踪。 使用其他方法如 Webhooks 创建的资源无法获得 跟踪.
捐款
在写端到端测试时,请查看 最佳做法 帮助你写固体测试.