51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3364|回复: 16
打印 上一主题 下一主题

[原创] 添加成功后返回列表,列表中有该添加内容的状态.......(需帮助)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-9-3 20:21:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 louqqson008 于 2012-9-4 11:14 编辑

添加成功后返回列表,列表中有该添加内容的状态,每条添加的内容的“状态”对象属性都一样,对象是webelement
并且每条列表框对象也都是webelement

我现在是想:当添加成功后,根据添加时的随机数及状态,判断状态功能是否正常,
set rotext=Browser("调查问卷").Page("调查问卷").WebElement("进行中").GetROProperty("innertext")
我用上面这句来读取状态的  “值”但一直报错。
/缺少对象: '[string: "进行中"]'
Line (43): "set rotext=Browser("调查问卷").Page("调查问卷").WebElement("进行中").GetROProperty("innertext")". /

提示错误为这个。有点搞不懂了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2012-9-5 14:15:51 | 只看该作者
回复 16# xjwldlover


    好的,谢谢了,学习学习.
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2012-9-5 14:01:44 | 只看该作者
回复 15# louqqson008
1,getElementsByTagName是DOM方法,上网直接搜这个函数,或者去W3CSchool里看DOM相关的东西就OK了(Li缺了引号)
3.你可以通过instr(OUTERHTML,"<em>已结束</em>")来判断;
更好的方式是通过获第3步获得的obj.getElementsByTagName("em")再获取一次,取innerText

ps,话说细节性的东西你应该自己查文档哦~
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2012-9-5 12:53:02 | 只看该作者
本帖最后由 louqqson008 于 2012-9-5 14:01 编辑

回复 14# xjwldlover


  
    谢谢,看了2遍有点理解了,你说的思路我能理解,但是如何实现就有点迷茫了,一直在写,没头绪,下面写的都是浮云....

   但是 1.getElementsByTagName这个我F1了下,没有这个方法。不知道如何去实现。
ALL_li=Browser("调查问卷").Page("调查问卷").WebElement("调查问卷列表").getElementsByTagName("li")
ALL_liName=ALL_li.Name
liName=instr(1,ALL_liName,"QTP.Texting")不知道这样写哪里有错,
          2.请教下,如何根据记录的OuterHtml进行搜索啊,如果记录是only_li.  谢谢,这个不知道从那下手了
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2012-9-5 11:12:55 | 只看该作者
这样就方便多了。
①既然是自动化,你在创建记录名称的时候肯定可以唯一命名<h1>QTP.Texting12321</h1>
②你要找的记录肯定存在于<li class="lc over">这个列表,你通过getElementsByTagName("li")可以找到所有的记录列表。
③然后你通过instr或者正则表达式,可以判断出哪个li中存在 QTP.Texting12321,找到这条记录。
④然后找到根据记录的OuterHtml可以搜索"<em>已结束</em>“标签的innerText,或者你写个截取函数也是可以的
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2012-9-5 10:51:27 | 只看该作者
回复 12# xjwldlover


    <ul class="clearfix">
    <li class="lc over"><h1>QTP.Texting</h1>
      <span>调查表地址:<a href="http://***/index/13.html>http://***</a></span>
      状态:<em>未开始</em>  参与人数:0人  起止时间:2012-09-09至2012-10-01
    </li>
  </ul>
  
<ul class="clearfix">
    <li class="lc over"><h1>奉化二日游</h1>
      <span>调查表地址:<a href="http://***/index/1.html>http://***</a></span>
      状态:<em>已结束</em>  参与人数:2人  起止时间:2012-07-26至2012-08-30
    </li>
  </ul>
这样看起来清楚点,
这几个都是在一个 <div>里面,感觉就只有span下的href尾数不一样,
你所说的特殊属性是指这个吗
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2012-9-5 10:24:58 | 只看该作者
楼主使用DebugBar查看两个记录的HTML标签内容完整贴出来,大家看看,要外层哦(就是你查看标签内容以后往当前节点向上多查一层)。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2012-9-4 18:00:27 | 只看该作者
回复 10# joykao


   呵呵,我也有点迷糊,所以有点表达不清

最上面的问题中图片能看到吗,图片中状态2字后面的“未开始”就是我说的对象“状态”,

下班了,可以的话,明天多截点图上来
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    10#
    发表于 2012-9-4 17:21:11 | 只看该作者
    回复 7# louqqson008
    其实还是没搞清楚你说的对象到底是个什么情况,好好研究哈。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2012-9-4 17:12:34 | 只看该作者
    回复 6# xjwldlover


         谢谢,下载了,可以找到这句Html和css,但不知道对象在哪里特殊属性
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2012-9-4 16:40:29 | 只看该作者
    回复 6# xjwldlover


        谢谢,下载试试看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2012-9-4 16:40:09 | 只看该作者
    回复 5# joykao


        感谢的你回答,验证存在是可以验证,
    是我说的不够清楚吧,不好意思啊
    EM 是对象“状态”的html tag属性对应值
    还有就是判断出innertext,但问题是有很多条内容时,会有很多重复的,
    也就是说在列表中,每条内容的对象“状态”的属性值都一样,导致我无法读取到他。

    现在也搞不明白为什么属性中不是某个值不是按0.1.2.3这样排下去的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2012-9-4 14:49:31 | 只看该作者
    应该会存在比较特别的属性,建议楼主安装一个网页分析工具,QTP必备。我用的是debugBar,使用工具可以更清晰的看出某一块区的特别属性~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    5#
    发表于 2012-9-4 14:43:00 | 只看该作者
    貌似不用这么烦哇,你加的那个东西有点特别的地方吧,比如 innertext,

    Browser("micClass:=Browser").Page("micClass:=Page").WebElement("innertext:=EM").exist 就可以验证了吧?疯掉
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    4#
    发表于 2012-9-4 13:49:49 | 只看该作者
    回复 3# louqqson008

    根据你说的意思,随便猜一点啦,有问题自己调调
    Set webElementobj=Description.Create()
    webElementobj("micClass").value ="WebElement"
    set webelements=Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects(webElementobj)
    numbers=webelements.count
    '假设你加的东西叫EM
    checkText="EM"
    For i=0 to numbers-1
            webElementcheck=Trim(Browser("micClass:=Browser").Page("micClass:=Page").WebElement("micClass:=WebElement","index:="&i).GetROProperty("html tag"))
            If webElementcheck= checkText Then
                    reporter.ReportEvent micPass,"EM has been added","pass"
            End If
    Next
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2012-9-4 12:51:44 | 只看该作者
    回复 2# joykao


       
        如何找到是我最新添加的那个对象呢,因为状态这栏所有属性都一样的(除了位置)都一样,
    Set rotext=Description.Create
    rotext("html tag").value="EM"
    Set rotexts=Browser("调查问卷").Page("调查问卷").ChildObjects(rotext)
    rotext.Count=Browser("调查问卷").Page("调查问卷").ChildObjects("rotext count")
    For i=0 to elstate.Count-1


    Next
    写到循环这这写不下去了,麻烦指导下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    2#
    发表于 2012-9-4 11:38:55 | 只看该作者
    添加完后,直接遍历所有的WebElement 对象,直到找出你加的那个就行了哇。。。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-11 16:55 , Processed in 0.104735 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表