• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試中在AC上開發selenium自動化測試

    發布: 2011-1-10 09:23 | 作者: 網絡轉載 | 來源: 領測軟件測試網采編 | 查看: 100次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試中在AC上開發selenium自動化測試

    自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例并通過評審之后,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。

    錄制一個簡單的web計算器功能,exportjunit模式,保存為selJava.java文件,如下:

    package com.example.tests;

    import com.thoughtworks.selenium.*;

    import java.util.regex.Pattern;

    public class selJava extends SeleneseTestCase {

    public void setUp() throws Exception {

    setUp(”http://change-this-to-the-site-you-are-testing/”, “*chrome”);

    }

    public void testSelJava() throws Exception {

    selenium.open(”/calc.htm”);

    selenium.click(”//input[@name='alex' and @value='1']“);

    selenium.click(”//input[@name='alex' and @value='+']“);

    selenium.click(”//input[@name='alex' and @value='2']“);

    selenium.click(”//input[@name='alex' and @value='=']“);

    verifyEquals(”3″, selenium.getValue(”display”));

    }

    }

    以上Selenium case繼承SeleneseTestCase,SeleneseTestCase的父類是Junit TestCase。

    因此,在默認模式下,Selenium Case實際上是以Junit Runner方式運行的。

    Junit本身是java單元測試框架,并不完全滿足我們selenium的測試需求,比如對case之間的依賴關系及數據交互,web測試抓圖等等,junit并不能勝任。

    代碼從Junit模式轉化到AC模式

    可遵循以下步驟,將junit模式的selenium 代碼轉化成在AC模式:

    1. java環境中的classPath添加ac_framework.jar

    2. case文件頭添加 import framework.JobDOM.ACSeleniumJob;

    selJava 的父類改為ACSeleniumJob,

    public class selJava extends ACSelniumJob

    Ok,到這里,新的selenium case已經完成了(紅色為修改處),如下:

    package com.example.tests;

    import com.thoughtworks.selenium.*;

    import java.util.regex.Pattern;

    import framework.JobDOM.ACSeleniumJob

    public class selJava extends ACSeleniumJob {

    public void setUp() throws Exception {

    setup(”http://change-this-to-the-site-you-are-testing/”, “*firefox”);

    }

    public void testSelJava() throws Exception {

    selenium.open(”/calc.htm”);

    selenium.click(”//input[@name='alex' and @value='1']“);

    selenium.click(”//input[@name='alex' and @value='+']“);

    selenium.click(”//input[@name='alex' and @value='2']“);

    selenium.click(”//input[@name='alex' and @value='=']“);

    verifyEquals(”3″, selenium.getValue(”display”));

    }

    }

    Selenium case添加到TestJobFile中,運行AC,獲得測試結果

    TestJobFile中添加Selenium Job,按如下格式定義

    <Selenium name=”selenium_demo” description=”Test calc” depends=”" >

    <TestData type=”xml” location=”selenium\config.xml”/>

    <JobInput name=”$MAIL_SUBJECT”/>

    <ClassPath location=”selenium\selenium-java-client-driver_self_extended_oracle.jar”/>

    <ClassPath location=”selenium\orajtst.jar”/>

    <ClassPath location=” selenium\qa.jar”/>

    <ClassPath location=” selenium\selJava.class”/>

    <SelTestCase path=”selJava”>

    <SelTest name=” testSelJava “/>

    </SelTestCase>

    </Selenium>

    運行AC framework,即可執行selenium Job,并獲得測試報告

    我們最常用的是Selenium RC模式,即先啟動一個selenium server,然后才能運行selenium腳本。

    java啟動selenium server的命令行語句如下:

    java –jar selenium-server.jar –port 4444 – proxyInjectionMode –log selServer.txt

    如何把啟動 selenium serverjava命令行也集成到AC中來呢?

    這里要用到ACAnt Engine。

    創建基于Ant EngineTestJob,TestJob內容遵循Ant語法,如下:

    <Ant name=”Ant_StartSelenium” description=”selenium initialization” depends=”" daemon=”true”>

    <java fork=”true” spawn=”true” jar=”D:\selenium-server.jar”>

    <arg line=”-port 4444 “/>

    <arg line=”-proxyInjectionMode”/>

    <arg line=”-log sel.txt”/>

    </Java>

    </Ant>

    啟動Selenium serverTestJob可與Selenium Test Job做一個dependence的定義,保證每次運行selenium測試的時候,selenium server是處于啟動狀態的

    <Ant name=”Ant_StartSelenium” description=”selenium initialization” depends=”" driver_type=”ANT daemon=”true”>

    ………………………

    </Ant>

    <Selenium name=”selenium_demo” description=”Test calc” depends=” Ant_StartSelenium “ >

    …………………….

    </Selenium>

    pass(String msg): AC匯報當前運行狀態,為成功

    fail(String msg):向AC匯報當前運行狀態,為失敗

    reportWarning(String msg):向AC匯報當前運行狀態,為警告

    getDataProperty(String key):獲得測試數據

    getEnvProperty(String key):獲得環境變量

    getConfProperty(String key):獲得配置數據

    getInputValue(String key):從全局數據通道中獲得輸入數據

    setOutputValue(String key,String value) 向全局數據通道輸出數據

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 軟件測試 時間 資源 自動化


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>