- Форум тестировщиков
- → Публикации shu_al
Публикации shu_al
5 публикаций создано shu_al (учитываются публикации только с 30 марта 2023)
По типу контента
По пользователю
#141918 Метод StoreXpathCount всегда возвращает 0
Отправлено автор: shu_al 19 июня 2015 - 16:31 в Selenium - Functional Testing
Не могу разобраться с методом StoreXpathCount.
Пытаюсь посчитать кол-во дочерних элементов у класса "buyer-adults".
Если использую родную функцию xpath - count(//div[@class='buyer-adults']/div), возвращается правильное кол-во, в данном случае 2.
Но сохранить в переменную значение функции xpath, ide не может.
Если же я пытаюсь выполнить метод StoreXpathCount //div[@class='buyer-adults']/div, считать ide элементы отказывается и возвращает 0.
Видимо есть какие-то тонкости в работе с ним.
Перелопатил сеть, но все что нашел, совершенно не объясняет этой загвоздки.
Собственно сам код:
<html id="frame-popup" class=" browser-mozilla version-38 platform-windows mozilla-38 ">
<head>
<body>
<div id="popup" style="display: none; padding: 100px 0; width: 940px; margin: 0px auto;">
<div id="container" style="display: none; opacity: 1;">
<div id="logger-button" style="display: none;">
<div id="card" data-country-id-request="40" data-offer-id-request="92130894" data-source-id-request="321963158" data-request-id-request="1216678245">
<div id="content">
<div class="card-head selectable">
<div class="card-content selectable">
<div class="column-card-left">
<div class="column-card-right">
<div id="tour-header">
<div class="left-box">
<div id="price-checked-online" style="display:none;">Цена проверена онлайн</div>
<div id="tour-properties-payment">
<br clear="all"/>
<div class="hotel-info show">
<div id="payment-menu" class="card">
<div class="tour-options">
<div id="form-card">
<form id="buying" autocomplete="off" action="javascript: void(0);">
<div class="buy-office-application">
<div class="buy-office-application-head">Покупка тура online</div>
<div class="buy-office-application-body">
<h3>Взрослые</h3>
<div class="buyer-adults">
<div class="buyer-person field-set-container" data-field-type="claim-person" data-field-name="adult-0">
<div class="buyer-person field-set-container" data-field-type="claim-person" data-field-name="adult-1">
</div>
<h3>Информация о заказчике</h3>
<div id="buyer-info">
<h3>Комментарий</h3>
<label class="buyer-comment field-container">
<div id="payment-options"/>
</div>
<div class="buy-office-application-footer">
<div class="order-successfully-created" style="display: none">
</div>
</form>
</div>
<div id="form-order">
</div>
</div>
</div>
</div>
<a class="popup-close" href="javascript: void(0);"/>
</div>
<div id="datepicker"/>
</div>
</div>
</body>
</html>
Пытаюсь посчитать кол-во дочерних элементов у класса "buyer-adults".
Если использую родную функцию xpath - count(//div[@class='buyer-adults']/div), возвращается правильное кол-во, в данном случае 2.
Но сохранить в переменную значение функции xpath, ide не может.
Если же я пытаюсь выполнить метод StoreXpathCount //div[@class='buyer-adults']/div, считать ide элементы отказывается и возвращает 0.
Видимо есть какие-то тонкости в работе с ним.
Перелопатил сеть, но все что нашел, совершенно не объясняет этой загвоздки.
Собственно сам код:
<html id="frame-popup" class=" browser-mozilla version-38 platform-windows mozilla-38 ">
<head>
<body>
<div id="popup" style="display: none; padding: 100px 0; width: 940px; margin: 0px auto;">
<div id="container" style="display: none; opacity: 1;">
<div id="logger-button" style="display: none;">
<div id="card" data-country-id-request="40" data-offer-id-request="92130894" data-source-id-request="321963158" data-request-id-request="1216678245">
<div id="content">
<div class="card-head selectable">
<div class="card-content selectable">
<div class="column-card-left">
<div class="column-card-right">
<div id="tour-header">
<div class="left-box">
<div id="price-checked-online" style="display:none;">Цена проверена онлайн</div>
<div id="tour-properties-payment">
<br clear="all"/>
<div class="hotel-info show">
<div id="payment-menu" class="card">
<div class="tour-options">
<div id="form-card">
<form id="buying" autocomplete="off" action="javascript: void(0);">
<div class="buy-office-application">
<div class="buy-office-application-head">Покупка тура online</div>
<div class="buy-office-application-body">
<h3>Взрослые</h3>
<div class="buyer-adults">
<div class="buyer-person field-set-container" data-field-type="claim-person" data-field-name="adult-0">
<div class="buyer-person field-set-container" data-field-type="claim-person" data-field-name="adult-1">
</div>
<h3>Информация о заказчике</h3>
<div id="buyer-info">
<h3>Комментарий</h3>
<label class="buyer-comment field-container">
<div id="payment-options"/>
</div>
<div class="buy-office-application-footer">
<div class="order-successfully-created" style="display: none">
</div>
</form>
</div>
<div id="form-order">
</div>
</div>
</div>
</div>
<a class="popup-close" href="javascript: void(0);"/>
</div>
<div id="datepicker"/>
</div>
</div>
</body>
</html>
#141939 Метод StoreXpathCount всегда возвращает 0
Отправлено автор: shu_al 22 июня 2015 - 08:38 в Selenium - Functional Testing
У меня данная команда работает.
Можете привести пример команды в сценарии?
Извиняюсь.Не полностью скопировал код, отсюда не корректная структура.
Но в таком виде действительно ide считает элементы. Я подозреваю? что моя проблема в том, что это попап фрейм и открывается из другого фрейма, поэтому он мне всегда возвращает 0.
Но как его заставить смотреть именно в попап, я пока не придумал.
В первоначальном на весь код виде можно взглянуть http://sletat.ru/sea...34286&town=1642
Тест кейс выполняется в карточку тура, оплата онлайн.
Это и есть пример команды - StoreXpathCount //div[@class='buyer-adults']/div
Моя цель посчитать сколько на странице взрослых туристов.
#141952 Метод StoreXpathCount всегда возвращает 0
Отправлено автор: shu_al 22 июня 2015 - 12:36 в Selenium - Functional Testing
Спасибо, уже сумел сам тоже разобрался, теперь считает.
Но появился другой вопрос, какие команды должны выполняться из фрейма, а какие нет? И в чем, собственно, разница.
Клики, ввод текста в формы, чекбоксы, и прочее работало и по локаторам.
#151498 Nunit report Отображение кириллицы в юникоде
Отправлено автор: shu_al 26 мая 2016 - 10:11 в Автоматизированное тестирование
День добрый!
Нужна помощь сообщества в решении небольшой проблемы отображения русского языка в отчете Nunit.
По неизвестной причине все атрибуты тест кейса в сценарии написанные на кириллице отображаются в юникоде, что неимоверно меня печалит.
Гугление не принесло никаких плодов.
Environment:
Visual Studio 14
Specflow 2.1.0
Nunit 2.6.4
Пример feature файла теста:
Scenario Outline: CheckFooterLinks Given I'm on home page And Scrolling to <scrollpoint> When I click on <linkname> in <point> Then <url> is open Examples: | scrollpoint | linkname | url | point | | footer | 'Модули' | /modules/ | footermenu | | footer | 'XML-шлюзы' | /xml-gates/ | footermenu | | footer | 'Готовые сайты' | /web-sites/ | footermenu | | footer | 'Реклама' | /ads/ | footermenu |
Шаги генерируются тоже читабельно:
[NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CheckFooterLinks")] [NUnit.Framework.TestCaseAttribute("footer", "\'Модули\'", "/modules/", "footermenu", new string[0])] [NUnit.Framework.TestCaseAttribute("footer", "\'XML-шлюзы\'", "/xml-gates/", "footermenu", new string[0])] [NUnit.Framework.TestCaseAttribute("footer", "\'Готовые сайты\'", "/web-sites/", "footermenu", new string[0])] [NUnit.Framework.TestCaseAttribute("footer", "\'Реклама\'", "/ads/", "footermenu", new string[0])]
Но в обозревателе и в репорте кириллица превращается в неудобоваримый юникод:
<test-case name="Pro_Test.Features.CheckMenuLinksFeature.CheckFooterLinks("footer","\'\x0424\x0440\x0430\x043D\x0448\x0438\x0437\x0430\'","/franchise/","footermenu",System.String[])" executed="True" result="Success" success="True" time="22.283" asserts="2" />
Как решить эту неприятную ситуацию?! Кто нибудь сталкивался с подобной проблемой?!
#151512 Nunit report Отображение кириллицы в юникоде
Отправлено автор: shu_al 26 мая 2016 - 13:30 в Автоматизированное тестирование
Сам спросил - сам отвечаю.
Если вдруг кто-нибудь столкнется с этим, проблема кроется в отсутствии атрибутов тесткейса в коде nunit'а.
Решить проблему возможно добавив атрибут TestName:
[NUnit.Framework.TestCaseAttribute("footer", "\'Модули\'", "/modules/", "footermenu", new string[0], TestName = "название теста" )]
Подробней можно узнать в документации Nunit'а
- Форум тестировщиков
- → Публикации shu_al
- Политика Конфиденциальности
- Правила форума ·