【问题标题】:JMeter or Selenium for functional testing?用于功能测试的 JMeter 或 Selenium?
【发布时间】:2017-03-21 21:14:51
【问题描述】:

如果我想测试应用程序屏幕上出现的警告消息,我应该使用什么?我需要先执行一些步骤才能获得预期的屏幕。最好使用 JMeter 来执行此操作,然后当我到达预期的屏幕时,我可以断言响应包含警告消息?还是应该全部使用 Selenium 来完成,它会更慢,但至少要通过实际的 UI?

有什么建议吗?还是整合2?使用 JMeter 执行所有步骤以到达我想要测试的实际屏幕(以便我的测试运行得更快,执行我实际上并不想测试的步骤)然后使用 Selenium 测试该屏幕和警告消息?

试图让我的头脑围绕最好的使用。我喜欢 JMeter,我知道它是用于负载测试的,但如果我可以使用它来运行我实际上没有测试的测试部分(通过 http 调用),以便更快地获得我想要实际测试的部分那么这肯定更有意义吗?如果警告消息出现在 JMeter http 调用的响应中,那为什么还要使用 Selenium?

【问题讨论】:

  • 您使用 Selenium 是因为它会像用户一样测试应用程序。如果您的错误消息是例如在来自后端的一些 JSON 中,一切都很好,很好地测试了 API,但您没有检查它是否有用地显示给最终用户。
  • 要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见答案和垃圾邮件。相反,describe the problem 以及迄今为止为解决它所做的工作。

标签: user-interface selenium testing jmeter


【解决方案1】:

取决于消息的性质。如果它是由 JavaScript 驱动的 - 你不会使用 JMeter,选择 Selenium 或类似的解决方案(有一些无头浏览器实现,如 PhantomJSHtmlUnit

如果消息有条件地存在于 DOM 中 - 选择 JMeter,因为 JMeter 作用于协议级别,因此您的测试将更加健壮并执行得更快。您可以使用Response Assertion 检查所需的文本是否存在。如果您需要尽可能接近地模拟真实用户,请遵循 How To Make JMeter Behave More Like A Real Browser 指南的建议,除了执行客户端 JavaScript 和实际渲染页面之外,JMeter 可以完成“普通”浏览器可以做的所有事情。

【讨论】:

  • 我们不能在 JMeter 中使用 Selenium webdriver 来渲染页面吗?
猜你喜欢
  • 1970-01-01
  • 2015-09-03
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
  • 1970-01-01
相关资源
最近更新 更多