GUI测试和访问.net对象的本地属性/字段

本文关键字:属性 字段 对象 测试 访问 net GUI | 更新日期: 2023-09-27 17:54:37

我的团队目前使用TestComplete进行自动化UI测试(对于。net 3.5 WinForms应用程序)。我们正在考虑切换工具——主要原因是我们想用c#编写UI测试。(我们的非ui测试——单元、集成、系统——都是用c#编写的,我们的团队在用c#编写和组织代码方面经验丰富,我们喜欢对测试代码进行编译时检查的好处,等等)

TestComplete的一个非常重要的特性是能够在AUT中访问。net对象的原生属性。我们的UI中有一些令人尴尬的地方,我们需要读取底层数据并进行一些算术运算,以确定如何执行下一个操作。我们可以使用TestComplete的对象浏览器连接到GUI应用程序,并开始探索控件层次结构,也可以探索。net属性/字段。并在我们的自动化测试中访问相同的内容:http://support.smartbear.com/viewarticle/30816/

我很快地看了一下Ranorex(它支持c#),在这个意义上,它似乎没有TestComplete那么强大。它似乎卡住了,并返回空,只要一个属性/字段类型是不可序列化的:http://www.ranorex.com/blog/transfering-data-to-and-from-a-net-control

在进程边界上复制一个对象似乎是合理的,对象应该是可序列化的,但是TestComplete在做什么?有反射的恶心东西?

我的问题是,是否有任何测试框架使这个属性浏览像TestComplete一样简单,同时允许我们在c#中编写测试?(希望比TestComplete更不容易崩溃)

Ranorex链接似乎表明我们可以编写自己的(测试)代码来将对象映射到可以传输的东西,但这是额外的工作。此外,TestComplete的对象浏览器对于测试人员手动探索应用程序的黑暗深处非常有用,而Ranorex的Spy工具不允许您浏览非序列化对象。

GUI测试和访问.net对象的本地属性/字段

您是否尝试了invokeremote()方法?它不应该有任何限制