亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 >
使用XML維護Selenium自動化測試腳本
作者:網絡轉載 發布時間:[ 2013/6/7 10:46:27 ] 推薦標簽:

  清單 5. 使用 DOM4J 解析 XML 腳本文件

Document document = null;
 try {
 System.out.println("測試用例 XML 文件位置 ::" + ucXMLFile);
 document = new SAXReader().read(new File(ucXMLFile));
 } catch (DocumentException e) {
   e.printStackTrace();
   }
 Element suiteElm = document.getRootElement();
 // settings element
 Element settings = suiteElm.element("SETTINGS");
 if (settings != null) {
    browser = settings.attributeValue("browser");
    seleniumServer = settings.attributeValue("seleniumServer");
    seleniumPort = settings.attributeValue("seleniumPort");
    application_url = settings.attributeValue("application_url");
    }

  2、讀取 STEP 測試步驟信息

  獲取用例級別的延時設置,在每一個測試步驟執行之前,暫停 timeout 指定的秒數。通過指定延時,可以讓程序執行的慢一些,符合用戶真實操作,也方便演示。獲取的測試步驟信息保存在列表實例 List<Element> stepNodes。

  清單 6. 獲取測試步驟信息

// TEST element
Element testElm = suiteElm.element("TEST");
System.out.println("測試用例名稱為 ::" + testElm.attributeValue("name"));
if (testElm.attributeValue("timeout") != null) {
// 用例級別的 timeout 設置 , 覆蓋了默認設置!
timeout = new Integer(testElm.attributeValue("timeout")).intValue();
System.out.println("延時設置,timeout=" + testElm.attributeValue("timeout")+"秒");
}
stepNodes = testElm.element("STEPS").elements();
}

  3、創建 Selenium 實例,啟動瀏覽器,大化瀏覽器窗口,打開要訪問的網站

  清單 7. 創建初始化 Selenium 實例

selenium = new DefaultSelenium(seleniumServer,
new Integer(seleniumPort).intValue(), browser, application_url);
System.out.println("正在啟動 Selenium。。。");
selenium.start();
selenium.windowMaximize();
selenium.open(application_url);

  4、迭代解析 STEP 元素執行各個測試步驟

  創建一個迭代器實例 iterator,使用 while 循環,依次執行各個測試步驟。在執行的時候,打印詳細的步驟信息,方便調試。根據 type 屬性指定的步驟類型,分別調用不同的 Selenium 接口。作為演示,本文提供的代碼例子,僅僅包括鼠標單擊、輸入框輸入和截圖功能。通過豐富處理 SETP 步驟元素的代碼,可以支持更多的功能。

  清單 8. 迭代依次解析測試步驟

Element elm = null;
// 循環解析測試步驟
Iterator<Element> iterator = null;
iterator = stepNodes.iterator();
while (iterator != null && iterator.hasNext()) {// while 循環開始
elm = iterator.next();
System.out.println("------------------------------>");
System.out.println("step index=" + elm.attributeValue("index"));
System.out.println("step name=" + elm.attributeValue("name"));
System.out.println("step type=" + elm.attributeValue("type"));
String type = elm.attributeValue("type");
if (type == null) {
SeleneseTestBase.fail("必須定義 type 屬性,請檢查 XML 測試用例。");
}
if (type.equals("Type.CLICK")) {
// 處理 Click 單擊操作
pause(timeout*1000);
try {
String xpValue = elm.element("XPATH").getText();
selenium.click(xpValue);

} catch (Exception e) {
SeleneseTestBase.fail(e.getMessage()+ " 步驟執行失敗,測試執行被中止 ,
測試元素為 : " + elm.asXML());
}
} else if (type.equals("Type.INPUT")) {
// 處理 Input 在輸入框執行輸入操作
pause(timeout*1000);
try {
String inValue = elm.element("VALUE").getText();selenium.type(
elm.element("XPATH").getText(), inValue);
} catch (Exception e) {
SeleneseTestBase.fail(e.getMessage()
+ " 步驟執行失敗,測試執行被中止 , 測試元素為 : " + elm.asXML());
}
}
else if(type.equals("Type.CaptureScreenshot")){
pause(timeout*1000);
String fileName = elm.element("VALUE").getText();
captureScreenshot(fileName);
}
}// 循環解析測試步驟;while 循環結束

  完整的框架項目代碼請參考附件進行下載。對這個單元測試類的運行和前文描述的是一致的,不再贅述。當然,現在的框架支持的功能是非常簡單的 (僅僅支持單擊、表單輸入和截圖功能),框架開發人員可以添加更多的功能特性,然后可以把該自動化測試框架交付給業務測試人員,他們再不會為編寫測試代碼發愁了。

  Selenium 框架的更多特性開發

  通過上面的演示,我們了解了如何開發一套不需要掌握編碼知識能編寫自動化測試用例的測試框架。因為篇幅的原因,本框架支持的特性比較少,框架的功能非常簡單,只支持鼠標單擊操作、數據輸入操作和截圖功能,遠遠不能滿足自動化測試的需求。本文的主要目的在于讓讀者理解這種自動化框架的理念。讀者可以根據自己項目組的實際情況進行自定義開發更多的功能特性。

  結束語

  通過上面的介紹,我們了解到了如何向傳統的功能測試用例里面添加額外的控件信息,從而形成能被自動化測試工具識別的自動化測試用例;以及如何使用 XLST 轉換 XML 格式的測試用例文件成 HTML 格式,增加了用例的可讀性;并通過詳細的例子探討了如何定制屬于自己的基于 Selenium 二次開發的自動化測試框架。后再次總結一下該框架的讓人心動之處,整理一下思路 , 規劃屬于您自己的自動化測試框架吧。

  ● 業務測試人員不需要編程知識,熟悉業務和瀏覽器,即可開發自動化測試腳本業務測試

  ● 人員不需要編程知識,熟悉業務和瀏覽器,即可開發自動化測試腳本

  ● 自動化測試用例和傳統的功能測試用例看起來很像,閱讀方便,利于評審

  ● 擴展性比較強大,可以開發出更多的功能特性。XML 測試用例腳本通用性強,可以適用不同的測試工具

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 二级毛片免费观看全程 | 久久综合五月天婷婷伊人 | 一级做a免费视频观看网站 一男一女下面一进一出性视频 | 亚洲精品另类有吗中文字幕 | 嘿嘿视频在线观看 成人 | 制服丝袜综合网 | 在线观看你懂的网站 | 人人色网| 久久亚洲私人国产精品va | 亚洲人免费视频 | 网址你懂的在线观看 | 国产亚洲精品成人久久网站 | 亚洲欧美日韩中字综合 | 欧美日本一道免费一区三区 | 一级国产精品一级国产精品片 | 国产精品久久久久一区二区 | 久操网站 | 最近2019好看的中文字幕 | 伊人手机视频 | 国产精品亚洲专区在线观看 | 中文字字幕码一二三区 | 欧美日韩成人在线 | 国产福利午夜 | 又黄又爽的美女免费视频 | 久草高清视频 | 午夜视频一区二区三区 | 免费在线观看日韩 | 久久久青青 | 国产精品手机在线 | 免费观看一级成人毛片软件 | 国产最猛性xxxxxx69交 | 日日摸夜夜添夜夜添影院视频 | 成人高清在线视频 | 黄色片视频免费观看 | 日日干日日操日日射 | 亚洲国产欧美一区 | 任你躁欧美一级在线精品 | 午夜片网站 | 欧美aaaaaabbbbb| 国产高清在线精品免费不卡 | 午夜精品在线 |