国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Selenium進(jìn)行Web應(yīng)用測(cè)試研究

2015-03-02 12:38盧晨
軟件導(dǎo)刊 2015年1期
關(guān)鍵詞:自動(dòng)化測(cè)試信息管理系統(tǒng)

盧晨

摘要:基于Selenium自動(dòng)化測(cè)試技術(shù)對(duì)出差管理系統(tǒng)進(jìn)行了自動(dòng)化測(cè)試設(shè)計(jì),介紹了Selenium在Web應(yīng)用程序中進(jìn)行自動(dòng)化測(cè)試的過(guò)程。通過(guò)案例說(shuō)明Selenium對(duì)Web應(yīng)用程序進(jìn)行自動(dòng)化測(cè)試的優(yōu)勢(shì)。

關(guān)鍵詞:Selenium;自動(dòng)化測(cè)試;信息管理系統(tǒng)

DOIDOI:10.11907/rjdk.143288

中圖分類(lèi)號(hào):TP391

文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):16727800(2015)001015402

0 引言

隨著軟件應(yīng)用復(fù)雜度的增加,保證軟件質(zhì)量變得越來(lái)越難,需要測(cè)試人員尋找很多測(cè)試方法和技術(shù),以解決產(chǎn)品質(zhì)量問(wèn)題。自動(dòng)化測(cè)試不僅可以大大減少測(cè)試人員的工作量,降低工作難度,還可以避免不必要的人為疏忽與問(wèn)題,加快測(cè)試速度,保證產(chǎn)品質(zhì)量和進(jìn)度,提高效益。

目前自動(dòng)化測(cè)試研究如火如荼,涌現(xiàn)了很多自動(dòng)化測(cè)試[1]工具,例如占據(jù)主流應(yīng)用HP的QTP。QTP對(duì)系統(tǒng)環(huán)境要求很高,運(yùn)行時(shí)會(huì)占用很大的內(nèi)存空間,且價(jià)格昂貴。另外,軟件開(kāi)發(fā)需求千變?nèi)f化,自動(dòng)化測(cè)試工具要不斷適應(yīng)這些變化。

1 Selenium概述

Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具,它提供了一系列測(cè)試函數(shù),用于支持Web自動(dòng)化測(cè)試[2]。這些函數(shù)非常靈活,能夠通過(guò)多種方式定位界面元素,并將結(jié)果與系統(tǒng)實(shí)際結(jié)果進(jìn)行比較。作為一款強(qiáng)大的測(cè)試工具,Selenium具有以下幾個(gè)特性:①可以對(duì)多種瀏覽器進(jìn)行測(cè)試,如IE、Firefox、Safari、Chrome、Android手機(jī)瀏覽器等;②支持多種語(yǔ)言,如Java、C#、Python、Ruby、PHP等;③跨平臺(tái),如Windows、Lunix、iOS、Android等;④開(kāi)源免費(fèi)。

Selenium提供很多工具組供測(cè)試工程師選用:①Selenium IDE:用于構(gòu)建腳本的初級(jí)工具;②Selenium 1(Selenium RC):Selenium最主要的測(cè)試工具之一,支持多語(yǔ)言和多瀏覽器;③ Selenium 2:集成了WebDriver,WebDriver通過(guò)原生瀏覽器支持或者瀏覽器擴(kuò)展直接控制瀏覽器。測(cè)試者可以根據(jù)不同的平臺(tái)、不同瀏覽器選擇不同的WebDriver去執(zhí)行測(cè)試。WebDriver可以驅(qū)動(dòng)本地或遠(yuǎn)程機(jī)器上的瀏覽器。對(duì)比Selenium 1 時(shí)代的Selenium RC,WebDriver優(yōu)勢(shì)明顯[3];④ Selenium Grid:一般用于分布式測(cè)試和集群測(cè)試,Selenium 能同時(shí)并行地、在不同環(huán)境上運(yùn)行多個(gè)測(cè)試任務(wù),極大地加快了Web應(yīng)用的功能測(cè)試。

本文采用Selenium2測(cè)試工具,對(duì)某公司出差管理系統(tǒng)的核心功能進(jìn)行了一整套Selenium自動(dòng)化測(cè)試,主要步驟是:①需求分析;②測(cè)試用例設(shè)計(jì);③根據(jù)測(cè)試用例設(shè)計(jì)測(cè)試腳本,并執(zhí)行測(cè)試;④分析測(cè)試結(jié)果。

