У меня проблема с методом .expect, для которой я не могу найти подходящего решения. В моем тестовом примере после определенного шага я нажимаю кнопку. При нажатии этой кнопки открывается новая страница с текстом ошибки «Что-то пошло не так». Теперь я хотел бы заявить о том тексте ошибки, который имеет селектор body > app > main > div > error-page > div > h1.
Но каждый раз, когда открывается эта страница и отображается ошибка в консоли, я получаю следующую ошибку: «AssertionError: проверяемый объект должен быть массивом, объектом или строкой, но не задан»
Я тестировал .expect(errorMessage.value).eql('Something went wrong').
Я также тестировал с .expect(errorMessage.value).contains('Something went wrong')
Я также тестировал .expect(errorMessage.exists).ok(), а затем "eql"
Какие-либо предложения?
Привет, Марион. Спасибо, что нашли время ответить на мой вопрос. К сожалению, это внутренняя страница компании, которой я не могу поделиться, и даже если я это сделаю, вы не сможете получить к ней доступ извне. Есть какие-нибудь советы о том, что я могу делать самостоятельно?
Вот HTML-код, если это поможет: <error-page><div> <h1 class = "mb-2 font-weight-bold">Something went wrong</h1> <div class = "mb-4"> <!----><ul class = "list-unstyled"> <!----><li> <span class = "alert-iconed my-1"></span> </li> </ul> <!----> </div>
Также пришлите мне свой код селектора errorMessage.
Привет, Марион. Не уверен, что понимаю, чего именно ты хочешь. Селектор для сообщения об ошибке «Что-то пошло не так» - это «body> app> main> div> error-page> div> h1», как написано в исходном посте. Если вам нужен селектор для элемента «страница ошибки», то это «body> app> main> div> error-page».
Амир, дайте мне знать, как вы определили переменную errorMessage. Например: const errorMessage = Selector ("body> app> main> div> error-page> div> h1") или var errorMessage = Selector ("# elementID")
:-) Вы только что решили мою проблему. У меня было this.erroMessage = 'body> app> main> div> error-page> div> h1'; Теперь после изменения на: this.erroMessage = Selector ('body> app> main> div> error-page> div> h1'); это работает :-) Большое вам спасибо!
Добро пожаловать, Амир! Я только что переместил комментарий к ответу, чтобы решение было доступно и другим пользователям.





Используйте Селектор, чтобы определить переменную errorMessage. Например:
const errorMessage = Selector("body > app > main > div > error-page > div > h1")
или
var errorMessage = Selector("#elementID")
Скорее всего, селектор errorMessage ничего не возвращает. Это может произойти, если ваш селектор неправильный или ваш элемент невидим. Чтобы проверить проблему локально, предоставьте мне ссылку на вашу страницу и определите проверенный элемент.