Nano Hash - криптовалюты, майнинг, программирование

Как выполнить chai assert в Protractor/Gherkins против количества строк в элементе?

Довольно новичок в использовании Cucumber/Protractor/Gherkins, поэтому, пожалуйста, потерпите меня.

Во всяком случае, вот определение шага:

Then('I should see {int} results', function (int, callback) {        
//assert that the # of results passed in, is equal to the # of rows displayed in the listings table
  expect(locationsPageObj.locationsTable.element.all(by.tagType("tr"))              
    .count()).to.eventually.equal(numberOfResults);
callback(null, 'pending');
});

А вот элемент locationTable, определенный в объекте нашей страницы:

locationsTable : {
    get : function() {
        return element(by.css('.main .locations'));
    }
},

И в файле функций, вот как обрисован сценарий:

@Dashboard @Login @Users @UsersValidation 
Scenario Outline: Searching by location name
Given I should wait for the Locations screen to load in admin dashboard
When I enter the search box with content : "<content>" in locations grid page
Then I should see <numberOfResults> displayed

  @qa
 Examples:
| content | numberOfResults |
| test  |       0        |

В любом случае, в целом, я просто хотел бы убедиться, что когда я ввожу строку текста, в элементе таблицы отображается 0 элементов tr.


  • Кроме того, хотел упомянуть, что я подтвердил, что строка теста правильно отправляется в поле ввода. 23.02.2018
  • можно ли отправить вам некоторую структуру DOM. Я думаю, что угловая сетка не хранит строку в формате tr. 23.02.2018

Ответы:


1

Некоторые проблемы с кодом в определении шага:

Then(/^I should see (\d+) results$/, function (numberOfResults, callback) {        
    // assert that the # of results passed in, 
    // is equal to the # of rows displayed in the listings table
    var rowCount = locationsPageObj
            .locationsTable
            .all(by.css("tr")).count();

    expect(rowCount).to.eventually.equal(numberOfResults);
    callback(null, 'pending');
});
23.02.2018
  • Спасибо @yong. Я добавил еще один ответ ниже, который работает для моего случая. 23.02.2018

  • 2

    Определение шага, которое работает для моего случая:

    Then('I should see {int} displayed', function (numberOfResults, callback) {
        // Write code here that turns the phrase above into concrete actions
        // assert that the # of results passed in, 
        // is equal to the # of rows displayed in the listings table
    
    browser.wait(EC.invisibilityOf(locationsPageObj.locationsOverlay), timeouts.EC_TIMEOUT).then(function () {              
                var rowCount = locationsPageObj
              .locationsTable
              .all(by.css("tr")).count();
    
      expect(rowCount).to.eventually.equal(numberOfResults);
                callback();
    
        });
    
    });
    
    23.02.2018
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..