2 Selenium測(cè)試分析

以某公司外派到日本的員工出差信息管理系統(tǒng)為例,其功能模塊如圖1所示。

圖1 出差管理系統(tǒng)功能結(jié)構(gòu)

系統(tǒng)的核心功能主要是對(duì)各種信息進(jìn)行增加、刪除、修改、查找。針對(duì)這些核心功能,需要分別設(shè)計(jì)測(cè)試用例并編寫(xiě)測(cè)試腳本,通過(guò)腳本運(yùn)行,可以有效完成各功能的測(cè)試。

3 Selenium測(cè)試設(shè)計(jì)

根據(jù)系統(tǒng)功能結(jié)構(gòu)圖和系統(tǒng)需求,對(duì)整個(gè)系統(tǒng)進(jìn)行模塊劃分。以個(gè)人信息模塊為例,其主要功能有新增個(gè)人信息、修改個(gè)人信息、按不同條件查找個(gè)人信息和刪除個(gè)人信息等4大功能,功能界面如圖2所示。

圖2 功能界面

利用黑盒測(cè)試用例設(shè)計(jì)方法設(shè)計(jì)測(cè)試,見(jiàn)表1。

4 腳本編寫(xiě)與運(yùn)行結(jié)果

根據(jù)設(shè)計(jì)的測(cè)試用例TC001編寫(xiě)測(cè)試腳本,代碼如下:

(1) 通過(guò)driver打開(kāi)網(wǎng)站鏈接:

WebDriver driver = new FirefoxDriver();

driver.get("網(wǎng)站地址");

(2) 獲取“新增員工”按鈕并點(diǎn)擊:

WebElement element = driver.findElement (By.id("按鈕id")) ;

element.click();

(3) 獲取界面組件并輸入內(nèi)容:

WebElement element = driver.findElement(By.id("組件id"));

element.sendKeys(“輸入內(nèi)容”);

(4) 點(diǎn)擊提交按鈕:

WebElement element = driver.findElement (By.id("提交按鈕id")) ;

element.click();

(5) 等待提交后的系統(tǒng)反饋:

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

(6) 獲取彈出對(duì)話框信息:

Alert alert = driver.switchTo().alert();

String text = alert.getText();

System.out.println("alert:"+text);

If(text ==預(yù)期結(jié)果) System.out.println(“Pass”);

alert.accept();

5 語(yǔ)結(jié)

本文介紹了Selenium,并以出差管理系統(tǒng)的新增操作為例,對(duì)系統(tǒng)進(jìn)行了自動(dòng)化用例設(shè)計(jì)和腳本編寫(xiě)。使用過(guò)程中,Selenium的優(yōu)勢(shì)非常明顯:因?yàn)槭褂玫氖敲嫦驅(qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,編寫(xiě)代碼簡(jiǎn)便、易懂,相比較用QTP錄制腳本,Selenium腳本更易于維護(hù),整個(gè)測(cè)試框架可以用面向?qū)ο笏枷脒M(jìn)行設(shè)計(jì),框架復(fù)用性高。不足之處是Selenium對(duì)測(cè)試步驟中的驗(yàn)證支持度不夠。

猜你喜歡
自動(dòng)化測(cè)試信息管理系統(tǒng)
三維可視化信息管理系統(tǒng)在選煤生產(chǎn)中的應(yīng)用
信息管理系統(tǒng)在工程項(xiàng)目管理的應(yīng)用
基于三維TGIS的高速公路綜合信息管理系統(tǒng)
SaaS模式下的房地產(chǎn)中介公司信息管理系統(tǒng)
高速公路綠色通道信息管理系統(tǒng)開(kāi)發(fā)與實(shí)踐
淺談空調(diào)控制器自動(dòng)化測(cè)試
方山县| 元氏县| 福清市| 金川县| 邵阳县| 文成县| 阜平县| 长治市| 澄城县| 静安区| 会理县| 上蔡县| 通河县| 西峡县| 湘潭市| 平果县| 兴文县| 芒康县| 哈密市| 山东| 柳江县| 淄博市| 永和县| 洛川县| 修武县| 永嘉县| 石嘴山市| 昂仁县| 上栗县| 通渭县| 来宾市| 林口县| 拉萨市| 泊头市| 南漳县| 高台县| 辉县市| 华容县| 南阳市| 常山县| 鄂托克前旗|