我很想知道在创建自动化测试用例时,摆脱对应用程序内部结构的依赖有多可行。或者当开发人员修改代码的一部分以修复错误时,您可能需要重写测试用例,等等。我们可以基于应用程序的内部对象结构编写几个自动化测试用例,但假设对象层次结构在大约6个月后发生变化,我们如何处理此类问题?
发布于 2014-05-19 02:14:12
我不能为其他测试工具说话,但至少在QTP的情况下,测试工具在应用程序上引入了一定程度的抽象,因此应用程序中的非功能更改通常(但不总是)不会影响测试工具识别对象的方式。
例如,在QTP中,所有web元素都被视为文档的直接子元素,因此DOM中的更改(如附加的table)不会更改对象的描述。
发布于 2014-05-19 15:35:37
在TestComplete中,有几种方法可以确保更改后的应用程序结构不会破坏您的测试。
发布于 2014-05-19 16:17:22
这是我在两次由于DOM结构的变化而失去所有工作后被迫做的事情:
每次需要使用对象时,我都会使用带有对象ID的Find函数,在Page对象上搜索该对象。这样,每当DOM更新时,我的测试仍然可以顺利运行。唯一会破坏我的测试的事情是如果对象的ID改变了,但这种情况发生的可能性不是很大。
Here你可以找到一些我使用的助手函数的例子。
https://stackoverflow.com/questions/23722413
复制相似问题