初识cypress

我是一个前端开发工程师,由于没有自动化测试这块,一直都是人工去测,不免太耗时。所以想试试Cypress,希望能有收获。

我在selenium和cypress这两个框架中纠结,最后选择这个框架的初心很简单,老公推荐的,哈哈,我信他。然后就开始了我的自动化测试之旅。

首先,还是得安装环境,因为nodejs和npm早就ready,我只需要新创建一个文件夹,在该文件夹下执行命令npm install cypress,然后等待大概十分钟左右,安装完成!

image

那就尝试下手动添加package.json

{
"name": "Cypress_project",
  "version": "1.0.0",
  "dependencies": {
},
  "scripts": {
"cypress": "cypress open"
  }
}

执行npm run cypress

image

在原项目中也可添加cypress,最近npm install cypress不成功,改为cnpm install cypress快多了,安装完,没有生产cypress目录,在package.json中的“script”中添加"cypress": "cypress open" ,执行npm run cypress,第一次执行,会自动创建cypress目录。

examples下面是Cypress提供的demo,点击即可运行。运行时一直刷刷刷的在跑案例跑网页,这种感觉,就跟上了高速一般~~

暗暗发誓,一定要用好这个玩意儿,解放双手,翻身农奴把歌唱~~

Cypress内置工具

Cypress 中内置的断言 包含了几种类型:

  • Chai:断言
    • expect('test').to.be.a('string'):BDD 风格
    • assert.equal(3, 3, 'vals equal'):TDD 风格
  • Chai jQuery:关于 DOM 的断言
    • expect(\$el).to.have.attr('foo', 'bar')
  • Sinon-Chai:关于函数调用情况的断言
    • expect(spy).to.be.called
  • .should():在 Cypress 中封装了以上所有可用断言
    • cy.get('li.selected').should('have.length', 3):should
    • cy.get('div').should(($div) => { expect($div)... }):BDD

注意到 Cypress 使用 Mocha BDD 风格的生命周期,
不同测试的命名风格:

Mocha BDD Mocha TDD Jest
describe/context suite describe
specify/it test test/it
before setup beforeAll
after teardown afterAll
beforeEach suiteSetup before
afterEach suiteTeardown after
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容