我有一个AngularJS应用程序,我正在尝试使用赛普拉斯对它发出的一些网络请求进行存根。当前,我的问题是资源类型为Img的请求。我从赛普拉斯的文档中知道赛普拉斯无法对非XHR资源类型/请求进行存根,但是我正在寻找一种解决方法。
我的应用程序从后端服务器请求图像,我想对它进行存根或伪造。我宁愿不修改应用程序代码,而宁愿创建一个外部解决方法。
我研究了以下内容,发现它们在这种情况下无用:
http.request
,但是在Cypress中似乎不起作用。如果我直接将其添加到我的应用程序代码中,则可能会起作用,而我不希望这样做。我也尝试了以下操作,但未成功:
expectation
,但是对模拟服务器的请求似乎都没有通过。register
我的Service Worker,因为它需要一个.js
文件作为输入。如果我通过赛普拉斯控制服务工作者,那么哪个.js
文件将作为输入? localhost:<some_port>
上运行,而模拟服务器在localhost:<some_other_port>
上运行。通过应用程序构造请求时,无法指定端口号。基本上,我的应用程序并没有真正遵循不同的端口号。编辑:
我已经成功地使用express创建了一个模拟服务器。根据赛普拉斯的文档,不应在before()
和after()
内启动和停止服务器。相反,它们应该在赛普拉斯启动之前启动,而在赛普拉斯停止之后停止。