selenium + nightwatch 進(jìn)行前端自動化測試

1、為什么需要前端測試框架

.編寫測試用例,可以避免測試點(diǎn)的遺漏

.也是為了更好的進(jìn)行測試,可以提高測試效率

.是根據(jù)需求來的,開發(fā)也是根據(jù)需求做的,測試用例完成后,要進(jìn)行用例評審,還可以減少開發(fā)和測試對需求的不同理解造成的缺陷

.有時候需求是一點(diǎn)點(diǎn)來的,不是很系統(tǒng),測試用例及時更新,可以作為系統(tǒng)的需求


2、了解專業(yè)名詞selenium-server、nightwatch

selenium-server:能夠控制瀏覽器行為,它是web測試服務(wù)器

nightwatch:是一個易于使用的,基于Node.js平臺的瀏覽器自動化測試解決方案,它使用強(qiáng)大的Selenium WebDriver API來在DOM元素上執(zhí)行命令和斷言。只需要使用JavaScript和Css選擇器,不需要初始化其他對象和類,您只需要編寫測試規(guī)范。內(nèi)置命令行測試運(yùn)行器,使您能夠運(yùn)行測試。


3、搭建環(huán)境所需要的包(npm安裝)

"nightwatch": "^0.9.8",

"selenium-server": "2.53.1",

"semver": "^5.3.0",

"chromedriver": "^2.21.2",

"koa": "2.0.0",

"koa-static": "2.0.0"

ChromeDriver:Selenium操作chrome瀏覽器需要有ChromeDriver驅(qū)動來協(xié)助。

semver:語義化版本控制作用,在這里需要對node、npm版本進(jìn)行檢測,node>= 4.0.0,npm>= 3.0.0

koa、koa-static:啟動一個服務(wù)器,可以訪問靜態(tài)資源。


4、大綱列表

. 檢查node、npm版本

. koa訪問靜態(tài)資源建立服務(wù)器

. 執(zhí)行nightwatch配置文件nightwatch.conf.js進(jìn)行自動化測試


4.1 檢查node、npm版本,如果版本不滿足,終端控制臺會輸出警告,代碼如下圖:

4.2 koa訪問靜態(tài)資源建立服務(wù)器,如下圖:


4.3 執(zhí)行nightwatch配置文件nightwatch.conf.js進(jìn)行自動化測試


4.4 終端控制臺運(yùn)行:npm run e2e (==node test/e2e/runner.js)


執(zhí)行這個js文件


測試結(jié)果OK


對應(yīng)的測試case代碼
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容