zoukankan      html  css  js  c++  java
  • QTP的那些事通过html标签的属性获取对象(类似onclick的属性)

    看到这个问题,有的人可能觉得就是通过DOM获取呗。我承认确实是通过DOM获取,唯一不同的是我通过的是html中标签的属性获取的。

    代码如下:

    On error resume next
    btv="2012-03-25"
    testpath="//span[@onclick='toAddTeam(this,btv)]'"
    set myspan=Browser("name:=browser").Page("name:=page").Frame("mIfm-3").Object.all.tags("span")
    For i=0 to myspan.length-1
    ' print myspan.onclick.value
     'myspan(i).onclick
    'print  myspan(i).onclick
     strt="function onclick()"&chr(10)&"{"&chr(10)&"toAddTeam(this,'"&btv&"')"&chr(10)&"}"
        If myspan(i).onclick=strt Then
            print "find it"
            myspan(i).click
            Exit for
        End If
    Next
    
     
    注意以上的属性比较特殊,html中该属性的原始值为如下:
    132 
    也就是此时的属性为一个javascript的方法,一定要注意了属性如果是方法的话,获取到的该属性的值需要加上如下:
    function onclick()
    {
    'your codes
    }
    

    为了这个问题我还真的纠结了好久,现在终于解决了属性为JS方法的一个问题,也算是对于QTP识别对象有了进一步的认识。

    希望以上的解决方法可以为大家提供一个帮助。

    *****************************************************************************************************

    补充一下,个人通过XPATH获取的该对象的方法,我以前说过只要能通过DOM获取的对象都可以通过XPATH获取,他们两者的不同在于:

    DOM是步步循环,XPATH则是一步到位,二者都可以达到相同的目的

    以上的方法通过XPATH的解决方法如下:(一行代码,确实省事不少)

     

    pathstr="//span[2][@class='spright' and @onclick="&chr(34)&"toAddTeam(this,'2012-03-30')"&chr(34)&"]"
    '这里一定要注意就是xpath中如果属性中还有变量,此时的属性需要加上双引号的,这个问题我为此纠结了不少时间,希望大家注意 ,这里的xpath在firefox中查看的路径为
    'xpath:  //span[2][@class='spright' and @onclick="toAddTeam(this,'2012-03-12')"]
    print pathstr
    Browser("name:=browser").Page("name:=page").Frame("mIfm-3").WebElement("xpath:="&pathstr).Click
    
    以上的操作一步到位完成了获取指定对象的操作,确实很省事,嘿嘿,要不然我想selenium也不会这么火。确实xpath省事不少!
     
    强烈推荐可以使用第二种方式XPATH!

    作者:高级测试开发网
    博客地址:https://seniortesting.club
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    SpringBoot打jar包以及打成war包 (springboot2.0)
    学习软件开发的心得
    SQA计划
    继续冲吧
    别跑了,看看脚下有木有money
    springIOC的那些事
    ssm
    scrum 第二次冲刺
    云医院
    团队项目开发总结
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/2385541.html
Copyright © 2011-2022 走看看