Угловой, транспортир, огуречные беды - PullRequest
0 голосов
/ 27 сентября 2018

Я совершенно новичок в огурцах и транспортирах, никогда раньше не писал никаких тестов e2e.Я использую этот libaray для Angular, но испытываю всевозможные трудности при выполнении тестов.

Мой файл шага выглядит так:

const {Given, Then} = require('cucumber');
const expect = require('expect');

Given('I navigate to the homepage', function (callback) {
  browser.get('http://localhost:4200');
  callback();
});

Then('I want to see a welcome message', function (callback) {
  expect($$('h1').first().getText()).toEqual('Welcome!');
  callback();
});

но он появляетсячто getText() является асинхронным вызовом.getText(), похоже, возвращает обещание.

Этот тест не пройден, поскольку текст h1 не Welcome!.Когда я пытаюсь зафиксировать обещание и expect() в then(), тест завершается успешно там, где он должен провалиться.

В Интернете так много ресурсов о огурце / транспортире, и все они говорят о разных вещах.Трудно понять, как начать.Настоящая документация по огурцам не дает примеров тестирования таких элементов браузера, как этот.

Кто-нибудь может помочь?Я использую транспортир-огурец-каркас 6.1.1 и огурец 5.0.1.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Измените нижеприведенную пошаговую функцию следующим образом:

Then('I want to see a welcome message', function (callback) {
    $$('h1').first().getText().then(function(txt){
        console.log('in then() txt: ' +txt);
        expect(txt).toEqual('Welcome!');
        callback();
    });    
});

Добавьте еще одну строку Then I want to see a welcome message 1 в свой сценарий и добавьте нижеприведенную пошаговую функцию для него.

Then('I want to see a welcome message 1', function (callback) {
    expect($$('h1').first().getText()).resolves.toEqual('Welcome!');
    callback();
});

Запустите снова искажите мне результат и вывод console.log('in then() txt: ' +txt)

0 голосов
/ 28 сентября 2018

Исследуйте дом и посмотрите, есть ли еще один элемент h1 с текстом «Добро пожаловать!».Невозможно пройти тест, и в этом тексте нет такого элемента.

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