伪造Cypress的非XHR网络请求

伪造Cypress的非XHR网络请求,cypress,Cypress,我有一个AngularJS应用程序,我正在尝试使用Cypress来存根它发出的一些网络请求。目前,我的问题是资源类型为Img的请求。我从Cypress文档中知道,Cypress无法存根非XHR资源类型/请求,但我正在寻找解决方法 我的应用程序从后端服务器请求映像,我希望对其进行存根或伪造。我不希望修改应用程序代码,而是希望创建一个外部解决方案 我研究了以下内容,发现它们在这种情况下没有用处: Sinon.js-同样,它只能处理XHR请求 nock-替换节点的http.request,但在Cyp

我有一个AngularJS应用程序,我正在尝试使用Cypress来存根它发出的一些网络请求。目前,我的问题是资源类型为Img的请求。我从Cypress文档中知道,Cypress无法存根非XHR资源类型/请求,但我正在寻找解决方法

我的应用程序从后端服务器请求映像,我希望对其进行存根或伪造。我不希望修改应用程序代码,而是希望创建一个外部解决方案

我研究了以下内容,发现它们在这种情况下没有用处:

  • Sinon.js-同样,它只能处理XHR请求
  • nock-替换节点的
    http.request
    ,但在Cypress中似乎不起作用。如果我把它直接添加到我的应用程序代码中,它可能会起作用,我不喜欢这样做
我也尝试了以下方法,但没有成功:

  • mockserver-运行mockserver并添加了一个
    期望值
    ,但是对mockserver的请求似乎都没有通过
  • Service Worker API-不确定如何注册我的Service Worker,因为它需要一个
    .js
    文件作为输入。如果我通过Cypress控制服务人员,什么
    .js
    文件将用作输入
  • 使用express的模拟服务器-问题是应用程序在
    localhost:
    上运行,而模拟服务器在
    localhost:
    上运行。在通过应用程序构造请求时,我无法指定端口号。基本上,我的应用程序并不真正尊重不同的端口号

编辑:

我已经成功地使用express创建了一个模拟服务器。根据Cypress文档,服务器不应在
before()
before()
内启动和停止。相反,它们应该在Cypress启动之前启动,在Cypress停止之后停止