<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

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

            軟件測試中在A(yíng)C上開(kāi)發(fā)selenium自動(dòng)化測試

            發(fā)布: 2011-1-10 09:23 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 100次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

            軟件測試中在A(yíng)C上開(kāi)發(fā)selenium自動(dòng)化測試

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

            錄制一個(gè)簡(jiǎn)單的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的父類(lèi)是Junit TestCase。

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

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

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

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

            1. java環(huán)境中的classPath添加ac_framework.jar

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

            selJava 的父類(lèi)改為ACSeleniumJob,

            public class selJava extends ACSelniumJob

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

            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模式,即先啟動(dòng)一個(gè)selenium server,然后才能運行selenium腳本。

            java啟動(dòng)selenium server的命令行語(yǔ)句如下:

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

            如何把啟動(dòng) selenium serverjava命令行也集成到AC中來(lái)呢?

            這里要用到ACAnt Engine。

            創(chuàng )建基于Ant EngineTestJob,TestJob內容遵循Ant語(yǔ)法,如下:

            <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>

            啟動(dòng)Selenium serverTestJob可與Selenium Test Job做一個(gè)dependence的定義,保證每次運行selenium測試的時(shí)候,selenium server是處于啟動(dòng)狀態(tài)的

            <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匯報當前運行狀態(tài),為成功

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

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

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

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

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

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

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

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: 軟件測試 時(shí)間 資源 自動(dòng)化


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

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>