我有内部Web应用程序,我必须使用Jmeter进行测试。 该应用程序具有安全保护作为用户名,密码和身份验证令牌。 Auth令牌随每个新会话而变化。我无法通过安全令牌。令牌包含在URL中,看起来像
http://mytraining.application.net/(S(vj1ckr0nqyvjq3blehcl2jwl))/ApplDefault.aspx?tabid=1. Cookies has look like
Cookie: AUTH_TOK_vj1ckr0nqyvjq3blehcl2jwl=vj1ckr0nqyvjq3blehcl2jwl; AUTH_TOK_syq3r1yu4equ515xzunjobhb=syq3r1yu4equ515xzunjobhb;
所以,只有当我在URL中提交当前令牌时,我的Jmeter才能成功运行。 如果您有任何想法,请告诉我,如何避免每次都在所有地方提交令牌(35)。
[![在此处输入图像说明] [1]] [1]
答案 0 :(得分:0)
您似乎可以从Cookie中找出Auth_TOK
值
将下一行添加到 user.properties 文件(位于JMeter的“bin”文件夹中
CookieManager.save.cookies=true
我还建议您查看ASP.NET Login Testing with JMeter,因为我的期望是您必须处理其他一些动态参数。
答案 1 :(得分:0)
首先尝试使用Dmitri提到的HTTP Cookie Manager。如果在标头中使用身份验证令牌(例如Cookie标头),这将起作用。 Jmeter自动从Set-Cookie Header中获取,由服务器设置(当您添加HTTP Cookie Manager时)为每个线程并在本地存储它,以便它可以在后续请求中使用。
如果在其他地方(但不是标题)中使用Auth令牌(例如Url的一部分,请求正文等),那么我们应该使用Regular Expression Extractor(后处理器)明确捕获它 Regular Expressions Jmeter关联动态值。一旦将值捕获到local_variable,我们替换 local_variable(正则表达式提取器中的引用名称字段)的实际值,无论我们在后续请求中观察动态值,这里使用语法$ { local_variable}。