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)