Testing 在Jmeter中模拟两个用户之间的交互

Testing 在Jmeter中模拟两个用户之间的交互,testing,jmeter,Testing,Jmeter,我必须注册两个用户并模拟他们之间的交互(例如,对话)。 我可以执行以下操作:注册第一个用户,然后注册第二个用户,使用第一个用户的数据登录,向第二个用户发送消息,然后注销。然后使用第二个用户的数据登录,回答消息并注销。 如果系统需要为用户启用Cookie,是否可以在不注销的情况下实现用户对话?我不明白您为什么不想注销,因为这是在您的场景中 您可以使用以下代码编写场景: 然后按如下方式组织您的CSV: First Line : U1_LOGIN, U2_LOGIN,U1_

我必须注册两个用户并模拟他们之间的交互(例如,对话)。
我可以执行以下操作:注册第一个用户,然后注册第二个用户,使用第一个用户的数据登录,向第二个用户发送消息,然后注销。然后使用第二个用户的数据登录,回答消息并注销。

如果系统需要为用户启用Cookie,是否可以在不注销的情况下实现用户对话?

我不明白您为什么不想注销,因为这是在您的场景中

您可以使用以下代码编写场景:

然后按如下方式组织您的CSV:

    First Line : U1_LOGIN, U2_LOGIN,U1_MESSAGE,U2_MESSAGE
    Second Line : U3_LOGIN, U4_LOGIN,U3_MESSAGE,U4_MESSAGE
    ...
     CSV Data Set
     Thread Group
     \- CookieManager
     \- OnceOnlyController
        \- Register U1_LOGIN
        \- SignOut U1_LOGIN
        \- Register U2_LOGIN
        \- SignOut U2_LOGIN
     \- SignIn U1_LOGIN
     \- Write Message U1_MESSAGE
     \- SignOut U1_LOGIN
     \- SignIn U2_LOGIN
     \- Write Message U2_MESSAGE
     \- SignOut U2_LOGIN
最后,按照以下方式组织您的测试计划:

    First Line : U1_LOGIN, U2_LOGIN,U1_MESSAGE,U2_MESSAGE
    Second Line : U3_LOGIN, U4_LOGIN,U3_MESSAGE,U4_MESSAGE
    ...
     CSV Data Set
     Thread Group
     \- CookieManager
     \- OnceOnlyController
        \- Register U1_LOGIN
        \- SignOut U1_LOGIN
        \- Register U2_LOGIN
        \- SignOut U2_LOGIN
     \- SignIn U1_LOGIN
     \- Write Message U1_MESSAGE
     \- SignOut U1_LOGIN
     \- SignIn U2_LOGIN
     \- Write Message U2_MESSAGE
     \- SignOut U2_LOGIN
当然是草稿,添加所有必要的断言

如果您不想注销,请选择另一个选项。 创建两个线程组:

  • 作家

  • 读书人

这将要求您在测试之前用要读取的消息填充数据库。 这取决于您是否能正确模拟您的系统


但是在我看来,您打算采用的选项似乎是错误的,因为它对于jmeter来说是不可维护的,并且不确定它是否反映了一个真实的用例,我不明白您为什么不想退出,因为它在您的场景中

您可以使用以下代码编写场景:

然后按如下方式组织您的CSV:

    First Line : U1_LOGIN, U2_LOGIN,U1_MESSAGE,U2_MESSAGE
    Second Line : U3_LOGIN, U4_LOGIN,U3_MESSAGE,U4_MESSAGE
    ...
     CSV Data Set
     Thread Group
     \- CookieManager
     \- OnceOnlyController
        \- Register U1_LOGIN
        \- SignOut U1_LOGIN
        \- Register U2_LOGIN
        \- SignOut U2_LOGIN
     \- SignIn U1_LOGIN
     \- Write Message U1_MESSAGE
     \- SignOut U1_LOGIN
     \- SignIn U2_LOGIN
     \- Write Message U2_MESSAGE
     \- SignOut U2_LOGIN
最后,按照以下方式组织您的测试计划:

    First Line : U1_LOGIN, U2_LOGIN,U1_MESSAGE,U2_MESSAGE
    Second Line : U3_LOGIN, U4_LOGIN,U3_MESSAGE,U4_MESSAGE
    ...
     CSV Data Set
     Thread Group
     \- CookieManager
     \- OnceOnlyController
        \- Register U1_LOGIN
        \- SignOut U1_LOGIN
        \- Register U2_LOGIN
        \- SignOut U2_LOGIN
     \- SignIn U1_LOGIN
     \- Write Message U1_MESSAGE
     \- SignOut U1_LOGIN
     \- SignIn U2_LOGIN
     \- Write Message U2_MESSAGE
     \- SignOut U2_LOGIN
当然是草稿,添加所有必要的断言

如果您不想注销,请选择另一个选项。 创建两个线程组:

  • 作家

  • 读书人

这将要求您在测试之前用要读取的消息填充数据库。 这取决于您是否能正确模拟您的系统


但您打算采用的选项在我看来似乎是错误的,因为它对于jmeter不可维护,也不确定它是否反映了真实的用例

谢谢您的回答,@PMD UBIK-INGENIERIE。您描述的测试计划是我可以实现的,但我不想执行。我想写一个测试计划而不需要额外的“注销”,因为当我使用两个不同的浏览器手动测试时,我不需要注销。我找到了如何保存Cookie、如何清除Cookie以及如何设置Cookie,但设置目前不起作用(我使用CookieManager和Cookie类)。我希望今天能解决这个问题。谢谢你的回答,@PMD UBIK-ingenerie。您描述的测试计划是我可以实现的,但我不想执行。我想写一个测试计划而不需要额外的“注销”,因为当我使用两个不同的浏览器手动测试时,我不需要注销。我找到了如何保存Cookie、如何清除Cookie以及如何设置Cookie,但设置目前不起作用(我使用CookieManager和Cookie类)。我希望今天能解决这个问题。我实现了您描述的第一个场景。因为将消息写入DB然后读取不是一个选项。设置cookies时发生了一些奇怪的事情,因此我的变体也失败了。谢谢大家的关注!也许还没有读过这个问题的人可以建议一些饼干的小把戏。我想等一会儿是对的……我实现了您描述的第一个场景。因为将消息写入DB然后读取不是一个选项。设置cookies时发生了一些奇怪的事情,因此我的变体也失败了。谢谢大家的关注!也许还没有读过这个问题的人可以建议一些饼干的小把戏。我想等一会儿是对的。。。