Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sharing of Automatic Testing Tools-Cypress #33

Open
JCHappytime opened this issue Mar 11, 2021 · 0 comments
Open

Sharing of Automatic Testing Tools-Cypress #33

JCHappytime opened this issue Mar 11, 2021 · 0 comments

Comments

@JCHappytime
Copy link
Owner

JCHappytime commented Mar 11, 2021

官网

Cypress.io,使用Cypress的好处是:所有的测试用例都采用Javascript编写,类似于Jquery的方式,对前端开发人员来说是非常友好的了。同时Cypress运行非常快,几乎只要当我们的页面渲染出来时就已经加载出来了,因为Cypress都是基于真实的DOM进行的测试;可视化的debug。

安装

注意:自己测试的时候最好不要以“Cypress/cypress”来命名,否则install的时候会报错。

  • 方式1:因为我们在墙内,所以下载Cypress非常慢,经常会因为网络超时而报错。
npm install cypress --save-dev
yarn add cypress --save

然后再通过离线安装的方式 npm install cypress-6.6.0.tgz,注意:此时的cypress-6.6.0.tgz必须在相应的文件夹中。

  • 方式3:先下载Windows对应的ZIP包cypress.zip这个位置下载的包都是最新版本的,下载完成之后存放在本地,使用下面的命令进行安装:
CYPRESS_INSTALL_BINARY=D:\\Install-Packages\\Cypress\\cypress.zip npm install cypress

安装完成之后,我们就可以顺利使用Cypress了,但在使用之前,为了启动更方便需要在packages.json中配置

"scripts": {
  "cy:open": "cypress open"
}

然后再运行:yarn run cy:open或者npm run cy:open,成功之后展示如下:
Cypress

如果我们的项目中配置了.babelrc,并且在运行之后报错Webpack Compilation Error则需要在启动Cypress之后的文件夹下创建一个空的.babelrc{},随后再次运行将不会在报错。该问题可以参考Webpack Compilation Error: Cannot find module

编写测试用例

接下来就可以编写自己的测试用例了。可以先参考这里测试用例。这里举一个例子:

describe('First Cypress Test', function () {
  it('Does not do much!', function () {
    cy.visit('https://www.naver.com/');   // 访问Naver搜索引擎
    cy.get('#query').type('Cypress Test');   // 获取是否存在id="query"的元素,存在则输入“Cypress Test”
    cy.wait(120);
    cy.get('#search_btn').click();   // 获取是否存在id="search_btn"的元素,存在则点击
    cy.contains('JavaScript End to End Testing').click();   // 内容包含JavaScript End to End Testing的,则点击跳转
  });
});

什么是describe,itexpect?

  • describe和it: 可以查看Mocha;
  • expect:可以查看Chai.

如何编写真实的测试用例

  1. 请参考:Write a real test
  2. 如果VScode中describe被加上了波浪线提示,请安装mocha避免yarn add @types/mocha;
  3. 如果继续有"cy",加红的波浪线提示,请在文件的第一行加上/// <reference types="cypress" />;
@JCHappytime JCHappytime reopened this Mar 18, 2021
@JCHappytime JCHappytime changed the title 前端自动化测试工具分享-Cypress Sharing of Automated Testing Tools-Cypress Mar 18, 2021
@JCHappytime JCHappytime changed the title Sharing of Automated Testing Tools-Cypress Sharing of Automatic Testing Tools-Cypress Mar 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant