【问题标题】:Been asked to use Selenium to test Windows desktop application UI--how is this possible?被要求使用 Selenium 测试 Windows 桌面应用程序 UI——这怎么可能?
【发布时间】:2013-12-12 13:16:12
【问题描述】:

我申请的一家公司给我发了一个“测试”,我不得不拒绝,因为它没有多大意义:他们让我使用 Selenium 来测试 Win 桌面应用程序 GUI 并生成错误报告表格形式。他们声称他们正在使用 Selenium 来测试他们公司中的 Win 桌面应用程序,但他们不知道如何。

我做了一些研究,我的理解是 Selenium 仅适用于网络浏览器,因为它是专门为此设计的。它如何连接到 Windows 桌面应用程序?我只是看不出有什么办法。我发现有人将它与另一个开源工具集成来执行此操作,但是这个“测试”应该花费我 1 小时的时间,并且安装一些其他框架、配置、与 Selenium 集成等,等等绝对不会落入一小时的时间范围内。我也从另一家公司听说,如果他们雇用我,他们希望我使用 Selenium 来自动化非浏览器的东西......仍然对此一无所知 - 这甚至可能吗? -- 还是只是有什么问题?

【问题讨论】:

  • 我认为使用 Selenium 测试 Windows 桌面 UI 是不可能的。 Selenium 使用 javascript 来执行 UI 操作。这是讨论 Windows UI 测试产品的链接。 stackoverflow.com/questions/1137448/…
  • 我同意:我认为这实际上是一个技巧问题,但他们对使用 Selenium 是认真的。这是 C# 应用程序——也无法访问其源代码,它完全是黑盒。 Selenium 在这里没有任何意义。谢谢
  • 我对此有点困惑。我只能假设几件事:他们可能希望您说“等等,Selenium 不会“执行”Windows UI 应用程序(WinForms、WPF 等)”,或者有一些构建在 Selenium 之上的工具没有人似乎知道(可能)。
  • Arran,不,他们真的是想用 Selenium 测试 Windows UI。当我告诉他们不可能时,他们立即拒绝了我的候选资格。或许,这只是一个“毫无头绪的科技招聘”案例。

标签: windows user-interface selenium desktop


【解决方案1】:

你不能。 Selenium 只能自动化网络浏览器,即便如此,也只能自动化某些浏览器(Chrome、Firefox、Internet Explorer、Opera,偶尔还有 Safari)。它以一种不适用于其他 Windows 应用程序的方式与它们进行非常深层次的交互,非常特定于所讨论的浏览器。

【讨论】:

  • 我进行了另一次面试,技术负责人告诉我,成功的候选人将通过 Selenium 自动化他们的非 Web 内容(比如一堆 RESTful 服务端点相互通信等)。当提出这些建议时,我总是怀疑面试官自己的技术能力,考虑到后一种情况可以使用一些简单的脚本来自动化,而无需任何现有的“框架”,而且 Selenium 实际上只适用于执行 Javascript 的浏览器。可以这么说,为什么要开车穿越湖面。
【解决方案2】:

Selenium 仅用于 Web 应用程序的 GUI 测试,仅此而已。但是您可以在 webdriver 代码中包含 Sikuli,并且可以测试任何应用程序,无论是桌面应用程序还是 Web 应用程序,因为它使用图像识别。

如果你想使用 Selenium 测试桌面应用程序,你需要导入 Autoit 并且也可以测试这些

【讨论】:

    猜你喜欢
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 2011-02-07
    相关资源
    最近更新 更多