diff --git a/README.md b/README.md index 533b105..42c5bb0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,59 @@ -# nursa-qa-automation-cypress-2021 +# Nursa_webtest & API test - Cypress 2022 + +Description +Functionalities +Run Tests +Projects Status +Author + +# Tests +The tests were written using JavaScript language + +# Nursa_webtest +# Project description - Step by step: +- Visit the website https://demo.sylius.com/en_US/login +- New user registration +- Adding product to cart +- Inclusion of Delivery Address +- Inclusion of payment method +- Purchase completed successfully + +# Functionalities: +- fixtures > perfil +- support > page_objects > address.page +- support > commands +- Faker (emailfaker) + +___________________________________________________________________________ + +# API_test +# Project description - Step by step: +- Visit the website https://demo.sylius.com/api/v2/shop/addresses +- Generate token +- Create an address - Method: POST +- Retrieves the collection of addresses - Method: GET +- Edit a previously registered address - Method: PUT +- Delete a previously registered address - Method: DELETE +* All tests passed + +# Functionalities: +- fixtures > perfil +- support > commands + +# Run Tests +Run one of the commands below to run the tests. Examples: +- To open cypress, execute npx cypress open +- To run the tests - after opening Cypress, just click on the test you want to run +- To run the tests on the terminal, execute npx cypress run +- To generate the report, execute npm run cy:report or visit https://dashboard.cypress.io/projects/tdz1x7/runs/2/overview + +# Project status: +Done +# Author: +Gabriela Mattesco + + + + + -## setup -0. nvm use v15.14.0 -1. npm install -2. npm run cypress:open diff --git a/cypress.json b/cypress.json index 0967ef4..f446b60 100644 --- a/cypress.json +++ b/cypress.json @@ -1 +1,4 @@ -{} +{ + "baseUrl": "https://demo.sylius.com/", + "projectId": "tdz1x7" +} diff --git a/cypress/fixtures/perfil.json b/cypress/fixtures/perfil.json new file mode 100644 index 0000000..0a78325 --- /dev/null +++ b/cypress/fixtures/perfil.json @@ -0,0 +1,5 @@ + { + "Username": "shop@example.com", + "Password": "sylius" + } + diff --git a/cypress/integration/1-getting-started/todo.spec.js b/cypress/integration/1-getting-started/todo.spec.js deleted file mode 100644 index 4768ff9..0000000 --- a/cypress/integration/1-getting-started/todo.spec.js +++ /dev/null @@ -1,143 +0,0 @@ -/// - -// Welcome to Cypress! -// -// This spec file contains a variety of sample tests -// for a todo list app that are designed to demonstrate -// the power of writing tests in Cypress. -// -// To learn more about how Cypress works and -// what makes it such an awesome testing tool, -// please read our getting started guide: -// https://on.cypress.io/introduction-to-cypress - -describe('example to-do app', () => { - beforeEach(() => { - // Cypress starts out with a blank slate for each test - // so we must tell it to visit our website with the `cy.visit()` command. - // Since we want to visit the same URL at the start of all our tests, - // we include it in our beforeEach function so that it runs before each test - cy.visit('https://example.cypress.io/todo') - }) - - it('displays two todo items by default', () => { - // We use the `cy.get()` command to get all elements that match the selector. - // Then, we use `should` to assert that there are two matched items, - // which are the two default items. - cy.get('.todo-list li').should('have.length', 2) - - // We can go even further and check that the default todos each contain - // the correct text. We use the `first` and `last` functions - // to get just the first and last matched elements individually, - // and then perform an assertion with `should`. - cy.get('.todo-list li').first().should('have.text', 'Pay electric bill') - cy.get('.todo-list li').last().should('have.text', 'Walk the dog') - }) - - it('can add new todo items', () => { - // We'll store our item text in a variable so we can reuse it - const newItem = 'Feed the cat' - - // Let's get the input element and use the `type` command to - // input our new list item. After typing the content of our item, - // we need to type the enter key as well in order to submit the input. - // This input has a data-test attribute so we'll use that to select the - // element in accordance with best practices: - // https://on.cypress.io/selecting-elements - cy.get('[data-test=new-todo]').type(`${newItem}{enter}`) - - // Now that we've typed our new item, let's check that it actually was added to the list. - // Since it's the newest item, it should exist as the last element in the list. - // In addition, with the two default items, we should have a total of 3 elements in the list. - // Since assertions yield the element that was asserted on, - // we can chain both of these assertions together into a single statement. - cy.get('.todo-list li') - .should('have.length', 3) - .last() - .should('have.text', newItem) - }) - - it('can check off an item as completed', () => { - // In addition to using the `get` command to get an element by selector, - // we can also use the `contains` command to get an element by its contents. - // However, this will yield the