<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

    QTP——使用DOM識別樹形節(jié)點(diǎn)進(jìn)行Web測試

    Web測試中,不可避免的會遇到樹形節(jié)點(diǎn)的識別。如下就是通過IEDevToolBar抓下的一個(gè)page的樹形結(jié)構(gòu)。

      QTP在對樹形結(jié)構(gòu)的節(jié)點(diǎn)進(jìn)行識別時(shí),可以采用DOM(Document Object Model文檔對象模型)模型,在DOM中,每個(gè)網(wǎng)頁元素都對應(yīng)著一個(gè)對象。樹結(jié)構(gòu)中每一個(gè)元素都被稱為一個(gè)節(jié)點(diǎn)。QTP可以通過DOM來訪問HTML標(biāo)簽。在QTP中,訪問DOM主要通過使用page測試對象的object屬性來進(jìn)一步訪問。

      舉個(gè)簡單的例子:在百度貼吧首頁,我們需要獲得”熱門轉(zhuǎn)帖排行”下的標(biāo)題。

      代碼如下:

    '獲得貼吧首頁熱門轉(zhuǎn)帖排行下的所有標(biāo)題
    Set oBj=Browser("貼吧").Page("貼吧page").WebTable("Table").Object
    Set oDIV= oBj.getElementsByTagName("DIV")
      num=0
      For i=0 to oDIV.length-1
        If  oDIV(i).innertext="熱門轉(zhuǎn)貼排行" then
          For j=0 to oDIV(i).NextSibling.ChildNodes.length-1
            num=num+1
            Datatable.SetCurrentRow(num)
            Datatable.Value("innertext")=oDIV(i).NextSibling.ChildNodes(j).innertext   '將獲得的標(biāo)題儲存到Datatable中
          Next
        End If
      Next
    Set oBj=Nothing
    Set oDIV=Nothing

      在這段代碼中,就是通過訪問貼吧頁面下的WebTable對象的Object屬性來進(jìn)一步訪問HTML標(biāo)簽的。

    我們用到了幾個(gè)方法和屬性:

      getElementsByTagName()方法:返回帶有指定標(biāo)簽名的對象的集合。
      NextSibling屬性:返回處于同級節(jié)點(diǎn)下某個(gè)元素之后緊跟的元素。
      ChildNodes屬性:返回指定節(jié)點(diǎn)的子節(jié)點(diǎn)的節(jié)點(diǎn)列表。

      我們借助于IEDevToolBar,可以發(fā)現(xiàn),“熱門轉(zhuǎn)帖排行”這一列中,“熱門轉(zhuǎn)帖排行”是DIV的innertext,而底下的標(biāo)題則分別是UL的innertext,因此要訪問到UL的節(jié)點(diǎn)列表,就需要用到NextSibling屬性。

      最后程序運(yùn)行的結(jié)果在Report的Run-Time Data Table中:

      DOM還有很多方法和屬性,之前提到了NextSibling,那么還有PreviouSibling;以及NodeName,NodeType,NodeValue等等。

      關(guān)于NodeName,NodeType,NodeValue;很多人可能還有很多混淆,這里做些總結(jié):

      Nodetype:返回節(jié)點(diǎn)的類型,1為元素,2為屬性,3為文本,8注釋,9文檔
      Nodename:返回節(jié)點(diǎn)的名稱,元素返回的是標(biāo)簽名稱,屬性返回的是屬性名稱,文本返回的是#text(innertext),文檔返回的是#document
      Nodevalue:返回當(dāng)前節(jié)點(diǎn)的值,文本節(jié)點(diǎn)返回文本值,屬性節(jié)點(diǎn)返回屬性值,標(biāo)簽和文檔節(jié)點(diǎn)返回null

      其他的一些方法和屬性待大家自己學(xué)習(xí)DOM后了解。如果大家熟悉DOM的方法和屬性,在利用QTP做Web測試時(shí),將會很有益處。

    posted on 2011-10-21 16:34 順其自然EVO 閱讀(1133) 評論(0)  編輯  收藏

    <2011年10月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费播放春色aⅴ视频| 91成人免费观看网站| 免费人成年激情视频在线观看| 亚洲丝袜中文字幕| 日韩免费一区二区三区在线 | 亚洲 欧洲 视频 伦小说| 免费观看无遮挡www的视频| 亚洲欧洲精品在线| 无码精品A∨在线观看免费| 亚洲伦理一二三四| 女人张开腿等男人桶免费视频| 91在线亚洲综合在线| 国产中文字幕免费观看| 日本免费精品一区二区三区 | 中文字幕免费视频精品一| 亚洲线精品一区二区三区影音先锋 | 中文字幕一区二区免费| 国产亚洲av片在线观看播放| 成人性生交大片免费看好| 亚洲人成影院在线| 免费看国产成年无码AV片| 小说区亚洲自拍另类| 国产美女亚洲精品久久久综合| 在线成人精品国产区免费| 亚洲国产av美女网站| 国产精品成人免费综合| baoyu122.永久免费视频| 亚洲性69影院在线观看| 国产在线a不卡免费视频| a国产成人免费视频| 亚洲中文字幕AV在天堂| 久久精品亚洲福利| 4455永久在线观免费看| 看一级毛片免费观看视频| 亚洲AV无码一区二区三区系列| 一区二区无码免费视频网站| 成人免费网站视频www| 亚洲黄色免费电影| 免费在线观看的黄色网址| 99爱在线观看免费完整版| 美女羞羞视频免费网站|