【问题标题】:Using Selenium WebDrivers to track open web page from .Net使用 Selenium WebDrivers 从 .Net 跟踪打开的网页
【发布时间】:2016-07-19 22:45:35
【问题描述】:

我希望能够从 WinForms 通知区域应用程序以编程方式在给定网页上启动默认 Web 浏览器。我目前正在使用Process.Start(url) 执行此操作。这样做的缺点是,如果用户操作再次触发启动,他们将有两个浏览器打开同一个页面,这是我想避免的。我已经尝试跟踪Process 并将其置于最前沿,但不能保证用户没有离开或关闭相关选项卡。我知道我可以使用WebBrowser 控件,但如果可能的话,我宁愿使用实际的浏览器。我还需要适用于任何主流浏览器的解决方案。

现在我可能找错了树,但我偶然发现了 Selenium WebDrivers,这对我来说是新的。我知道它主要用于 Web 应用程序的自动化测试,但也看到一些文章表明它可以更普遍地使用。是否可以使用 Selenium 启动浏览器窗口并跟踪它是否仍在生产环境中的相关网页上?

【问题讨论】:

  • 是的。查看一些基本教程,您所问的内容很可能已涵盖。
  • @JeffC - 你能推荐一个吗?我看过不少教程,但它们似乎都启动了一个命名的浏览器驱动程序。我需要为 runtime 默认浏览器选择驱动程序(请记住,此代码用于 WinForms 客户端,而不是测试环境)。我也一直在浏览 API,但找不到任何东西。

标签: .net windows selenium selenium-webdriver cross-browser


【解决方案1】:

如果我理解正确,您希望在您的应用上单击启动用户默认浏览器的某些内容,使用某些内容(在本例中为 Selenium)接管该应用的控制权,然后进行浏览器测试。

从应用程序启动浏览器。我认为使用 Selenium 是不可能的。当您使用 Selenium 实例化驱动程序时,它会为您打开浏览器。 Selenium 也无法“接管”浏览器的现有实例,例如您的应用启动的那个。

如果您的应用程序所做的只是启动浏览器,那么您应该测试您的应用程序是否正确启动了浏览器,然后,一切都应该是默认浏览器行为。您不需要测试您的应用程序启动的特定浏览器,您应该能够在 Selenium 可以发挥作用的不同浏览器中测试您的网站。编写一些在测试您的网站等的各种浏览器上运行的测试场景。

如果您想确定默认浏览器是什么,请阅读here

【讨论】:

  • 感谢@JeffC。我根本不想测试 Web 应用程序。我有一个 WinForms 应用程序,允许用户在默认浏览器中启动第三方 Web 应用程序。我想知道我是否可以使用 Selenium 来改善用户第二次启动网页的情况下的 UX。而不是打开另一个浏览器窗口,我希望它关注现有的,如果仍然存在的话。我不确定 Selenium 是否适合生产环境。我希望它提供一个通用的浏览器 API,而不仅仅是一个用于测试的 API。
猜你喜欢
  • 1970-01-01
  • 2015-09-14
  • 2013-08-28
  • 2021-01-25
  • 2016-12-11
  • 1970-01-01
  • 2020-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多