2013-10-20 15 views
0

现在我哈瓦一个关于Web GUI TA要求如何模拟20个用户在网页GUI测试自动化的同时点击一个按钮

我想模拟一些用户(20-30)点击一个按钮在同一并评估当时Web GUI的性能。

我以前用RobotFrameWork + Selenium库做Web Gui TA,但据我所知。硒库一次只能处理一件衣物,所以我现在不知道该怎么办。

你能给我一些建议吗?需要使用另一个库或框架?

回答

0

Selenium有一个“网格”选项,您可以使用它来配置运行多个浏览器的许多实例。

http://www.seleniumhq.org/projects/grid/ http://www.seleniumhq.org/docs/07_selenium_grid.jsp

网格,您可以:

规模由几台机器上(并行执行) 管理从一个中心点多个环境分配的测试,因此很容易 运行测试对抗浏览器/操作系统的巨大组合。通过允许您实施自定义的 钩子来利用虚拟基础架构,可以最大限度地减少网格的维护时间。

简而言之,您将创建一个管理事物的“集线器”,然后每个“节点”可以根据集线器的要求执行测试。

但是,请考虑这可能不是最好的路线。像多机械化可能会更有用:http://testutils.org/multi-mechanize/

这将允许你有许多用户“点击”按钮,但不是通过浏览器,而是通过直接的HTTP调用。这可能更适合多用户同时“无头”负载测试,这是我认为你正在尝试做的。

+0

我不确定这会解决他的问题,因为他希望点击是同步的。没有证据证明他们会同时发生 – sircapsalot

+0

TBH我不太明白这个问题。另一种方法是将javascript添加到页面,在设定的时间点击按钮,然后加载30个标签。不确定实际需要从问题中进行测试。 –

+1

是的,我也不确定。听起来像他想要负载测试。那应该不是来自硒鼓 – sircapsalot

0

我对这个问题略有困惑:

你想测试GUI吗?如果它是“这个按钮使下拉菜单出现”的东西,那么多少用户同时进行操作并不重要,它可以一直工作,也可以不工作。

你想测试负载下的服务器吗?如果是这样,那么硒将工作,但有更好的工具。我已经成功地使用了JMeter,但是在这里有一个很好的列表:http://performance-testing.org/

最后,你想同时在同一浏览器上的同一页上按20个不同的按钮吗?如果是这样,这对于硒来说是不可能的,并且它也不是标准用例。

+0

不是20个不同的按钮。同时按下20个不同浏览器同一页面上的一个按钮。 – Young

+0

为什么?它是否把负载放在服务器上?如果是这样,我会建议使用不同的工具。 –

2

就像其他人所说的,在这种情况下你想要做的不是UI测试,而是压力/负载测试。您应该可以轻松尝试Gatling。首先记录与点击按钮相关的http请求。然后,你写一个简单的场景,一次启动这个请求20次。例如:

setUp(scn.inject(atOnce(20 users))) 。协议(httpConf)

相关问题