小编Mon*_*1ma的帖子

该模块只能通过打开“esModuleInterop”标志并引用其默认导出来通过 ECMAScript 导入/导出来引用

我正在使用 TypeScript 创建 API 测试框架,但我对它还很陌生。

我创建了这个帮助文件assertions.ts

import * as chai from 'chai';

interface response {
    status: number
    body: object
}

const assertResponseStatusCode =
    (response:response, statusCode:number) =>
        chai.expect(response.status).to.deep.equals(statusCode);

const assertSuccessResponseStatusCode = (response:response) =>
    assertResponseStatusCode(response, 201)

export = {assertSuccessResponseStatusCode}
Run Code Online (Sandbox Code Playgroud)

然后我开始在我的规范文件中使用它们,如下所示

import * as auth from '../Helpers/auth';
import * as assert from '../Helpers/assertions';
import { user } from '../Samples/user';

describe('login', () => {
    it('should return access token with valid credentials', async() => {
        const response = await auth.login(user);
        console.log(response.body);
        assert.assertSuccessResponseStatusCode(response);
    });
}); …
Run Code Online (Sandbox Code Playgroud)

mocha.js chai typescript

19
推荐指数
2
解决办法
3万
查看次数

cy.intercept() 用于带有查询参数的后端点

我的测试用例很不稳定,因为有时测试会在元素出现在屏幕上之前与元素进行交互,而不是静态等待,我决定在cy.intercept()与元素交互之前等待触发的请求。

我首先使用带有一些路径参数的 PUT 请求进行了尝试,效果很好,并且在 cypress runner 上我看到别名正确地代表了端点

 cy.intercept('PUT', `https://api.dev.myapp.com/api/program/v1/program/**`).as('saveProgram');
 cy.wait('@saveProgram');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我对需要 URL 中的查询参数的后端点尝试了同样的操作,但它不起作用。在运行程序中,我看不到分配给端点的别名,如下面的屏幕截图所示。

 cy.intercept('POST', `https://api.dev.myapp.com/api/program/v1/program?clientId=*`)
                    .as('createProgram');
 cy.wait('@createProgram');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

cypress

3
推荐指数
1
解决办法
2万
查看次数

在 docker 容器内运行测试步骤后,如何在 jenkins 中查看 cypress mochawesome 报告?

我正在 dockerized 容器内的 Jenkins 上运行 cypress 测试,并生成 cypress mocha 很棒的报告,但我不知道如何在 Jenkins 内显示它。

这是我的cypress.json内容

{
  "integrationFolder": "test/specs",
  "supportFile": "test/support/index.js",
  "video": true,
  "reporter": "node_modules/cypress-multi-reporters",
  "reporterOptions": {
    "reporterEnabled": "mochawesome",
    "mochawesomeReporterOptions": {
      "reportDir": "results/mocha",
      "overwrite": false,
      "html": false,
      "json": true,
      "timestamp": "mmddyyyy_HHMMss",
      "showSkipped": true,
      "charts": true,
      "quite": true,
      "embeddedScreenshots": true
    }
  },
  "screenshotOnRunFailure": true,
  "screenshotsFolder": "results/mochareports/assets/screenshots",
  "videosFolder": "results/mochareports/assets/videos",
  "baseUrl": "http://testurl.com",
  "viewportWidth": 1920,
  "viewportHeight": 1080,
  "requestTimeout": 10000,
  "responseTimeout": 10000,
  "defaultCommandTimeout": 10000,
  "watchForFileChanges": true,
  "chromeWebSecurity": false
}
Run Code Online (Sandbox Code Playgroud)

这是我在本地运行的脚本。

  "clean:reports": "rm -R -f results && …
Run Code Online (Sandbox Code Playgroud)

jenkins cypress mochawesome

2
推荐指数
1
解决办法
6630
查看次数

标签 统计

cypress ×2

chai ×1

jenkins ×1

mocha.js ×1

mochawesome ×1

typescript ×1