ruby - Watir Excel 调用无法在虚拟机上运行

标签 ruby excel hudson ole watir

我有一个 watir 测试,将一些信息从网络应用程序下载到 Excel 文件,然后我打开文件以确认内容。在我的开发箱上一切正常,但计划的自动化运行(通过 Hudson)总是无法尝试打开 Excel 文件。我检查了两台机器(Ruby 1.8、Watir 1.6.5)上是否注册了正确版本的 AutoITX3.dll。两台机器上都没有注册其他版本的 AutoITx3。如果 dll 未注册,Hudson 框上的错误是预期的错误,但它出现在 regedit 中与我的开发框相同的位置。两台机器都是WinXP。 在 Hudson 框上手动运行测试会导致相同的错误 -- unknown OLE server: 'Excel.Application' HRESULT error code:0x800401f3 Invalid class string.

我搜索了类似的错误并看到一个在虚拟机上运行导致类似问题的实例,但前提是虚拟机窗口已关闭。我不认为这是一个代码错误,因为它在开发箱上运行。有什么调试建议吗?

TIA, 萨布丽娜

最佳答案

我发现在测试自动化中使用 Excel 是一种反模式。我知道很多人喜欢它,但如果您将其用于自动化,那么还有更简单的方法可以实现。考虑将 CSV 与 FasterCSV 一起用于自动化测试,并将任何内容检查到我假设您正在使用的版本控制中。

恕我直言,您应该只在有人参与时使用 Excel - 即您可以在 CSV 中定义一系列测试,但您在 Excel 中编辑它们,保存回来,然后与源代码控制系统中的内容进行比较,将其存储为CSV。

Excel 对 diff 毫无用处,所以它不能很好地存储在源代码库中,没有理由将它安装在 CI 盒上,而 CSV 可以并且做得更好。

无论如何,这是我的 2 美分。 :)

干杯,

查理

关于ruby - Watir Excel 调用无法在虚拟机上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3936541/

相关文章:

MSBuild 无法使用临时 key 签署 ClickOnce list (错误 MSB3326 和 MSB3321)

c# - Excel 2013 崩溃

continuous-integration - Hudson 中 "Aggregate downstream test results"的问题

Ruby:按属性值链接两个对象数组

ruby-on-rails - 请务必在 RoR 中安装时区支持 - https ://github. com/ankane/groupdate#for-mysql

vba - Excel VBA 过滤前一天的数据透视表和数据透视图 - 数据透视过滤字段

VBA - 使用宏操作特定工作表数据 - 不是 Activesheet

java - 错误 - trustAnchors 参数必须非空

Ruby:使用哈希跟踪股票交易

javascript - 来自 Rails 的嵌入式可执行 JS