Add description cypress (assess/tool)
This commit is contained in:
39
radar/2019-11-01/cypress.md
Normal file
39
radar/2019-11-01/cypress.md
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
title: "Cypress"
|
||||||
|
ring: assess
|
||||||
|
quadrant: tools
|
||||||
|
|
||||||
|
---
|
||||||
|
[Cypress](https://www.cypress.io/) is a new front-end testing tool (end2end). It comes as a simple node package and is therefore easy to use and maintain for front-end developers and testers. Cypress has a different approach than selenium, it runs in the browser and in the same loop as the device under test.
|
||||||
|
|
||||||
|
Good:
|
||||||
|
|
||||||
|
* [Open source](https://github.com/cypress-io/cypress)
|
||||||
|
* [Locally installed](https://docs.cypress.io/guides/getting-started/installing-cypress.html#System-requirements)
|
||||||
|
* Straightforward (installed via npm and all tests are written in Javascript)
|
||||||
|
* Good [documentation](https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell) and learning material
|
||||||
|
* Can be run in a [headless mode](https://docs.cypress.io/guides/guides/command-line.html#cypress-run)
|
||||||
|
|
||||||
|
Not so good:
|
||||||
|
|
||||||
|
* No cross-browser testing (only chrome and electron)
|
||||||
|
* Scenarios with multiple browser tabs can not be tested
|
||||||
|
* Relatively new test tool, though it is becoming more popular
|
||||||
|
|
||||||
|
Example of a test :
|
||||||
|
|
||||||
|
```js
|
||||||
|
describe('My First Test', function() {
|
||||||
|
it('Visits the Kitchen Sink', function() {
|
||||||
|
cy.visit('https://example.cypress.io')
|
||||||
|
|
||||||
|
cy.contains('type').click()
|
||||||
|
|
||||||
|
cy.url().should('include', '/commands/actions')
|
||||||
|
|
||||||
|
cy.get('.action-email')
|
||||||
|
.type('fake@email.com')
|
||||||
|
.should('have.value', 'fake@email.com')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user