Cypress
技術雷達 2018 底推的工具:https://www.thoughtworks.com/cn/radar
What:
前端網絡,cypress是在mocha式API基礎上構建的一套開箱可用的E2E(端到端即黑盒測試)測試框架,對比其他測試框架,它提供一套自己的最佳實踐方案,無需其他測試工具庫,配置方便簡單但功能異常強大,可以使用webpack項目配置,還提供了一個強大的GUI圖形工具。入門簡單,上手方便,怎么舒服怎么來呀
cypressGUI方式的測試使用真實瀏覽器,非GUI方式使用chrome-headless,不是用模擬方式進行測試,更真實的展現實際環境中的測試過程和結果。
完整的端到端測試體驗。
Why:
帶GUI工具,想測啥就點啥,還可以查看整個測試過程,想錄屏還可以錄屏喲
測試的每一步都有snapshot,可以通過GUI工具查看每個過程的頁面狀態,不是截圖而是真是的頁面DOM環境喲!
自帶數據mock和請求攔截機制,還原線上數據引起的bug別提有多輕松了
和wepbakc配置,實現無論修改測試文件還是被測試代碼都可以自動重測
可以給測試用例加上only或者skip來避免重測測試文件里的所有用例: it.only('只測試這個喲); it.skip('不要測這個');
Build:
先安裝node,npm install cypress --save-dev,會安裝在選定的路徑下
Use:
cmd 運行 node_modules\.bin\cypress open npx cypress run 啟動
建測試用例:
新開cmd
touch {your_project}/cypress/integration/sample_spec.js
your_project :C:\Users\yingqinyi\cypress\integration\examples
-
cypress.json 在cypress文件夾外
-
Package.json 寫cypress命令
-
{“scripts”:{
"cypress:run": "node_modules/.bin/cypress run",(運行cypress里的js)
“cypress:open”:“node_modules/.bin/cypress open”(打開cypress)
}
}
-
cmd :
npm run cypress:open
-
npx cypress run
-
-
-
運行單個spec文件
-
npm run cy:run -- --record --spec "cypress/integration/my-spec.js"
-
-
編寫:
-
describe('test API',()=>{
it('MTNY web',()=>{
cy.visit('/')
cy.
})
})
-
6.cypress reporter
1.運行cypress 在安裝路徑內運行
D:\171\Cypress-tools\cypress 在Cypress-tools 路徑下運行
2.獲取projectId,key
1.運行 npx cypress open
2.打開 runs 獲取projectId,key
3.復制projectId到cypress.json里
3.運行有reporter的項目
1.
運行cmd在cypress路徑下:npx cypress run --record --key 1112fd2f-6e74-4bfe-bb69-2b994f3fa8a8
2.運行結束有網址 https://dashboard.cypress.io/#/projects/pfjcjn/runs/5
7.cypress-docker
1.系統安裝docker
2.建本地images
git clone https://github.com/mtlynch/hello-world-cypress.git
cd hello-world-cypress
docker build --tag sentimentalyzer .
3.本地項目移植
將js,package.json,cypress.json移入e2e中
4.啟動腳本
docker-compose up