matmanjs / matman

Web 端对端测试(E2E,End-to-End Testing)解决方案
https://matmanjs.github.io/matman
MIT License
46 stars 10 forks source link

mock server 的慢速模式功能 #109

Open helinjiang opened 6 years ago

helinjiang commented 6 years ago

某些时候我们需要模拟下 cgi 慢速的场景,现有的做法是在 mock module 中使用 setTimeout,但其实这中做法有点粗暴,因为在 2G/3G 和 WIFI 等场景是不一样的返回速度。

可以参考 chrome 的模拟不同网络场景下自动跳转返回速度(如果在本地调试,则可以近似认为网络请求速度会非常快,能够控制的返回速度取决于服务的的响应)。

初步的想法是拿到数据大小之后,根据不同环境下的速率,进而控制 setTimeout 中的延时时间。

慢速模式可以针对所有的 CGI 都生效。

chrome 和 fiddler 都可以设置慢速模式,但它们连静态资源和图片资源等都一并慢速了,在开发阶段,这毕竟浪费时间,因为等加载 js 就要等半天才出来,然后才是 cgi 之类;而有些场景仅仅只是想让 cgi 慢点回来,其他的请求正常回来