【问题标题】:How to bring running chrome instance in foreground/ontop when test is run through fitnesse wiki通过 Fitnesse wiki 运行测试时,如何将正在运行的 chrome 实例置于前台/顶部
【发布时间】:2017-11-08 20:47:08
【问题描述】:

我在我的健身 wiki 上创建了不同的硒测试。 Fitnesse wiki 在 chrome 浏览器中打开。 现在,当我在 Fitnesse wiki 上点击测试以运行特定测试时,它会打开一个新的 chrome 实例并在那里运行测试。问题是新的 chrome 实例在后台打开,除非我手动单击正在运行的 chrome 实例将其带到前台,否则我看不到执行。我的要求是,每当打开一个新实例时,它应该在前台/OnTop 中打开,而无需任何手动干预。 如何使用 selenium C# 实现这一点。 任何帮助将不胜感激。

【问题讨论】:

    标签: c#-4.0 selenium-webdriver selenium-chromedriver fitnesse-slim selenium-fitnesse-bridge


    【解决方案1】:

    由于 Chrome 是由 Selenium 打开的,您应该可以访问该 window

    尝试最大化窗口:

    driver.Manage().Window.Maximize();
    

    【讨论】:

    • 我已经实现了这个选项。它不工作。它只是最大化窗口但在后台。我仍然必须单击正在运行的实例才能将其置于顶部。
    • OS 操作(例如使窗口聚焦和失焦)不受 Selenium 的控制,正如在 SQA 堆栈交换的this answer 中指出的那样。
    • 我该如何处理它(将正在运行的 chrome 实例带到前台),然后在操作系统级别使用 C# 夹具。这是我的测试通过非常需要的。
    • 查看 User32.dll。一个快速的谷歌搜索产生了一些如何使用它的例子。
    • 我尝试通过 SetForegroundWindow(hWnd) 将正在运行的 chrome 实例前景/OnTop 带入,但直到现在都无法成功。 Process.GetProcessById(pid).Ma​​inWindowHandle 返回 0 而不是 chromedriver 窗口句柄。在这方面有什么帮助我错过了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    相关资源
    最近更新 更多