返回

Cypress Typescript:如何存储可在每次拆卸后使用的变量?

发布时间:2022-05-01 00:49:25 447
# 数据

我有一些测试用例,在开始时将数据存储在变量中,以便在整个测试中使用。它在测试过程中运行良好,可以调用到测试的最后一步,直到拆卸之前,但是当我尝试在测试中使用它时@afterEach在每次测试结束时运行以执行任何全局清理命令的teardown,该变量显示为空,不再存储任何内容。变量似乎意外重置。

我想在拆卸中运行它的原因是确保即使测试用例在完成之前失败,也能访问存储的数据(从而确保在拆卸中收集数据)。如何让变量在Cypress测试中正确存储?

我曾尝试在类中使用静态变量,但这似乎不起作用。

在每个测试用例中,一个方法存储用户的数据,并将其锁定在会话中,以便在从会话中释放之前,其他并行运行的测试无法使用该数据。

class myUser {
  static user;

  public setUser(params: object): void {
    myUser.user = setAndLockUser(params);
  }

  public releaseLockedUser(): void {
    if (myUser.user == undefined) return;
    releaseTheUserLock(myUser.user);
  }
}

在测试用例结束时,我希望确保删除用户的会话,这样用户就不再被锁定在会话中,并且可以用于尚未运行的测试用例。所以我们加上releaseUserafterEach方法:

afterEach(() => {
  myUser.releaseLockedUser();
});

这就是存储变量无法识别的问题所在。在整个测试过程中,成功存储了用户变量,但在每次拆卸后,该变量为空,无法正确清除会话。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像