Cypress
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