我总共创建了 50 个测试脚本。所有这些脚本都使用几乎相同的对象,因此我创建了一个共享存储库来简化维护工作。
但问题是......在更新运行模式下执行脚本时,QTP 会在本地存储库中添加一些对象,即使它们存在于共享存储库中。我检查了这些新添加的对象的属性,也没有任何变化。
任何人请告诉我 QTP 用来决定是否将对象添加到本地存储库的逻辑。还告诉我一个解决方案,以便不会将任何对象添加到本地存储库中。
我总共创建了 50 个测试脚本。所有这些脚本都使用几乎相同的对象,因此我创建了一个共享存储库来简化维护工作。
但问题是......在更新运行模式下执行脚本时,QTP 会在本地存储库中添加一些对象,即使它们存在于共享存储库中。我检查了这些新添加的对象的属性,也没有任何变化。
任何人请告诉我 QTP 用来决定是否将对象添加到本地存储库的逻辑。还告诉我一个解决方案,以便不会将任何对象添加到本地存储库中。
这里有两件事在起作用。
这解释了为什么您在本地对象存储库(LOR) 而不是 SOR 中获取对象,(我不确定将未修改的对象添加到 LOR 是否是正确的行为)。
为了在更新运行模式之后传播更改,您应该将 LOR 导出到新的 SOR,然后将其与现有的 SOR 合并。
我也遇到过类似的问题。虽然执行脚本 qtp 未识别对象,但对象存在于共享 OR 中并且它在应用程序中突出显示。当我在维护运行模式下检查时,我在共享 OR 中更新的一个属性值发生了变化。问题是我监视了那个对象,qtp 将它保存在本地 OR 中。所以下次当我运行它从本地 OR 引用的脚本时,脚本失败了。所以我从对象存储库窗口中删除了对象(显示为本地),然后它显示了共享 OR 的相同对象(这是 QC 路径)