Css Selector выражение не работает в Jmeter
Я пытаюсь создать сценарий Jmeter, используя экстрактор выбора CSS, но он всегда получает ошибку.
Пример с этой страницы: https://www.analog.com/en/about -adi / союзы / search.html ? д = *
Я хочу извлечь каждую ссылку на странице результатов, используя ниже селектор CSS в Jmeter. Я использовал приведенное ниже выражение селектора CSS в Jmeter (Post Processors):
Div.search-results-item div.col-md-8> h4> a
Тем не менее, он всегда выбрасывает следующую ошибку:
java.net.URISyntaxException: Illegal character in path at index 23: http://www.analog.com/${Alliances}
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
at java.net.URL.toURI(Unknown Source)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:546)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)
at java.lang.Thread.run(Unknown Source)
Может кто-нибудь, пожалуйста, помогите мне. Я перепробовал все, чтобы это заработало, но безрезультатно.
Заранее спасибо
2 ответа
Причина в том, что результатов поиска в основном нет, вы можете проверить их дважды, используя Просмотреть результаты Дерево слушатель в режиме HTML
Для получения результатов поиска вам нужно выполнить еще один HTTP-запрос:
Так:
- Добавьте менеджер файлов cookie HTTP в свой план тестирования
Добавьте еще один пример HTTP-запроса и настройте его следующим образом:
- Метод:
POST
- Путь:
https://www.analog.com/en/client/Search/PostAlliancesSearchResultsJson
-
Тело запроса:
< Предварительно > < код > { "Facets": "FacetCategory :abilities_sm, IsMultiSelect: true, IsAllRequired: false, FacetType: filter, IsPivot: false, ParentPivot:, IncludeZeroCount: false | FacetCategory: market_l1_fac_sm, IsMultiSelect: true, IsAllReTypeP: false, ParentPivot:, IncludeZeroCount: false | FacetCategory: prod_cat_l1_fac_sm, IsMultiSelect: false, IsAllRequired: false, FacetType: фильтр, IsPivot: false, ParentPivot:, IncludeZeroCount: false | FacetCategory: регион_связи: Истинный_имя: Источники: регионы_выборки: Источники: регистры_столбия: регионы_исследования: регионы_выборки: Имена фильтр, IsPivot: false, ParentPivot:, IncludeZeroCount: false ", "Фильтры": "", «Контент»: «*», «Размер страницы»: 10, «PageStart»: 0, "SortBy": "customdate_s", «Заказ»: «актуальность» } Код >
- Метод:
Добавьте менеджер заголовка HTTP в качестве дочернего элемента 2-го примера HTTP-запроса и настройте его отправить
Content-Type
заголовок со значениемapplication/json
Добавьте JSON Extractor как дочерний 2-й пример HTTP-запроса и настройте его следующим образом:
- Имя созданных переменных:
Alliance
- Выражения пути JSON:
$..AbsoluteURL
- Совпадение №:
-1
- Имя созданных переменных:
Вот и все, теперь вы должны получить URL-адреса, которые вы ищете
Проверь это:
- Вы устанавливаете HREF в вашем селекторе CSS?
- ваш css-селектор совпадает с чем-то, используя View Rests Tree и средство визуализации Css Selector
- вы поставили экстрактор на правильный запрос
- вы извлекаете из текстового ответа а не другое поле
Потому что из вашей ошибки извлечение ничего не совпало
Похожие вопросы
Новые вопросы
css
CSS (каскадные таблицы стилей) - это язык таблиц стилей представления, используемый для описания внешнего вида и форматирования документов HTML (язык разметки гипертекста), XML (расширяемый язык разметки) и элементов SVG, включая (но не ограничиваясь) цвета, макет, шрифты, и анимации. Также описывается, как элементы должны отображаться на экране, на бумаге, в речи или на других носителях.