51Testing软件测试论坛

标题: 新手求助 [打印本页]

作者: binllyyu    时间: 2011-7-6 17:11
标题: 新手求助
本帖最后由 binllyyu 于 2011-7-6 18:14 编辑

[attach]73995[/attach]
如上图,使用QTP录制一些操作,比喻删除一些角色或者修改一些角色。
[attach]73996[/attach]
在上图的关键字视图中 value值为空, 现在我要指定删除某几个角色,不知道该怎么参数化了。
作者: binllyyu    时间: 2011-7-7 09:09
有人回答一下么?
作者: guchenggao    时间: 2011-7-7 11:15
在专家视图中,select你想要删除的角色,再对它进行参数化不可以了么
作者: 17800455    时间: 2011-7-7 13:41
把你单击删除那句代码发出来看看。
作者: binllyyu    时间: 2011-7-8 09:10
回复 4# 17800455


Browser("SAP登陆").Page("Page").Link("角色管理").Click'进入角色管理界面
Browser("SAP登陆").Page("Page").Frame("MainFrame").Link("删除").Click'选中一个角色删除
Browser("SAP登陆").Dialog("来自网页的消息").WinButton("确定").Click
Browser("SAP登陆").Dialog("来自网页的消息").WinButton("确定").Click

关键字视图
[attach]74025[/attach]
角色有很多个,不知道怎么弄,能让他按我指定的去删除要删除的角色
作者: binllyyu    时间: 2011-7-8 09:12
[attach]74027[/attach]
怎么参数化啊,删除那个地方,VALUE值是空的

回复 3# guchenggao

作者: 176626650    时间: 2011-7-8 09:52
貌似找不到参数化的地方呀,Frame内部是否有可参数化的对象
作者: binllyyu    时间: 2011-7-8 10:03
回复 7# 176626650


我也不知道Frame内部有没有可参数化得地方,周一才开始学习这个。
作者: guchenggao    时间: 2011-7-8 12:47
不对吧,value值怎么会是空的呢。先问下你这个脚本回放成功了么
作者: hacker8866    时间: 2011-7-8 12:50
去csdn网页,就知道
作者: ljj149850508    时间: 2011-7-8 14:27
你这个脚本根本就没回放成功
作者: ljj149850508    时间: 2011-7-8 14:30
让你们程序员将程序中点击删除后弹出来的控件隐藏掉,然后你再试
作者: binllyyu    时间: 2011-7-8 16:14
回复 9# guchenggao


    脚本回放是成功的,
作者: binllyyu    时间: 2011-7-8 16:21
本帖最后由 binllyyu 于 2011-7-8 16:22 编辑

回复 11# ljj149850508


    回放成功了,我看了下,连续删除2个角色时  
它会把第二次删除时语句中的 Browser("SAP登陆").Page("Page").Frame("MainFrame").Link("删除").Click
  Link("删除")改成Link("删除_2")

VALUE值还是空的
作者: 阳光下的橙子    时间: 2011-7-8 16:48
回复 14# binllyyu


    那是因为他们的关键字属性发生了冲突,这些按钮的"text"或者"innertext"应该都叫"删除",对象库为了区别他们,就加了序号。你这样单纯录制是实现不了的,要用GetRoProperty的方法去做判断
作者: binllyyu    时间: 2011-7-8 17:35
回复 15# 阳光下的橙子


    能不能再说的详细点啊
作者: 阳光下的橙子    时间: 2011-7-8 17:47
我给你提供一个思路吧,你先把这个表的行数取出来,然后遍历这一列
我写个伪代码:
假设你用来判断是否删除的一列,列名叫"姓名",然后只要名字叫"技术员"的就要删除
假设行数=count,
Dim i,Mykey
For i = 0 to count-1
     MyKey= Browser().page().Row(i).getRoproperty "text"
     If MyKey = "技术员" then
     Browser().page().Row(i).Button("删除").click
     End if
Next
作者: binllyyu    时间: 2011-7-8 18:34
回复 17# 阳光下的橙子


    [attach]74048[/attach]
怎么取这个行数啊?
作者: binllyyu    时间: 2011-7-9 16:08
回复  阳光下的橙子


   
怎么取这个行数啊?
binllyyu 发表于 2011-7-8 18:34



    问题越来越麻烦了,  现在我用webtable函数来取这个表的行数,发现结果总是不对啊,
代码如下
        rowcount=Browser("SAP登陆").Page("Page").Frame("MainFrame").WebTable("角色名称").RowCount
        msgbox rowcount
显示的结果 是2,很奇怪啊。
作者: binllyyu    时间: 2011-7-9 17:18
回复 19# binllyyu


   已经解决,然来是代码位置放错了,读取出来不是那个表的行数
作者: binllyyu    时间: 2011-7-9 17:23
[attach]74057[/attach]回复 17# 阳光下的橙子


    有点思路了,我发现角色后面的 删除 按钮通过添加对象时可以看见VAULE,但是如何利用代码获取这个值,然后再如何写代码来删除指定的角色呢,
作者: guchenggao    时间: 2011-7-9 21:25
  GetRoProperty函数不就是运行时取值的嚒 再利用取出来的值进行参数化   实际上 17楼已经给了个不错的伪代码了
作者: 阳光下的橙子    时间: 2011-7-11 13:50
回复 21# binllyyu


    已经很明显了啊,Index10应该是第10行了。接下来你应该知道怎么做了呀
作者: 阳光下的橙子    时间: 2011-7-11 14:00
回复 23# 阳光下的橙子


   我再给你点提示,用SetToproperty
作者: binllyyu    时间: 2011-7-11 20:22
回复 23# 阳光下的橙子


    还是不行,不知道这么参数化,  我尝试把这个10 改成9, 结果删除的还是 10这行。
作者: binllyyu    时间: 2011-7-11 20:23
回复 23# 阳光下的橙子


    那个 Index10  貌似就是个标记, 将10改成其他的数值,结果删除的 还是定在  10这行。
作者: binllyyu    时间: 2011-7-11 20:27
回复 17# 阳光下的橙子


    那个  删除 不是button  是link
所以 这句  Browser().page().Row(i).Button("删除").click b不能通过
作者: 阳光下的橙子    时间: 2011-7-12 16:00
回复 27# binllyyu


    不要照搬我的伪代码啊-。-,只是个思路而已,我都说了,用SetToproperty来定位呀,这么多的删除按钮,每个删除按钮一定有一个属性是唯一值的,你找到它就找到了重点
作者: fred4965155    时间: 2011-7-19 09:52
165403315
加入该群吧,里面开发测试高手如云




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2