Нажмите на ссылку рядом с текстом в TruClient - PullRequest
1 голос
/ 23 марта 2020

У нас есть страница с десятками строк, в которых перечислены созданные нами случаи. Мы назвали эти случаи уникальными, поэтому мы можем использовать al oop в TruClient, чтобы прокрутить страницу вниз, пока мы не найдем этот текст. На нашей странице мы затем нажимаем на ссылку слева от этого текста. Это очень прямолинейно в протоколе HTTP, так как мы можем использовать регулярные выражения для простого извлечения ссылки, но с TruClient мы этого не видим.

Последняя ссылка не всегда находится вверху или внизу экрана, и мы не можем получить детали ссылки, прежде чем перейдем на эту страницу (функциональность заставляет нас создавать это дело, а идентификатор дела не представлен на странице до этого)

Ближайшая функциональность, которую я вижу было бы использовать ссылку Click on take, и использовать «Related Object» и указать его на текст, который мы хотим идентифицировать, но нет способа параметризовать текст, который мы хотим использовать в качестве якоря.

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

Кто-нибудь делал что-то подобное раньше или предлагал что-нибудь, что мы могли сделать исследования?

mock up of screen

1 Ответ

1 голос
/ 24 марта 2020

Сначала я хочу убедиться, что я ясно понимаю ваш запрос. Задача состоит в том, чтобы TruClient щелкнул по ссылке, основываясь на поиске значения Name ###########. Это правильно?

TruClient поддерживает несколько способов идентификации объекта теста:

  1. Automati c
  2. Дескриптор
  3. JavaScript
  4. XPath

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

  1. Измените метод идентификации объекта на js из Step> Object> ID Method.
  2. Щелкните значок редактирования справа от поля ввода. Убедитесь, что оцененное значение кода JS является ссылкой на правильный объект DOM. Вот пример базы кода на вашем примере для фильтрации элемента Link:

Добавлена ​​ссылка firstChild, так как вы упомянули, что ссылка содержится в элементе div. Рад, что это работает. :)

Array.prototype.slice.call(document.querySelectorAll('td'), 0).filter(td=>td.innerText=="Name20200323005")[0].previousElementSibling .previousElementSibling.firstChild 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...