品牌型号:Lenovo E550C ThinkPad
系统:Windows 11
软件版本:SoapUI 5
Cookie是网络应用开发中不可或缺的一部分,它代表着与用户身份相关的验证关键信息,我们在API测试中,要正确处理Cookie来模拟真实的用户行为。SoapUI作为一款强大的API测试工具,提供了灵活的Cookie处理机制,帮助我们高效完成整个接口测试流程。那么,到底SoapUI如何处理请求中的Cookie,SoapUI的Cookie如何自动管理?本文将进行深入讲解,带大家一步步了解SoapUI在Cookie方面的强大功能。
一、SoapUI如何处理请求中的Cookie
我们发送一个登录请求后,服务器调用成功会返回一个Cookie信息,拿着Cookie便可以进行后续接口测试,具体如何处理请求中的Cookie来完成后续测试呢?
1、在SoapUI中,Cookie是通过HTTP请求头中的信息字段传递的,不同系统的接口传递的Cookie键值都可能不同,但绝大部分键值为“Set-Cookie”,所以我们可以点击头部设置界面的加号按钮,输入“Set-Cookie”并在Value输入框中粘贴登录请求返回的Cookie值。

2、如果要省去手动复制粘贴的操作,则可以通过测试套件实现自动化填入Cookie。
首先在Test Steps中右键选择“Add Step”,再点击“HTTP Request”,输入登录请求所需的链接地址和请求头,发起一个登录请求。

随后再添加一个“Groovy ”的脚本步骤,在脚本中获取前一个请求响应的Cookie信息,再动态加入到当前请求的请求头中,实现自动化处理请求的Cookie。

二、 SoapUI的Cookie如何自动管理
Cookie并不是仅对单个请求有用处,而是对于拥有权限才能访问的请求,都需要携带Cookie来发起,因此学会如何自动管理Cookie对提升SoapUI测试效率有显著作用,具体管理步骤为:
1、右键测试用例选择“Add Step”添加一个“Property Transfer”的测试步骤。

2、点击加号按钮添加一个Property Transfer规则,在Source处填写Cookie的来源请求Request 1,在Property处选择来源的属性,如Response、ResponseAsXml等,再在Path language选择解析属性的方式,如XPath、XQuery、JsonPath。
接下来在Source下方输入框中填写解析规则,如图所示接口返回了note包含cookie的XML数据,那么填写的解析规则为“.//note/cookie”,点击运行可以在下方“Transferred Values”中看到解析cookie值成功。

3、在Target处设置Cookie的管理方式,可以使用Groovy 进行管理,通过脚本实现持久化保存;也可以使用Property管理,将Cookie保存到测试用例参数中。如图选择保存到测试用例的Cookie参数中,那点击运行后测试用例的Cookie值会自动变为Source解析到的Cookie值,方便后续测试。

通过本文的讲解,我们已经学会了SoapUI如何处理请求中的Cookie,SoapUI的Cookie如何自动管理。灵活使用SoapUI强大的测试套件所提供的各项功能,我们能够轻松在多个请求中自动化传输和保存Cookie数据,实现Cookie动态赋值测试。