如何使用 Ruby 将 Watir 浏览器实例封装在 GUI 中



基本上,我正在使用Watir为多个站点编写一个测试应用程序。但是,有些最终用户(可以假定他们是使用 Windows 不熟悉命令行的典型用户)。现在,我想给他们一些东西来观察,比如说,视觉上发生了什么(应客户的要求,叹息)。

我将制作一个GUI,显示用于测试站点(表单,用户名,名称等的随机信息)的表单数据以及正在发生的事情。我想要一个预览窗口,就像 C#.NET 中的 WebBrowser 类一样。

有没有一种简洁的方法来限制/封装(idk使用什么其他短语)在 GUI(wxRuby、Shoes 等)中使用 Ruby 中的 Watir(或 Watir-WebDriver)浏览器实例?

(注意:这将在Windows机器上运行)

这是一个有点高的要求。 Watir 本身只是从命令行运行,因此您需要查看是否有办法使用您正在使用的操作系统中的命令行窗口执行您想要的操作。 但是然后watir调用了浏览器的一个实例(使用Watir-webdriver可以有大量不同的浏览器),每个浏览器都是他们自己的野兽,以自己的方式与操作系统和UI做出反应,我不知道你可能会以你描述的方式"包装"IE或Chrome或Firefox。

从这个角度来看,看看是否有办法包装虚拟机的接口可能更容易? (也许可以通过VirtualBox或VMware做到这一点?

如果你问我,这似乎是一个非常古怪的要求,我很难看到你被要求做的事情的商业价值。

如果您使用的是 watir-classic,则可以通过以下方式隐藏 IE 窗口:

ie = Watir::Browser.new
ie.visible = false

如果您的要求是隐藏浏览器窗口并仅显示日志/状态消息的控制台窗口,这可能会有所帮助。

如果您使用的是Watir WebDriver/Selenium,我不确定是否有类似的方法可用。在快速搜索中,我什么也没看到。

IWebBrowser2 "visible" 属性可能很有用 - 如果它还不支持它,不确定将其修补到 Watir WebDriver 会有多难:

http://msdn.microsoft.com/en-us/library/aa752082(v=vs.85).aspx

最新更新