我正在使用使用Infragistic网格的桌面应用程序。我们需要自动化回归测试。
仅QTP不支持这一点,我们需要购买我公司不太感兴趣的新插件。
我们是否有自动化桌面应用程序回归测试的开源工具?申请是在Dot网络,但我不认为这有很大的不同。 请注意,我已经将测试完成归零,但它再次获得许可。我需要一些开源。
答案 0 :(得分:6)
创建良好的自动化GUI测试是一项重要的时间投入。虽然一些自动化测试工具允许您通过屏幕录制创建测试,但最好的测试是使用脚本执行的,以便您可以概括行为。 ie ..等到对话框X出现,输入Y,成功时执行Z.TestComplete允许您使用多种脚本语言(包括javascript)创建可靠的测试,其中有很多钩子用于增值组件,即...拉测试的能力来自DB的输入(数据驱动测试),黄金主图像与目标的比较,OCR以图形形式解释对话框文本。与其他商业报价相比,其价格合理。
我喜欢开源,就像下一个人一样。但是我们选择了TestComplete以及找不到合理的开源替代方案。如果您认真对待自动化测试,那么您最终将创建数千行可重用且可靠的测试代码,这些代码应该添加足够的价值来证明成本合理。
此外,制作您正在使用的网站Joel on Software blog的人推荐了TestComplete,并且是多个Jolt奖项的获胜者TestComplete jolt awards
同样作为QTP用户,您可能会发现TestComplete与QuickTestPro上的这个discussion很有趣。我不想听起来像是这个产品的倡导者。但是我已经成功地在几个不同的操作中使用了它多年,并且推荐给我所知道的每个软件公司。除非您能找到相同或更好的开源应用程序,否则我建议您使用此产品并花钱,因为这样可以省钱。
请注意,此建议主要针对Windows桌面应用程序。对于基于Java的应用程序,您可能有一些合理的开源替代方案:Open Source Automated Test Tools Written in Java
答案 1 :(得分:3)
您可以尝试AutoIt。这是一个很棒的免费软件,可以让你完成更多的测试自动化。
在我们的产品中,我们还使用TestComplete这是一种商业工具。
答案 2 :(得分:2)
我同意大卫的回答!我的公司使用TestComplete7作为我们的Windows应用程序,我们能够用它来处理几乎的一切。他们最近增加了对TMS组件的支持,因此这是一个巨大的帮助。如果您想创建一个自动化测试套件,我绝对推荐TestComplete。 你可以给trial一个镜头,看看它与你的应用程序有什么关系。 关于如何与特定组件进行交互,还有documentation。
答案 3 :(得分:1)
此处有一个操作系统测试工具列表 - http://www.opensourcetesting.org/functional.php
答案 4 :(得分:0)
如果你已经拥有QTP(我在你的评论中推断出必须购买Infragisitcs插件),那么你可以使用Infragistics。 Infragistics插件将使录制/播放更容易,但你应该能够在没有它的情况下顺利完成。
您想在QTP对象上使用.Object
属性。这将使您可以访问实际对象的本机方法和属性,而不是该对象的QTP代理。如果您知道网格控件具有FocusCell
方法,则可以执行以下操作:
SwfWindow().SwfObject().Object.FocusCell 0,0
无论供应商如何,第三方网格总是存在问题。一些更常见的解决方法是使用击键进行导航和击键(Ctrl-A,Ctrl-C)+剪贴板API以从网格中检索数据。