проверка кнопки сортировки с помощью Cypress в Saucedemo.com - PullRequest
0 голосов
/ 29 марта 2020

Я практиковал тестирование пользовательского интерфейса с использованием Cypress на веб-сайте saucedemo.com , который является демонстрационным веб-сайтом электронной коммерции. Я попытался проверить кнопку выбора сортировки. он отлично работает для учетной записи standard_user, но для учетной записи problem_user сортировка не будет работать ни в одном случае (сортировка по аз, сортировка по z, сортировка по цене от низкой до высокой и сортировка по цене от высокой к низкой), но мой код подходит для эти два случая, так что мне было интересно, правильно ли я его кодирую? а это мой код

Cypress.Commands.add("checkAtoZsorting", () =>{
    cy.get('[ class="product_sort_container"]')
        .select('az')
        .should("have.value","az")
        cy.get('[class="inventory_item_name"]').should(($item1) => {
            expect($item1).to.have.length(6)
        });
        cy.get('[class="inventory_item_name"]').eq(0).should("have.text","Sauce Labs Backpack");
        cy.get('[class="inventory_item_name"]').eq(1).should("have.text","Sauce Labs Bike Light");
        cy.get('[class="inventory_item_name"]').eq(2).should("have.text","Sauce Labs Bolt T-Shirt");
        cy.get('[class="inventory_item_name"]').eq(3).should("have.text","Sauce Labs Fleece Jacket");
        cy.get('[class="inventory_item_name"]').eq(4).should("have.text","Sauce Labs Onesie");
        cy.get('[class="inventory_item_name"]').eq(5).should("have.text","Test.allTheThings() T-Shirt (Red)");
});
 Cypress.Commands.add("checkZtoAsorting", () =>{
cy.get('[ class="product_sort_container"]')
    .select('za')
    .should("have.value","za")
    cy.get('[class="inventory_item_name"]').should(($item1) => {
        expect($item1).to.have.length(6) 
    });
    cy.get('[class="inventory_item_name"]').eq(0).should("have.text","Test.allTheThings() T-Shirt (Red)");
    cy.get('[class="inventory_item_name"]').eq(1).should("have.text","Sauce Labs Onesie");
    cy.get('[class="inventory_item_name"]').eq(2).should("have.text","Sauce Labs Fleece Jacket");
    cy.get('[class="inventory_item_name"]').eq(3).should("have.text","Sauce Labs Bolt T-Shirt");
    cy.get('[class="inventory_item_name"]').eq(4).should("have.text","Sauce Labs Bike Light");
    cy.get('[class="inventory_item_name"]').eq(5).should("have.text","Sauce Labs Backpack");

очень нужна помощь ....

1 Ответ

0 голосов
/ 30 марта 2020

Я скопировал ваш код, и он работал для меня, используя команды standard_user и problem_user .

. js (без изменений):

Cypress.Commands.add("checkAtoZsorting", () =>{
  cy.get('[ class="product_sort_container"]')
    .select('az')
    .should("have.value","az")
  cy.get('[class="inventory_item_name"]').should(($item1) => {
    expect($item1).to.have.length(6)
  });
  cy.get('[class="inventory_item_name"]').eq(0).should("have.text","Sauce Labs Backpack");
  cy.get('[class="inventory_item_name"]').eq(1).should("have.text","Sauce Labs Bike Light");
  cy.get('[class="inventory_item_name"]').eq(2).should("have.text","Sauce Labs Bolt T-Shirt");
  cy.get('[class="inventory_item_name"]').eq(3).should("have.text","Sauce Labs Fleece Jacket");
  cy.get('[class="inventory_item_name"]').eq(4).should("have.text","Sauce Labs Onesie");
  cy.get('[class="inventory_item_name"]').eq(5).should("have.text","Test.allTheThings() T-Shirt (Red)");
});

Cypress.Commands.add("checkZtoAsorting", () => {
  cy.get('[ class="product_sort_container"]')
    .select('za')
    .should("have.value", "za")
  cy.get('[class="inventory_item_name"]').should(($item1) => {
    expect($item1).to.have.length(6)
  });
  cy.get('[class="inventory_item_name"]').eq(0).should("have.text", "Test.allTheThings() T-Shirt (Red)");
  cy.get('[class="inventory_item_name"]').eq(1).should("have.text", "Sauce Labs Onesie");
  cy.get('[class="inventory_item_name"]').eq(2).should("have.text", "Sauce Labs Fleece Jacket");
  cy.get('[class="inventory_item_name"]').eq(3).should("have.text", "Sauce Labs Bolt T-Shirt");
  cy.get('[class="inventory_item_name"]').eq(4).should("have.text", "Sauce Labs Bike Light");
  cy.get('[class="inventory_item_name"]').eq(5).should("have.text", "Sauce Labs Backpack");
});

spe c. js:

describe('sort', () => {

  it('sort standard_user', () => {

    cy.visit('/');
    cy.get('input#user-name').type('standard_user');
    cy.get('input#password').type('secret_sauce');
    cy.get('input[type="submit"]').click();

    cy.checkAtoZsorting();
    cy.checkZtoAsorting();


  });

  it('sort problem_user', () => {

    cy.visit('/');
    cy.get('input#user-name').type('problem_user');
    cy.get('input#password').type('secret_sauce');
    cy.get('input[type="submit"]').click();

    cy.checkAtoZsorting();
    cy.checkZtoAsorting();


  });

});

Results

Примечание: Вы можете использовать этот формат при использовании cy.get() с классом атрибут:

cy.get('.product_sort_container')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...