我正在测试在我的应用程序中添加和删除资源.目前,它在每个测试用例之前清除cookie并进行登录和客户 Select .我的应用程序判断Cookie是否不见了,然后它会重定向到登录页面.

describe("Resource Add / Remove", () => {
  let resourceName;
  beforeEach(() => {
    cy.visit('http://localhost/myapp')
    
    const user = {
      email: EMAIL,
      password: PASSWORD,
    };
    cy.login(user);
    cy.selectCustomer('MyCustomer')
  });

  it("should create a new resource", () => {
    resourceName = "MyResource";
    // create new resource and check if it exist
  });

  it("it should delete last created resource", () => {
    // find resource using resourceName in the list and click on delete button
    // check if it is removed from the list
  });
});

但这真的很耗时……创建新资源后,我只想跳到下一个测试用例,从头跳过登录和客户 Select .

如何做到这一点?

在 cypress 中,preserveOnce现在被移除.

推荐答案

要正确使用cy.session(),您需要在会话调用后再添加cy.visit().

那是因为cy.session()等于101.

这意味着它的setup函数内部的cy.visit()只在第一次测试中被调用.

在第二次测试中,您将得到一张空白页.

详情见第Where to call cy.visit()页.

describe("Resource Add / Remove", () => {

  beforeEach(() => {
    cy.session(name, () => {
      cy.visit('http://localhost/myapp')    // only called on first test
    
      const user = {
        email: EMAIL,
        password: PASSWORD,
      };
      cy.login(user);
      cy.selectCustomer('MyCustomer')
    })
    cy.visit('http://localhost/myapp')       // visit here when cache is active
  })

  it("should create a new resource", () => {

  })

  it("it should delete last created resource", () => {

  })
})

Javascript相关问答推荐

如何在react-Router-dom 6中Forking 路由?

带对角线分隔符的图像滑动器

如何从对象嵌套数组的第二级对象中过滤出键

积分计算和 colored颜色 判断错误

从连接字符串创建客户端时,NodeJS连接到CosmosDB失败

如何在NightWatch.js测试中允许浏览器权限?

如何使用JavaScript将文本插入空div

引用在HTMLAttributes<;HTMLDivElement>;中不可用

如何根据当前打开的BottomTab Screeb动态加载React组件?

加载背景图像时同步旋转不显示的问题

无法使用单击按钮时的useState将数据从一个页面传递到另一个页面

VUE 3捕获错误并呈现另一个组件

如何在文本字段中输入变量?

将Node.js包发布到GitHub包-错误ENEEDAUTH

OpenAI转录API错误请求

获取';无法解决导入和导入";slick-carousel/slick/slick-theme.css";';错误

在SHINY R中的嵌套模块中,不能使用Java代码

当代码另有说明时,随机放置的圆圈有时会从画布上消失

我如何才能获得价值观察家&对象&S的价值?

如何向内部有文本输入字段的HTML表添加行?