现在我哈瓦一个关于Web GUI TA要求如何模拟20个用户在网页GUI测试自动化的同时点击一个按钮
我想模拟一些用户(20-30)点击一个按钮在同一并评估当时Web GUI的性能。
我以前用RobotFrameWork + Selenium库做Web Gui TA,但据我所知。硒库一次只能处理一件衣物,所以我现在不知道该怎么办。
你能给我一些建议吗?需要使用另一个库或框架?
现在我哈瓦一个关于Web GUI TA要求如何模拟20个用户在网页GUI测试自动化的同时点击一个按钮
我想模拟一些用户(20-30)点击一个按钮在同一并评估当时Web GUI的性能。
我以前用RobotFrameWork + Selenium库做Web Gui TA,但据我所知。硒库一次只能处理一件衣物,所以我现在不知道该怎么办。
你能给我一些建议吗?需要使用另一个库或框架?
Selenium有一个“网格”选项,您可以使用它来配置运行多个浏览器的许多实例。
http://www.seleniumhq.org/projects/grid/ http://www.seleniumhq.org/docs/07_selenium_grid.jsp
网格,您可以:
规模由几台机器上(并行执行) 管理从一个中心点多个环境分配的测试,因此很容易 运行测试对抗浏览器/操作系统的巨大组合。通过允许您实施自定义的 钩子来利用虚拟基础架构,可以最大限度地减少网格的维护时间。
简而言之,您将创建一个管理事物的“集线器”,然后每个“节点”可以根据集线器的要求执行测试。
但是,请考虑这可能不是最好的路线。像多机械化可能会更有用:http://testutils.org/multi-mechanize/
这将允许你有许多用户“点击”按钮,但不是通过浏览器,而是通过直接的HTTP调用。这可能更适合多用户同时“无头”负载测试,这是我认为你正在尝试做的。
我对这个问题略有困惑:
你想测试GUI吗?如果它是“这个按钮使下拉菜单出现”的东西,那么多少用户同时进行操作并不重要,它可以一直工作,也可以不工作。
你想测试负载下的服务器吗?如果是这样,那么硒将工作,但有更好的工具。我已经成功地使用了JMeter,但是在这里有一个很好的列表:http://performance-testing.org/
最后,你想同时在同一浏览器上的同一页上按20个不同的按钮吗?如果是这样,这对于硒来说是不可能的,并且它也不是标准用例。
不是20个不同的按钮。同时按下20个不同浏览器同一页面上的一个按钮。 – Young
为什么?它是否把负载放在服务器上?如果是这样,我会建议使用不同的工具。 –
就像其他人所说的,在这种情况下你想要做的不是UI测试,而是压力/负载测试。您应该可以轻松尝试Gatling。首先记录与点击按钮相关的http请求。然后,你写一个简单的场景,一次启动这个请求20次。例如:
setUp(scn.inject(atOnce(20 users))) 。协议(httpConf)
我不确定这会解决他的问题,因为他希望点击是同步的。没有证据证明他们会同时发生 – sircapsalot
TBH我不太明白这个问题。另一种方法是将javascript添加到页面,在设定的时间点击按钮,然后加载30个标签。不确定实际需要从问题中进行测试。 –
是的,我也不确定。听起来像他想要负载测试。那应该不是来自硒鼓 – sircapsalot