您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源功能測(cè)試工具 >
使用XML維護(hù)Selenium自動(dòng)化測(cè)試腳本
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/6/7 10:46:27 ] 推薦標(biāo)簽:

  下面怎么做呢?傳統(tǒng)的測(cè)試用例文檔存儲(chǔ)方式在不同的公司里差異很大,有的是 Word 文檔,有的是 Excel 文檔,也有維護(hù)在配置管理站點(diǎn)的,比如 IBM 的 Rational ClearQuest、開(kāi)源的 TestLink 等等。Word 和 Excel 在維護(hù)用例額外的步驟信息方面都不夠靈活簡(jiǎn)便,我們決定使用 XML 文檔。下面是使用 XML 維護(hù)本文中演示用例。

圖 1. 瀏覽器打開(kāi)測(cè)試用例

  可以看出來(lái),這和傳統(tǒng)的用例看起來(lái)很像。這樣的用例編寫(xiě)方式,閱讀起來(lái)非常容易。同事在會(huì)議室一起評(píng)審這個(gè)用例時(shí),很容易能看明白這個(gè)測(cè)試用例的執(zhí)行行為。但是又與傳統(tǒng)測(cè)試用例不同的是,它包含了額外的能被自動(dòng)化工具識(shí)別的步驟信息。我們使用 XML 編輯器打開(kāi)這一個(gè)測(cè)試用例文件,如下:

  清單 4. XML 格式的自動(dòng)化測(cè)試腳本

<?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="./SeleniumUseCase.xsl"?>
 <SUITE name="IBM 開(kāi)發(fā)者社區(qū) 演示測(cè)試用例">
 <SETTINGS browser='*firefox' seleniumServer='127.0.0.1'
   seleniumPort='4444' application_url='http://www.google.com/'>
  </SETTINGS>
 <TEST name="在谷歌中查詢 IBM 開(kāi)發(fā)者網(wǎng)絡(luò)社區(qū)" timeout='1'>

   <STEPS>
 <STEP index="1" type="Type.INPUT" name="在谷歌查詢輸入框,
輸入 ibm developerworks cn">
 <XPATH>//input[@name='q']</XPATH>
     <VALUE>ibm developerworks cn</VALUE>
    </STEP>
 <STEP index="2" type="Type.CLICK" name="單擊查詢按鈕,執(zhí)行查詢">
     <XPATH>//input[@name='btnK']</XPATH>
    </STEP>
 <STEP index='3' type='Type.CLASS' name="測(cè)試截圖函數(shù)">
 <METHOD>captureScreenshotRemote</METHOD>
 <ARGUMENT> 查詢后截圖測(cè)試 Remote</ARGUMENT>
    </STEP>
   </STEPS>
  </TEST>
 </SUITE>

  下面對(duì)上述 xml 進(jìn)行解釋:

  第一行是 XML 聲明。它定義 XML 的版本 (1.0) 和所使用的編碼(UTF-8)。緊接著是指定的處理指令。設(shè)置的 XLST 轉(zhuǎn)換,可以使測(cè)試用例 XML 文件能被瀏覽器打開(kāi)并顯示為 HTML 形式。XSLT 是一個(gè) W3C 標(biāo)準(zhǔn),可將 XML 轉(zhuǎn)換為其他的格式,比如 HTML 格式。本文提供的下載附件里包括引用的 XSL,這里不再贅述。每個(gè) SUITE 元素可以指定用例執(zhí)行的配置信息,比如瀏覽器和 Selenium 信息等。每個(gè) TEST 元素對(duì)應(yīng)著一個(gè)測(cè)試用例,每個(gè) TEST 包含若干 STEP 元素,對(duì)應(yīng)著不同的測(cè)試步驟。每個(gè) STEP 步驟包括步驟編號(hào) index、 步驟類型 type、步驟名稱 name,也包含頁(yè)面控件定位信息 XPATH 和測(cè)試數(shù)據(jù) VALUE 等。

  下文來(lái)演示,如何使用自動(dòng)化測(cè)試工具開(kāi)發(fā)自定義的測(cè)試框架來(lái)執(zhí)行上述 XML 用例。本中定位控件元素的使用的是 XPath,我們以 Selenium Server 為例進(jìn)行自動(dòng)化框架的開(kāi)發(fā)。IBM 公司的 Rational Functional Tester 工具也是支持 XPATH 定位控件元素的,請(qǐng)參看 developerWorks 文章《使用 XPath 在 Rational Functional Tester 中動(dòng)態(tài)識(shí)別對(duì)象》。讀者如果感興趣,可自行基于 RFT 開(kāi)發(fā)自己的自動(dòng)化測(cè)試框架。

  XML 用例驅(qū)動(dòng) Selenium 框架開(kāi)發(fā)

  我們創(chuàng)建另一個(gè) JUnit 4 單元測(cè)試類:dw.xml.DWloginXML.java,依次編寫(xiě) @BeforeClass、@Test、@AfterClass 方法。讀者可自行下載本文附帶的源代碼項(xiàng)目導(dǎo)入到自己的 Eclipse 開(kāi)發(fā)工作區(qū)。下面對(duì)代碼進(jìn)行講解:

  1、解析測(cè)試用例 XML,讀取執(zhí)行設(shè)置信息

  使用 Dom4J 來(lái)解析 XML 用例腳本文件,ucXMLFile 變量存放測(cè)試用例文件路徑。首先解析 SETTINGS 元素,讀取其中的屬性設(shè)置?梢钥闯,使用 XML 維護(hù)測(cè)試用例,能輕松維護(hù) Selenium Server 的相關(guān)信息。如果想換其他瀏覽器執(zhí)行這個(gè)用例,只需修改 XML 文件中 SETTINGS 元素的 browser 屬性,比如把“*iexplore”改為“*firefox”,運(yùn)行的時(shí)候會(huì)啟動(dòng) firefox 瀏覽器來(lái)執(zhí)行該用例,而不需要改動(dòng)任何 Java 程序代碼。同樣,如果喜歡使用谷歌 Chrome 瀏覽器,則需要設(shè)置為“*googlechrome”。當(dāng)然,需要預(yù)先在啟動(dòng) Selenium Server 的機(jī)器上安裝相應(yīng)的瀏覽器軟件。

上一頁(yè)1234下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd