gpt4 book ai didi

qtp - 修改对象存储库中的序号标识符值 - QTP

转载 作者:行者123 更新时间:2023-12-02 02:03:42 25 4
gpt4 key购买 nike

我用 html 创建了一个简单的表单,它有两个对象(编辑框 - 名字),它们具有相同的属性(如名称、输入和其他),一个在另一个下面。我在其中一个编辑框中记录了一个操作,对象被添加到本地对象存储库中,索引为“0”(因为它在源代码中的顺序)。

然后我将 Index 的值修改为“1”,这样同一个对象将引用具有相同属性的第二个编辑框,但这在 QTP 中不会发生。

一旦添加了序号标识符,尽管我们在对象存储库中对其进行了修改,但它确实在存储库中得到了更新,我们可以查看相同的内容。但它在修改时并不像它那样,即在这种情况下,当我们运行脚本时,它应该引用第二个“名字编辑框”,但它并没有发生,为什么?

为了简要说明我的问题,在对象存储库中修改后的序号标识符并没有真正更新,即使它显示为已更新,为什么?

最佳答案

您似乎遇到了 QTP 中针对 Web 的优化。除了常规描述之外,QTP 还存储 sourceIndex作为隐藏属性。然后,当尝试识别对象时,它将首先检查具有存储的 sourceIndex 的 HTML 对象是否与描述匹配,如果匹配,则假定它是正确的对象并且不会搜索整个 DOM。

由于序号(在本例中为索引)是一种特殊属性,仅在多个对象匹配时才用于标识,因此 sourceIndex 优化避免了索引的使用。

在 QTP 的更高版本中(我认为从 11 开始)QTP 还将生成的 XPath 存储到具有类似功能的对象。您可以在工具→选项→网络→高级中禁用这些优化

screen shot of options

关于qtp - 修改对象存储库中的序号标识符值 - QTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com