Преобразование файла Cypress в более подходящий формат для экспорта - PullRequest
0 голосов
/ 14 мая 2019

Я изо всех сил стараюсь применить лучшие практики, преобразовывая существующий файл для тестирования Cypress в более подходящий формат для экспорта и импорта.

В настоящее время:

support-file.js

export const1 = () => cy.get('#someId1');
export const2 = () => cy.get('#someId2');
export const3 = () => cy.get('#someId3');

export function myFunct1() {
    // Do something
}

export function myFunct2() {
    // Do something
}

export function myFunct3() {
    // Do something
}

file-where-used.js

import {
  const1, const2, const3,
  myFunct1, myFunct2, myFunct3
}

// usage of the consts/functs below

Я экспериментировал с попыткой перевести их в такой формат, чтобы мне не приходилось импортировать каждый из них по отдельности, но я не могу понятьэто ... Я подумал, возможно, обернуть все как класс и экспортировать тот, который работает, но только при использовании require вместо import ... И я также столкнулся с трудностями при экспорте моих const переменных...

попытка

export const1 = () => cy.get('#someId1');
export const2 = () => cy.get('#someId2');
export const3 = () => cy.get('#someId3');

class myClass {
    myFunct1() {
        // Do something
    }

    myFunct2() {
        // Do something
    }

    myFunct3() {
        // Do something
    }
}
module.exports = new myClass();

1 Ответ

1 голос
/ 14 мая 2019

Вы можете сократить ваши проблемы в несколько шагов.

Пользовательские команды / функции

Сначала вы создаете пользовательские команды, подобные этой:

export function() {
    // Do something
}

Поместив эту функцию в файл cypress/support/commands.js, вам не нужно импортировать ее в файлы интеграции, но вы должны переписать ее так:

Cypress.Commands.add('myFunct1', function () {
    // Do something
})

В результате вы получите файл интеграции:

cy.myFunct1()

Глобальные переменные

Вы назначаете глобальные переменные следующим образом:

export const1 = () => cy.get('#someId1');
export const2 = () => cy.get('#someId2');
export const3 = () => cy.get('#someId3');

Начните с переписывания их в константу:

const const1 = () => cy.get('#someId1');
const const2 = () => cy.get('#someId2');
const const3 = () => cy.get('#someId3');

Вам всегда нужно будет импортировать их один за другим, но вы можете объединить их, если они находятся в одном файле. Вы можете сделать это, импортировав их в тестовый файл следующим образом:

import {const1, const2, const3} from '<FILE_DIRECTORY>'

Теперь они доступны через весь тестовый файл.

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