在TestCafe中,是否有办法通过USER ROLE功能来获取token设置?

问题描述 投票:0回答:1

介紹

我正在使用TestCafe,有一些多余的步骤,可以很容易地通过直接调用API来代替,以节省大量的时间。另外,在我目前的测试中,我使用了TestCafe的UserRole功能,以避免每次测试都要登录。

问题出在哪里呢? 要进行API调用,我需要一个token。UserRole已经把它保存在一个cookie中,但我找不到获取它的方法。

到目前为止我做了什么? 我做了调试测试来寻找cookie,我看到浏览器里有一堆cookie,但我看不到相关的可以用作标记的cookie。

有一个方法让我使用这部分代码来获取cookie,当我不使用用户角色功能时,我能够获取cookie,但在使用用户角色功能时,使用下面的代码就不成功了。

  const getCookie = ClientFunction((name) => {
  const nameEQ = `${name}=`;
  const ca = document.cookie.split(';');
  for (let i = 0; i < ca.length; i += 1) {
    let c = ca[i];
    while (c.charAt(0) === ' ') c = c.substring(1, c.length);
    if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
  }
  return null;
});

但我需要知道cookie的名字,我不知道TestCafe是如何设置的。

javascript testing automation ui-automation testcafe
1个回答
1
投票

通常情况下,一个认证cookie有 仅限http 属性。这意味着你不能从客户端访问这样一个cookie。TestCafe重复了本地浏览器的行为,并限制了对 httpOnly 内的代码的cookie。ClientFunction. 此外,目前还没有公开的API来使用。httpOnly 注意,TestCafe团队不推荐您手动设置cookies。这可能会导致不稳定的测试。

© www.soinside.com 2019 - 2024. All rights reserved.