JMeter:如何根据情况使referer字段动态化

时间:2012-07-02 07:23:58

标签: jmeter

除主页外,假设有2页,即页面A,页面B,第一步用户必须登录,那么如果该用户有权查看页面A页面B,那么他可以转到其他页面单击顶部导航栏用户的页面名称将保留在主页中。

1次登录

2主页[如果登录成功]

|

检查是否有权查看---------退出

|是

2 Page A

|

检查是否有权查看Page B --------- Logout

|是

3 Page B

|

4退出

假设有3个用户,即用户1,用户2和用户3.现在,用户1有权查看页面A,页面B,但用户2有权查看页面A而用户3没有查看这两页中的任何一页的权限。

我在页面A采样器,页面B采样器下使用了断言,以检查天气正确的线程是否正在访问此页面,系统是否仅允许授权人员。

在线程组中我选择了是否发生错误然后“停止线程”,这就是为什么如果任何线程未能断言然后它未被计算在未来,这就是为什么在注销采样器中只显示1个线程,并且该线程适用于用户1,因为该用户有权查看页面A,B。并且不考虑用户2和3,因为他们在前面的阶段中有失败的断言。所以有没有办法在注销页面中我可以发送所有已成功清除登录部分的线程,无论是否有查看页面权限。

因此,在引用者字段中注销用户1的注销页面时,它将显示页面b的链接,但对于注销页面上的用户2,引用者字段值将显示页面A的链接和用户的链接3它将成为主页。

任何人都可以告诉我如何根据注销页面中的用户权限动态更改referrer字段值。

1 个答案:

答案 0 :(得分:1)

这是一种可能的情况,因为我不知道您是如何检查已记录用户的权限的。

HTTP Request - Login
    Regular Expression Tester - capture an expected value to validate login
If Controller - If Login OK
    HTTP Request - Home
        Regular Expression Tester - Referrer to Home (Headers option maybe)
    HTTP Request - Page A Permission Verifier
        Regular Expression Tester - extract permission validation value
    If Controller - If user has permission to Page A
        HTTP Request - Page A
            Regular Expression Tester - Referrer to Page A (Headers option maybe)
    HTTP Request - Page B Permission Verifier
        Regular Expression Tester - extract permission validation value
    If Controller - If user has permission to Page B
        HTTP Request - Page B
            Regular Expression Tester - Referrer to Page B (Headers option maybe)
    Http Request - Logout
        HTTP Header Manager - Referrer: ${referrer}