Если кто-то может помочь мне в этом, пожалуйста.
Я создал объекты страницы со следующим кодом:
class Login {
username(){
return cy.get('#UserName').type('test1')
}
password(){
return cy.get('#password-field').type('test2')
}
loginbtn(){
return cy.get('.btn').click()
}
}
экспорт по умолчанию Логин
Здесь я создал класс Login и импортировал его в файл спецификации как:
import Login from '../support/PageObjects/Login'
beforeEach('Login to shipment page',() => {
cy.Login()
})
Это работало раньше, но теперь это не работает, и я получаю сообщение об ошибке (при наведении), говорящее: «Логин объявлен, но его значение никогда не читается». Я ничего не изменил. Я сталкиваюсь с этой проблемой много раз, но никогда не получал правильного решения для этого.


Вы должны создать объект класса Login и с его помощью вы можете получить доступ к различным методам. Итак, ваш код должен выглядеть так:
import Login from '../support/PageObjects/Login'
const login = new Login()
beforeEach('Login to shipment page', () => {
login.username()
login.password()
login.loginbtn()
})
Это должно быть как-то связано с вашей пользовательской командой cy.Login(), я думаю, код для этого будет выглядеть примерно так:
// cypress/support/commands.js
const login = new require('../PageObjects/Login.js')
Cypress.Commands.add('Login', () => {
login.username()
login.password()
login.loginbtn()
})
Теперь это, конечно, нужно импортировать в cypress/support/e2e.js, но это по умолчанию — все равно проверьте.
// cypress/support/e2e.js
import './commands.js'
Если вы используете Typescript, параметры аналогичны.
Кстати, из какого файла у вас ошибка? Подозреваю, что это даст подсказку.
У меня была ошибка в файле spect (тестовый файл)
Логин не нужно импортировать, если у вас есть пользовательская команда, такая как cy.Login().
Вот почему возникает ошибка:
«Логин» объявлен, но его значение никогда не читается.
Пользовательские команды являются глобальными для всех тестов и никогда не требуют импорта. Страница входа добавляется в тесты через cy.Login() и вы можете удалить импорт, не затрагивая его.
Пожалуйста, отредактируйте , чтобы преобразовать ваши изображения текста в реальный текст. Смотрите здесь почему.