Я пытаюсь выполнить несколько тестов пользовательского интерфейса в угловом проекте.
Что я делаю:
- Используйте Огурец и Огурец, чтобы написать мои сценарии.
- Я перевожу их в транспортир, например, так:
Given('first step', {timeout: 90 * 1000},function(callback) {
.... some code
});
When('second step',{timeout: 90 * 1000}, function(name, callback) {
some code
});
Причина, по которой я не уточняю, что находится внутри этих функций, заключается в том, что все, что там, выполняется идеально. Таким образом, в этих функциях я выполняю некоторые шаги в своем приложении, такие как вход в систему, добавление некоторых данных и выход из системы, которые отлично выполняются, и я вижу, как они выполняются в моем браузере, когда я запускаю тесты.
- В-третьих, мне нужно написать некоторые ожидания после выполнения шагов,
так что я хочу проверить, является ли кнопка, которая есть в моем приложении, отключенной или включенной после теста.
Вот код HTML для моей кнопки:
<button id="ref_button" type="submit" [disabled]="editForm.form.invalid || isSaving" class="btn btn-primary">
Как вы можете видеть, используется Angular для отключения или включения кнопки.
Теперь, чтобы написать утверждения для Cucumber и priotrcator, единственная библиотека, которую я мог найти в документации по огурцам, - это страница Chai cucumber, на которой я вижу рекомендации Библиотека Chai для dom
Теперь я пишу эту строку как ожидание в соответствии с синтаксисом chai, чтобы проверить отключаемость кнопки:
document.getElementById("ref_button").should.have.attr("disabled");
Ошибка, которую я получаю это:
**ReferenceError: document is not defined**
Что-то не так? У меня было много исследований по этому вопросу. Кто-нибудь использовал другую лучшую библиотеку для утверждений в этом случае? Помогите, пожалуйста!