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

Получение текста из обернутого диапазона React с помощью webdriverio

Я пишу тесты для внешнего интерфейса React. Один из тестов должен проверить, как значение было возвращено с сервера. А именно, у меня есть следующие промежутки:

<span id='result'>
    <!-- our version of react wraps the resulting text by default -->
    <span data-reactid>the actual result</span>
</span>


// test.js   
getResult() {
    let a = browser.getText('#result span');
    console.log('a:', a);
}  // unfortunately, getting it this way will mean having to rewrite the test once we upgrade to a newer version of React (after 15 is does not do the wrapping anymore)

Итак, в основном.. Как я могу получить текстовое значение таким образом, чтобы либо диапазон, сгенерированный реакцией, имел идентификатор или класс... или любой другой способ, которым изменения в структуре dom не означали бы необходимости переписывать тесты?


  • вы пробовали только browser.getText('#result')? 23.07.2016
  • да .. но поскольку реакция всегда оборачивает ‹span› вокруг вещей, я должен использовать browser.getText('#result span'); 23.07.2016

Ответы:


1

Я не уверен, как это сделать только с помощью API webDriver, но вы можете использовать какой-нибудь javascript, чтобы получить значение. Что-то вроде этого:

var id = 'result';

client.execute(function(a) {
    return document.getElementById(a).textContent;
}, id).then(function(ret) {
     console.log(ret.value); // outputs: the actual result
});

Используя textContent, даже если ваш селектор нацелен на родительский диапазон, он будет игнорировать дочерние теги <span> при выводе текста.

23.07.2016
  • превосходно! Используя веб-драйвер, я просто получу родителя и выполню на нем это. Спасибо. 25.07.2016
  • Новые материалы

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

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

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

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

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

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

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