2012-10-01 35 views
2

我必须注册两个用户并模拟他们之间的交互(例如对话)。
我可以执行以下操作:注册第一个用户,然后注册第二个用户,使用第一个用户的数据登录,将消息写入第二个用户并注销。然后使用第二位用户的数据登录,回复邮件并退出。
如果系统要求为用户启用cookie,是否可以实现用户的会话而不登出?模拟Jmeter中两个用户之间的交互

+0

我实现您所描述的第一个方案。因为将消息写入数据库然后阅读不是一种选择。设置cookie时发生了一些奇怪的事情,所以我的变体也失败了。感谢您的关注! – Victoria

+0

也许有人还没有读过这个问题,可以提供一些关于cookie的技巧。我认为这是等待一段时间... – Victoria

回答

0

我不明白你为什么不想退出,因为它在你的情况。

你可以使用代码您的方案:

然后组织你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 

当然这是一个草案,添加所有必要的断言

另一种选择如果你不想登出。 创建2个线程组:

  • 一个写入

  • 一个读取

这就要求你填写数据库信息在测试前阅读。 这是由你来说,如果它会模拟你的系统。

但是,你打算采取的选择似乎是我错了因为它不maintanable关于JMeter的和不知道它反映了一个实际使用情况

+0

谢谢你的答案,@PMD UBIK-INGENIERIE。您所描述的测试计划是我可以实施的测试计划,但不想这样做。我想编写一个测试计划,而无需额外的“注销” - 因为当我使用两个不同的浏览器手动测试时,我不需要注销。我发现如何保存cookie,如何清除它们以及如何设置它们,但设置目前不起作用(我使用CookieManager和Cookie类)。我希望今天解决这个问题。 – Victoria