小编Roo*_*t H的帖子

自动化测试中有多少断言?

我被赋予了使用testcafe构建测试服的任务,并且在我编写测试时,我偶然发现了一个特定问题"多少断言太多了?".基本上,在测试完成后,会生成一个报告.查看报告并不直观.例如,如果在网页上找不到元素,我会看到如下内容:

>Selector('tads') does not exist in the DOM. 
Run Code Online (Sandbox Code Playgroud)

这迫使我手动完成测试以验证失败的原因.

根据testcafe文档,您可以向断言添加可选消息.如此处所见

截至目前,我在一些地方发布了一些消息.在每次点击或每次操作后都有一个断言(带有简明的错误信息)是否明智?(即单击登录按钮,执行断言以查看登录模式是否出现.现在登录,断言登录模式消失)

代码看起来像这样:

await t.click(this.loginButton);
await t.expect(this.loginButton.exists).ok("I don’t see the login button");

await signup.newUserSignUp();
await t.expect(this.loginButton.exists).notOk("The login modal didn’t disappear"); 
Run Code Online (Sandbox Code Playgroud)

任何反馈都会很棒.

javascript automated-tests e2e-testing testcafe

5
推荐指数
1
解决办法
126
查看次数

如何在正则表达式中使用模板文字?

我正在编写一个点击某些过滤器的测试,我注意到浏览器之间存在一些差异。例如,在主要浏览器(Chrome、Firefox、Safari)上,复选框以这种格式完全显示:Checkers、Cheese、Salsa、Butter。当我在 IE11 上运行测试时,这些字符串是小写的,因为它是小写的,所以我的测试失败了。为了解决这个问题,我希望使用正则表达式。我用来单击这些复选框的函数是可重用的。

我很困惑,因为我试图在正则表达式中传递字符串但测试失败。然后我继续创建一个模板文字,有人以这种方式在正则表达式中传递字符串,但测试仍然失败。我的问题是,是否有更聪明的方法将字符串变量传入正则表达式?

filterPage 看起来像:

     export default class OrderHistory {
      constructor() {
          this.filter = Selector(
                ".filterCheckbox"

}

async selectFilter(text) {
    await t.click(this.filter.withText(`/${text}`/i));

}
Run Code Online (Sandbox Code Playgroud)

测试页面如下所示:

 test(“click the cheese filter”, async t => {
   const cheeseFilter = Cheese;

   await filterPage.selectFilter(cheeseFilter);
Run Code Online (Sandbox Code Playgroud)

});

javascript testcase node.js

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

如何在 fetch 请求中设置 cookie?

我对一个特定问题感到困惑。我正在尝试使用 fetch api 设置 cookie,但我无法这样做。

static deleteorder = (domain = "http://localhost:8080/pc", order) => {

  let cooks = "JSESSIONID=AFAFWEEVV2323GG";
  fetch(deleteorder, {
      method: `GET`,
      credentials: 'same-origin',
      headers: {
        "Content-type": `application/x-www-form-urlencoded`,
      },

    })
    .then(res => {
      console.log(res.status);
    })
    .catch(error => {
      console.log(error);
    });
};
}
Run Code Online (Sandbox Code Playgroud)

当函数运行并200返回但数据保持不变时,意味着顺序保持不变。你们中的一个人能透露一下吗?我正处于学习 fetch api 的初级阶段,因此我们将不胜感激任何反馈。

javascript fetch-api

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