Automated tests ClientFunction:_axios2未定义

Automated tests ClientFunction:_axios2未定义,automated-tests,axios,session-cookies,e2e-testing,testcafe,Automated Tests,Axios,Session Cookies,E2e Testing,Testcafe,我正在运行TestCafe进行UI自动化,使用ClientFunctions触发API请求(这样我就可以传递会话cookie) 目前我有一个ClientFunction,它可以很好地工作。。。不过我们现在正在测试IE11,Fetch不受支持 获取代码: const fetchRequestClientFunction=ClientFunction((详细信息、端点、身份验证、方法)=>{ 返回窗口 .fetch(端点{ 方法,, 凭据:“包括”, 标题:新标题({ 接受:'application

我正在运行TestCafe进行UI自动化,使用ClientFunctions触发API请求(这样我就可以传递会话cookie)

目前我有一个ClientFunction,它可以很好地工作。。。不过我们现在正在测试IE11,Fetch不受支持

获取代码:

const fetchRequestClientFunction=ClientFunction((详细信息、端点、身份验证、方法)=>{
返回窗口
.fetch(端点{
方法,,
凭据:“包括”,
标题:新标题({
接受:'application/json',
“内容类型”:“应用程序/json”,
}),
正文:JSON.stringify(详细信息),
})
.然后(httpResponse=>{
如果(httpResponse.ok){
返回httpResponse.json();
}
返回{
呃:是的,
errorMessage:`尝试发送数据${JSON.stringify时出错(
细节
)}到API端点${endpoint}.Status:${httpResponse.Status};状态文本:${httpResponse.statusText}`,
};
});
});
然而,当我尝试切换到。。。没有那么多:

从“axios”导入axios;
const axiosRequest=ClientFunction((详细信息、端点、身份验证、方法)=>{
返回轴({
方法,,
啊,,
url:endpoint,
资料:详情,,
标题:{
接受:'application/json',
“内容类型”:“应用程序/json”,
},
超时:3000,
})
.然后(httpResponse=>{
如果(httpResponse.status<300)返回httpResponse;
返回{
呃:是的,
errorMessage:`尝试发送数据${JSON.stringify时出错(
细节
)}到API端点${endpoint}.Status:${httpResponse.Status};状态文本:${httpResponse.statusText}`,
};
});
});
尝试使用
window.axios
,并将
axios
作为依赖项传递。我还尝试在没有ClientFunction的情况下发出axios请求。。。尽管得到了200条回复,但网站并没有如预期的那样更新


每次我获取
\u axios2时,都没有定义
窗口。axios不是一个函数
。我非常感谢这里的指导。

TestCafe只允许将可序列化对象作为依赖项。您需要在客户端安装
axios
,才能发送这样的请求。

您是否考虑过API或使用cookie?由于会话泄漏(导致测试失败,会话状态过时),我们实际上不得不停止使用角色。不能轻易复制,所以没有引起错误。我会看看RequestHooks,但是我们的cookie是服务器端的(仅限http),我无法将它们添加到请求中(我想)尝试将
axios
加载到客户端违反了我们的CSP。。。正在尝试寻找其他选择