发布日期:2025-07-06 06:58 点击次数:78
前言
保证软件稳定性,使用端到端(E2E)测试是常见的测试方案,,但全量的,E2E,测试存在一些问题
我们可以使用,mock,api,来互补。
Web,软件开发中,通常使用,http,请求来实现,Playwright,提供了用于模拟和修改网络请求的,API,包括,HTTP,和,HTTPS。页面所做的任何请求,XHR,和,fetch,请求,都可以被跟踪、修改和模拟。使用,Playwright,还可以将多个页面的网络请求录制成,HAR,文件,使得,E2E,测试可以降低成本,构造一些特殊场景,覆盖更多复杂场景。
我们以,playwright,官方的一个例子为例
https://demo.playwright.dev/api-mocking/
这个是一个简单的列表页面,通过一个接口api/v1/fruits渲染出接口给的水果列表数据
以下代码将拦截所有
*/**/api/v1/fruits
该测试将请求转到模拟路由,URL,上,并断言页面上存在模拟数据。
运行
执行测试用例,并且查看,trace,viewer
从上图看到接口请求数据已经被拦截。
有时需要发出,API,请求,但需要修改响应数据来测试。在这种情况下,可以执行请求并修改返回的接口数据。
例如:一些,ui,权限控制展示等
运行测试,我们可以看到,network,中的请求包含了,2,次,一次来源于,Page
通过检查响应,可以看到,mock,中添加的新水果已显示在列表中。
HAR,文件是一个,HTTP,存档文件,其中包含加载页面时发出的所有网络请求的记录。它包含有关请求和响应标头、Cookie、内容、时间等的信息。我们可以使用,HAR,文件在测试中模拟网络请求。并将测试执行持续集成(CI),需要,3,个步骤:
为了录制,HAR,文件,我们使用
page.routeFromHAR()
browserContext.routeFromHAR()
options
url
glob
执行测试用例后将会生成一个,HAR,文件。
HAR,文件就是一个,json,文件,保存了,mock,请求接口信息,接口响应结果保存到,bin,文件中。
一旦录制完成了一个,HAR,文件,我们就可以通过在
hars
update:true
现在,我们已经记录了,HAR,文件并修改了,mock,数据,只需
update
查看,trace,viewer,我们可以看到路由是从,HAR,文件实现的,并且未调用,API。
检查网络响应,可以看到新数据已添加到,JSON,中,这是通过手动更新,hars,文件夹中的
哈希.bin
文件来完成的。
HAR,需要严格匹配,URL,和,HTTP,方法。对于,POST,请求,它还需要严格匹配,POST,有效负载。
如果给定的,HAR,文件名以.zip,结尾,则会将,HAR,文件和录制的网络,json,打包为,zip。我们可以解压,zip,文件,手动编辑数据。
Playwright,还支持使用,CLI,录制,HAR。
使用,Playwright,CLI,打开浏览器并传递
--save-har
--save-har-glob
参考
前言 保证软件稳定性,使用端到端(E2E)测试是常见的测试方案,,但全量的,E2E,测试存在一些问题 我们可以使用,mock,api,来互补。 Web,软件开发中,通常使用,http,请求来实现,Playwright,提供了用于模拟和修改网络请求的,API,包括,HTTP,和,HTTPS。页面所做的任何请求,XHR,和,fetch,请求,都可以被跟踪、修改和模拟。使用,Playwright,还可以将多个页面的网络请求录制成,HAR,文件,使得,E2E,测试可以降低成本,构造一些特殊场景,覆盖更...
前言 保证软件稳定性,使用端到端(E2E)测试是常见的测试方案,,但全量的,E2E,测试存在一些问题 我们可以使用,mock,api,来互补。 Web,软件开发中,通常使用,http,请求来实现,Pl...
作为影视行业的“新风口”,微短剧不仅在国内大火,也俘获无数海外观众的心,成为中国文化出海“新三样”(网络文学、网络影视剧与网络游戏)的重要组成部分。在此背景下,如何通过微短剧讲好中国故事,成为摆在从业...
1952年,阔别故乡十多年的陈昌浩,终于踏上了回国的路。到了火车站,他一眼就看到了刘少奇和昔日的战友们,他们是代表党中央来接他的。那一刻,他的眼眶湿润了,心里头暖洋洋的,知道国家还记得他。可与此同时,...
在人工智能与物联网深度融合的产业变革期,智能物联领军企业宇视科技4月29日于西安国际会展中心首发“AIoT智能体”新理念,凭借环境感知、自主决策与自我进化三大能力,在合作伙伴大会上引发行业热烈讨论。来...