利用QTP对编辑框内容进行编辑

上一篇 / 下一篇  2010-03-15 13:54:11

 下面名名是个编辑框,属性是webElement 的?为什么用SetTOProperty()方法不能修改innertext?我的目的很简单就是想用自动化脚本编辑这个编辑框的内容:

  脚本按照如下写:

  Browser(”浏览器”).Page(”page/design_店铺装修”).Frame(”Frame”).webElement(”模块内容”).SetTOProperty”innerText”,”我想修改这块的内容”

  脚本执行完毕后,对象库里的属性值没有发生变化?难道SetTOProperty不起作用吗?问号一个个地出现~~~

  问题的解决:

  带着问题,开始一步步地寻找解决途径!上网查资料发现:

  原来在脚本中使用SetTOProperty对对象的属性进行修改,是不会真正改变对象库中对象的属性值,只是一个临时的修改,测试运行时生效,运行结束后结束,不会对对象库里的对象有任何影响。(哦,怪不得也不报错,也不对进行修改。得想想其他的方法)

  那么我们还有什么其他办法吗?

  仙人指点:测试对象还有一个“Properties”,叫Object,通过它,可以修改Run-time对象的属性值来达到修改目标的对象的属性值。通过Object Spy的方法,获取得该对象的Run-time:

  从上图中可以看到,WebElement有一个“innerText”属性,它的属性值也就是在程序中输入的文本内容。因此,如果使用“测试对象.object”的方法对innerText属性值进行修改,也就相当于在程序中手工输入了文本。

  将我们刚才的脚本修改下:

  Browser(”浏览器”).Page(”page/design_店铺装修”).Frame(”Frame”).webElement(”模块内容”).object.innertext=”我想修改这块的内容”达到我们预期的目标!

总结:如果希望改变应用程序中对象的属性值,应该通过“Object.object”方法,来改变对象的属性!而使用测试对象的SetToProperty方法,只能临时改变仓库中对象的属性,对程序中的对象没有任何作用!  


TAG:

 

评分:0

我来说两句

日历

« 2024-02-26  
    123
45678910
11121314151617
18192021222324
2526272829  

数据统计

  • 访问量: 8956
  • 日志数: 22
  • 建立时间: 2010-01-16
  • 更新时间: 2010-11-08

RSS订阅

Open Toolbar