【问题标题】:test button click in different tabs of browser at same time测试按钮同时在浏览器的不同选项卡中单击
【发布时间】:2018-07-16 08:36:33
【问题描述】:

我想在浏览器的不同标签中测试网页的按钮点击事件。

假设我在 URL 中有一个名为“保存详细信息”的按钮:http://example.org/UserDetails

现在我在 Chrome 浏览器窗口的两个不同选项卡中打开相同的 URL。

我想同时点击不同选项卡中的保存详细信息按钮。这怎么可能 ?我可以使用 selenium 工具来做到这一点吗?

作为 ASP.NET 开发人员,我是测试工具的新手。任何帮助都会很棒。

更新:

我想模拟用户在不同浏览器或同一浏览器不同窗口中同时点击同一个按钮。

【问题讨论】:

  • 您可以手动执行此操作吗?答案是否定的。硒不能这样做。同时,如果您只有一个浏览器实例,这是不可能的。
  • Selenium 用于自动化您可以手动执行的测试。我不知道如何同时单击不同选项卡中的按钮,所以我想也没有办法使用 selenium 自动化。您需要同时使用它吗?
  • 是的,你可以。但它不会同时出现,它将是 2 个窗口,而不是 2 个选项卡。为此,您只需运行两个chromedriver 实例。然后你可以同时点击它们。
  • @stom : 您可以同时启动两个不同的浏览器,然后您可以执行同一行代码,但不确定是否会延迟 1 秒或 2 秒。
  • @stom :因为你的问题不清楚,你没有分享你尝试过的任何代码。

标签: selenium testing selenium-webdriver web automated-tests


【解决方案1】:

Selenium 只是一个 FT 工具,它可以像人类一样在非并行运行的 web 元素上一次执行单个操作。因此,它不能同时对同一浏览器窗口中的两个不同选项卡执行单击操作。

对于您的用例,您需要依赖任何其他框架,例如 TestNG 以及 selenium。 TestNG 具有并行运行功能,允许您同时触发多个测试用例。因此,在您的场景中,需要定义相同的测试用例两次,或者可以复制并将这两个测试用例都包含在 Testng.xml 中,从那里执行触发。并确保您在 testng.xml 中包含以下属性

<suite name="TestSuite" thread-count="2" parallel="methods" >

线程数 - 您希望打开的实例数

并行 - 表示运行应该是并行的

在本次运行中,将同时调用 2 个浏览器,每个浏览器将执行两个测试用例(重复)。 它不能在两个不同的选项卡中执行,它将在两个不同的窗口中

另外请注意,它可能不准确,由于网络延迟和机器性能,可能会有几分之一秒的差异

【讨论】:

  • 很高兴知道它可以在两个不同的窗口中使用。作为开发人员,设置 selenium 和 TestNG 需要一些时间。我稍后会看这个。不过感谢您的回答。欣赏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-19
  • 2013-09-08
  • 2019-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多