Как использовать Selenium IDE со скриптами & Команды (Утвердить, Проверить)

Содержание:

Anonim

Мы будем использовать веб-сайт Mercury Tours в качестве тестируемого веб-приложения. Это онлайн-система бронирования авиабилетов, которая содержит все элементы, необходимые для этого руководства. Его URL-адрес - http://demo.guru99.com/test/newtours/, и это будет наш базовый URL-адрес.

Создать сценарий путем записи

Давайте теперь создадим наш первый тестовый скрипт в Selenium IDE наиболее распространенным методом - записью. После этого мы выполним наш скрипт, используя функцию воспроизведения.

Шаг 1

  • Запустите Firefox и Selenium IDE.
  • Введите значение для нашего базового URL: http://demo.guru99.com/test/newtours/.
  • Включите кнопку записи (если она еще не включена по умолчанию).
Шаг 2

В Firefox перейдите по адресу http://demo.guru99.com/test/newtours/. Firefox должен перенаправить вас на страницу, подобную показанной ниже.

Шаг 3
  • Щелкните правой кнопкой мыши любое пустое место на странице, например, логотип Mercury Tours в верхнем левом углу. Это вызовет контекстное меню Selenium IDE. Примечание. Не нажимайте на объекты или изображения с гиперссылками.
  • Выберите параметр «Показать доступные команды».
  • Затем выберите «assertTitle exact: Welcome: Mercury Tours». Это команда, которая проверяет правильность заголовка страницы.
Шаг 4
  • В текстовом поле «Имя пользователя» Mercury Tours введите недопустимое имя пользователя «invalidUNN».
  • В текстовом поле «Пароль» введите неверный пароль «invalidPWD».
Шаг 5
  • Щелкните по кнопке «Войти». Firefox должен перенаправить вас на эту страницу.
ШАГ 6

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

Шаг 7.

Теперь, когда мы закончили с нашим тестовым скриптом, мы сохраним его в тестовом примере. В меню "Файл" выберите "Сохранить тестовый набор". Кроме того, вы можете просто нажать Ctrl + S.

Шаг 8
  • Выберите желаемое местоположение и назовите тестовый набор «Invalid_login».
  • Нажмите кнопку «Сохранить».
Шаг 9.

Обратите внимание, что файл был сохранен как HTML.

Шаг 10.

Вернитесь в Selenium IDE и нажмите кнопку «Воспроизведение», чтобы выполнить весь скрипт. Selenium IDE должна уметь безупречно все реплицировать.

Введение в команды Selenium - Selenese

  • Команды Selenese могут иметь до двух параметров: цель и значение.
  • Параметры не требуются постоянно. Это зависит от того, сколько понадобится команде.

3 типа команд

Действия

Это команды, которые напрямую взаимодействуют с элементами страницы.

Пример: команда «щелкнуть» - это действие, потому что вы напрямую взаимодействуете с элементом, на который щелкаете.

Команда «type» также является действием, потому что вы помещаете значения в текстовое поле, а текстовое поле показывает их вам взамен. Между вами и текстовым полем существует двустороннее взаимодействие.

Аксессоры

Это команды, позволяющие сохранять значения в переменной.

Пример: команда storeTitle является средством доступа, потому что она только «считывает» заголовок страницы и сохраняет его в переменной. Он не взаимодействует ни с одним элементом на странице.

Утверждения

Это команды, которые проверяют выполнение определенного условия.

3 типа утверждений

  • Утвердить . Когда команда «assert» терпит неудачу, тест немедленно останавливается.
  • Проверить . Когда команда «verify» терпит неудачу, Selenium IDE регистрирует эту ошибку и продолжает выполнение теста.
  • WaitFor . Прежде чем перейти к следующей команде, команды "waitFor" сначала дождутся выполнения определенного условия.
    • Если условие выполняется в течение периода ожидания, шаг проходит.
    • Если условие не выполняется, шаг не выполняется. Ошибка регистрируется, и выполнение теста переходит к следующей команде.
    • По умолчанию значение тайм-аута составляет 30 секунд. Вы можете изменить это в диалоговом окне «Параметры Selenium IDE» на вкладке «Общие».

Утвердить против проверки

Общие команды

Командование Количество параметров Описание
открыто 0–2

Открывает страницу по URL-адресу.

щелкнуть / щелкнутьAndWait 1

Щелкает по указанному элементу.

type / typeKeys 2

Набирает последовательность символов.

verifyTitle / assertTitle 1

Сравнивает фактический заголовок страницы с ожидаемым значением.

verifyTextPresent 1

Проверяет, есть ли на странице определенный текст.

verifyElementPresent 1

Проверяет наличие определенного элемента.

verifyTable 2

Сравнивает содержимое таблицы с ожидаемыми значениями.

waitForPageToLoad 1

Приостанавливает выполнение до полной загрузки страницы.

waitForElementPresent 1

Приостанавливает выполнение до тех пор, пока указанный элемент не появится.

Создайте скрипт вручную с помощью Firebug

Теперь мы воссоздадим тот же тестовый пример вручную, введя команды. На этот раз нам нужно будет использовать Firebug.

Шаг 1
  • Откройте Firefox и Selenium IDE.
  • Введите базовый URL (http://demo.guru99.com/test/newtours/).
  • Кнопка записи должна быть ВЫКЛЮЧЕНА.
Шаг 2: Щелкните самую верхнюю пустую строку в редакторе.

Введите «open» в текстовое поле «Команда» и нажмите Enter.

Шаг 3
  • Перейдите в Firefox по нашему базовому URL-адресу и активируйте Firebug.
  • На панели Selenium IDE Editor выберите вторую строку (строка под командой «open») и создайте вторую команду, набрав «assertTitle» в поле «Команда».
  • Не стесняйтесь использовать функцию автозаполнения.
Шаг 4
  • В Firebug разверните тег , чтобы отобразить тег .</li> <li>Щелкните значение тега <title> («Добро пожаловать: Mercury Tours») и вставьте его в поле «Цель» в редакторе.</li> </ul> </td> </tr> <tr> <td><strong>Шаг 5</strong> <ul> <li>Чтобы создать третью команду, щелкните третью пустую строку в редакторе и введите «тип» в текстовом поле «Команда».</li> <li>В Firebug нажмите кнопку «Проверить».</li> </ul> </td> </tr> <tr> <td>Щелкните текстовое поле «Имя пользователя». Обратите внимание, что Firebug автоматически показывает вам HTML-код для этого элемента.</td> </tr> <tr> <td><strong>ШАГ 6</strong> <p>Обратите внимание, что в текстовом поле «Имя пользователя» нет идентификатора, но есть атрибут NAME. Поэтому мы будем использовать его ИМЯ в качестве локатора. Скопируйте значение NAME и вставьте его в поле Target в Selenium IDE.</p> <p>Все еще в текстовом поле Target префикс «userName» с «name =», указывающий, что Selenium IDE должна нацеливаться на элемент, атрибут NAME которого равен «userName».</p> <p>Введите «invalidUN» в текстовое поле «Значение» в Selenium IDE. Ваш тестовый сценарий теперь должен выглядеть, как на изображении ниже. Мы закончили с третьей командой. Примечание. Вместо invalidUN вы можете ввести любую другую текстовую строку. Но Selenium IDE чувствителен к регистру, и вы вводите значения / атрибуты точно так же, как в приложении.</p> </td> </tr> <tr> <td><strong>Шаг 7.</strong> <ul> <li>Чтобы создать четвертую команду, введите «тип» в текстовом поле «Команда».</li> <li>Опять же, используйте кнопку Firebug «Inspect», чтобы получить указатель для текстового поля «Пароль».</li> </ul> <ul> <li> <p>Вставьте атрибут NAME («пароль») в поле «Цель» и добавьте к нему префикс «name =».</p> </li> <li> <p>Введите «invalidPW» в поле «Значение» в Selenium IDE. Ваш тестовый сценарий теперь должен выглядеть как на изображении ниже.</p> </li> </ul> </td> </tr> <tr> <td><strong>Шаг 8</strong> <ul> <li>Для пятой команды введите «clickAndWait» в текстовом поле «Команда» в Selenium IDE.</li> <li>Используйте кнопку Firebug «Проверить», чтобы получить указатель кнопки «Войти».</li> </ul> <ul> <li>Вставьте значение атрибута NAME («логин») в текстовое поле «Цель» и добавьте к нему префикс «name =».</li> <li>Ваш тестовый сценарий теперь должен выглядеть как на изображении ниже.</li> </ul> </td> </tr> </tbody> </table> <p><strong>Шаг 9:</strong> Сохраните тестовый пример так же, как мы делали в предыдущем разделе.</p> <a id="menu-6"></a> <h2>Использование кнопки поиска</h2> <p><strong>Кнопка «Найти» в Selenium IDE используется для проверки того, действительно ли то, что мы поместили в текстовое поле «Цель», является правильным элементом пользовательского интерфейса.</strong></p> <p>Давайте воспользуемся тестовым примером Invalid_login, который мы создали в предыдущих разделах. Щелкните любую команду с записью Target, например третью команду.</p> <p>Щелкните по кнопке "Найти". Обратите внимание, что текстовое поле «Имя пользователя» на странице Mercury Tours выделяется на секунду.</p> <p>Это указывает на то, что Selenium IDE смогла правильно обнаружить ожидаемый элемент и получить к нему доступ. Если кнопка «Найти» выделила другой элемент или вообще не выделила его, значит, с вашим скриптом что-то не так.</p> <a id="menu-7"></a> <h2>Выполнить команду</h2> <p><strong>Это позволяет выполнять любую отдельную команду без запуска всего тестового примера</strong> . Просто щелкните строку, которую хотите выполнить, а затем либо щелкните «Действия> Выполнить эту команду» в строке меню, либо просто нажмите «X» на клавиатуре.</p> <p><strong>Шаг 1.</strong> Убедитесь, что ваш браузер находится на главной странице Mercury Tours. Щелкните команду, которую хотите выполнить. В этом примере щелкните строку «type | userName | invalidUN».</p> <p><strong>Шаг 2.</strong> Нажмите «X» на клавиатуре.</p> <p><strong>Шаг 3.</strong> Обратите внимание, что текстовое поле для имени пользователя заполняется текстом «invalidUN».</p> <p><strong>Выполнение команд таким способом сильно зависит от страницы, отображаемой Firefox в данный момент</strong> . Это означает, что если вы попробуете приведенный выше пример с отображаемой домашней страницей Google вместо Mercury Tours, тогда ваш шаг не удастся, потому что на главной странице Google нет текстового поля с атрибутом userName.</p> <a id="menu-8"></a> <h2>Точка отсчета</h2> <p><strong>Начальная точка - это индикатор, который сообщает Selenium IDE, какие строки будут запускаться</strong> . <strong>Его горячая клавиша - «S».</strong></p> <p>В приведенном выше примере воспроизведение начнется с третьей строки (введите | пароль | invalidPW). <strong>В одном тестовом сценарии может быть только одна начальная точка.</strong></p> <p>Начальная точка похожа на «Выполнить команду» в том смысле, что они зависят от текущей отображаемой страницы. Начальная точка не сработает, если вы перейдете не на ту страницу.</p> <a id="menu-9"></a> <h2>Контрольные точки</h2> <p>Точки останова - это индикаторы, которые сообщают Selenium IDE, где автоматически приостановить тест. <strong>Сочетание клавиш - «B».</strong></p> <p>Желтое выделение означает, что текущий шаг отложен. Это доказывает, что Selenium IDE приостановила выполнение на этом этапе. <strong>В одном тестовом примере может быть несколько точек останова.</strong></p> <a id="menu-10"></a> <h2>Шаг</h2> <p>Это позволяет вам выполнять последующие команды по одной после приостановки тестового примера. Воспользуемся сценарием из предыдущего раздела «Точки останова».</p> <table> <tbody> <tr> <td width="50%"> </td> <td> <p><strong>Перед нажатием кнопки «Шаг».</strong></p> <p>Тестовый пример останавливается на строке «clickAndWait | login».</p> </td> </tr> <tr> <td width="50%"> </td> <td> <p><strong>После нажатия «Шаг».</strong></p> <p>Строка «clickAndWait | login» запускается и переходит к следующей команде (verifyTitle | Sign-on: Mercury Tours).</p> <p>Обратите внимание, что следующая строка приостанавливается, даже если там нет точки останова. Это основная цель функции Step - она ​​выполняет последующие команды по одной, чтобы дать вам больше времени для проверки результата после каждого шага.</p> </td> </tr> </tbody> </table> <a id="menu-11"></a> <h2>Важные моменты, на которые следует обратить внимание при использовании других форматов в режиме просмотра исходного кода</h2> <p><strong>Selenium IDE хорошо работает только с HTML - другие форматы все еще находятся в экспериментальном режиме</strong> . Это <strong>НЕ рекомендуется</strong> создавать и редактировать тесты с использованием других форматов в Source View , потому что есть еще много работы , необходимо , чтобы сделать ее более стабильной. Ниже приведены известные ошибки версии 1.9.1.</p> <ul> <li>Вы не сможете ни воспроизвести, ни вернуться к просмотру таблицы, если не вернетесь к HTML.</li> <li>Единственный способ безопасно добавить команды в исходный код - это записать их.</li> <li>Если вы измените исходный код вручную, он будет утерян при переключении на другой формат.</li> <li>Хотя вы можете сохранить свой тестовый пример в режиме просмотра исходного кода, Selenium IDE не сможет его открыть.</li> </ul> <p><strong>Рекомендуемый способ конвертировать тесты Selenese - использовать параметр «Экспортировать тестовый набор как…» в меню «Файл», а не через представление исходного кода.</strong></p> <a id="menu-12"></a> <h2>Резюме</h2> <ul> <li>Сценарии тестирования могут быть созданы путем записи или ввода команд и параметров вручную.</li> <li>При создании скриптов вручную Firebug используется для получения локатора.</li> <li>Кнопка «Найти» используется для проверки того, что команда может получить доступ к правильному элементу.</li> <li>В табличном представлении тестовый сценарий отображается в табличной форме, а в представлении «Исходный код» - в формате HTML.</li> <li>Изменение представления исходного кода в формат, отличный от HTML, все еще является экспериментальным.</li> <li>Не используйте представление исходного кода при создании тестов в других форматах. Вместо этого используйте функции экспорта.</li> <li>Параметры не требуются постоянно. Это зависит от команды.</li> <li>Есть три типа команд:</li> <ul> <li>Действия - напрямую взаимодействует с элементами страницы.</li> <li>Аксессоры - «считывают» свойство элемента и сохраняют его в переменной.</li> <li>Утверждения - сравнивает фактическое значение с ожидаемым.</li> </ul> <li>Утверждения бывают трех типов:</li> <ul> <li>Утверждение - при неудаче последующие шаги больше не выполняются</li> <li>Проверить - в случае сбоя последующие шаги по-прежнему выполняются.</li> <li>WaitFor - проходит, если указанное условие выполняется в течение периода ожидания; в противном случае он потерпит неудачу</li> </ul> <li>Наиболее распространенные команды:</li> <ul> <li>открыто</li> <li>щелкнуть / щелкнутьAndWait</li> <li>type / typeKeys</li> <li>verifyTitle / assertTitle</li> <li>verifyTextPresent</li> <li>verifyElementPresent</li> <li>verifyTable</li> <li>waitForPageToLoad</li> <li>waitForElementPresent</li> </ul> </ul> </div> </article> <div id="container-5533149ee6411a5f99b370c693e87966"></div> </div> </div> </div> </div> </div> <aside class="col-lg-4 sidebar sidebar--right"> <div class="widget widget-popular-posts"> <h2 class="widget-title">Популярные посты</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8224691-command-line-arguments-in-java-with-example" title="Аргументы командной строки в Java с примером" rel="bookmark"><img src="https://cdn.css-code.org/7067233/command_line_arguments_in_java_with_example.png.webp" loading="lazy" alt="Аргументы командной строки в Java с примером" title="Аргументы командной строки в Java с примером" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224691-command-line-arguments-in-java-with-example" title="Аргументы командной строки в Java с примером" rel="bookmark">Аргументы командной строки в Java с примером 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8224692-java-static-method-variable-and-block-with-example" title="Статический метод Java, переменная и блок с примером" rel="bookmark"><img src="https://cdn.css-code.org/2974023/java_static_method-_variable_and_block_with_example.png.webp" loading="lazy" alt="Статический метод Java, переменная и блок с примером" title="Статический метод Java, переменная и блок с примером" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224692-java-static-method-variable-and-block-with-example" title="Статический метод Java, переменная и блок с примером" rel="bookmark">Статический метод Java, переменная и блок с примером 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8224693-java-stack-and-heap-java-memory-allocation-tutorial" title="Стек и куча Java: Учебное пособие по распределению памяти Java" rel="bookmark"><img src="https://cdn.css-code.org/6918759/java_stack_and_heap_java_memory_allocation_tutorial.png.webp" loading="lazy" alt="Стек и куча Java: Учебное пособие по распределению памяти Java" title="Стек и куча Java: Учебное пособие по распределению памяти Java" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224693-java-stack-and-heap-java-memory-allocation-tutorial" title="Стек и куча Java: Учебное пособие по распределению памяти Java" rel="bookmark">Стек и куча Java: Учебное пособие по распределению памяти Java 2025</a></h3> </div> </div> </li> </ul> </div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Лучшие обзоры за месяц</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003260-11-getting-svg-the-noun-project" title="11: Получение SVG - Проект существительного - CSS-хитрости" rel="bookmark">11: Получение SVG - Проект существительного - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003261-12-getting-svg-icon-fonts-and-sets" title="12: Получение SVG - Иконочные шрифты и наборы - CSS-хитрости" rel="bookmark">12: Получение SVG - Иконочные шрифты и наборы - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003262-09-svg-with-data-uris" title="09: SVG с URI данных - CSS-хитрости" rel="bookmark">09: SVG с URI данных - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003263-13-svg-as-an-icon-system-the-use-element" title="13: SVG как система иконок - элемент `use` - CSS-хитрости" rel="bookmark">13: SVG как система иконок - элемент `use` - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003264-16-svg-icon-system-external-source" title="16: Система значков SVG - внешний источник - CSS-хитрости" rel="bookmark">16: Система значков SVG - внешний источник - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003265-14-svg-icon-system-building-out-defs" title="14: Система значков SVG - Повышение защиты - CSS-хитрости" rel="bookmark">14: Система значков SVG - Повышение защиты - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003266-15-svg-icon-system-where-the-defs-go" title="15: Система значков SVG - Куда деваются дефисы - CSS-хитрости" rel="bookmark">15: Система значков SVG - Куда деваются дефисы - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003267-18-build-tool-grunt-svgstore" title="18: Инструмент сборки - Grunt svgstore - CSS-хитрости" rel="bookmark">18: Инструмент сборки - Grunt svgstore - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003268-19-more-build-tools" title="19: Дополнительные инструменты для сборки! - CSS-хитрости" rel="bookmark">19: Дополнительные инструменты для сборки! - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003269-10-getting-svg-stock-photography-sites" title="10: Получение SVG - Стоковая фотография сайтов - CSS-хитрости" rel="bookmark">10: Получение SVG - Стоковая фотография сайтов - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003270-20-styling-inline-svg-powers-and-limitations" title="20: Стилизация встроенного SVG - возможности и ограничения - CSS-хитрости" rel="bookmark">20: Стилизация встроенного SVG - возможности и ограничения - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003271-17-build-tool-icomoon" title="17: Инструмент сборки - IcoMoon - CSS-хитрости" rel="bookmark">17: Инструмент сборки - IcoMoon - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003272-21-get-two-colors-in-a-use" title="21: Получите два цвета в использовании - CSS-хитрости" rel="bookmark">21: Получите два цвета в использовании - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003273-22-animating-svg-with-css" title="22: Анимация SVG с помощью CSS - CSS-хитрости" rel="bookmark">22: Анимация SVG с помощью CSS - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003274-23-animating-svg-with-smil" title="23: Анимация SVG с помощью SMIL - CSS-хитрости" rel="bookmark">23: Анимация SVG с помощью SMIL - CSS-хитрости</a></h3> </div> </div> </li> </ul> </div> <div id="container-5533149ee6411a5f99b370c693e87966"></div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Лучшие статьи</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8222535-correlation-in-loadrunner-with-web-reg-save-param-example" title="Корреляция в LoadRunner с примером Web_Reg_Save_Param" rel="bookmark"><img src="https://cdn.css-code.org/4780906/correlation_in_loadrunner_with_web_reg_save_param_example.png.webp" loading="lazy" alt="Корреляция в LoadRunner с примером Web_Reg_Save_Param" title="Корреляция в LoadRunner с примером Web_Reg_Save_Param" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8222535-correlation-in-loadrunner-with-web-reg-save-param-example" title="Корреляция в LoadRunner с примером Web_Reg_Save_Param" rel="bookmark">Корреляция в LoadRunner с примером Web_Reg_Save_Param 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8222536-mutation-testing-in-software-testing-mutant-score-and-analysis-example" title="Тестирование мутаций при тестировании программного обеспечения: оценка мутантов и amp; Пример анализа" rel="bookmark"><img src="https://cdn.css-code.org/9508930/mutation_testing_in_software_testing_mutant_score_ampamp_analysis_example.png.webp" loading="lazy" alt="Тестирование мутаций при тестировании программного обеспечения: оценка мутантов и amp; Пример анализа" title="Тестирование мутаций при тестировании программного обеспечения: оценка мутантов и amp; Пример анализа" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8222536-mutation-testing-in-software-testing-mutant-score-and-analysis-example" title="Тестирование мутаций при тестировании программного обеспечения: оценка мутантов и amp; Пример анализа" rel="bookmark">Тестирование мутаций при тестировании программного обеспечения: оценка мутантов и amp; Пример анализа 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8222537-top-35-jira-interview-questions-and-answers" title="35 самых популярных вопросов на собеседовании JIRA & Ответы" rel="bookmark"><img src="https://cdn.css-code.org/2194507/top_35_jira_interview_questions_ampamp_answers.png.webp" loading="lazy" alt="35 самых популярных вопросов на собеседовании JIRA & Ответы" title="35 самых популярных вопросов на собеседовании JIRA & Ответы" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8222537-top-35-jira-interview-questions-and-answers" title="35 самых популярных вопросов на собеседовании JIRA & Ответы" rel="bookmark">35 самых популярных вопросов на собеседовании JIRA & Ответы 2025</a></h3> </div> </div> </li> </ul> </div> </aside> </div> </div> <footer class="footer footer--dark"> <div class="container"> <div class="footer__widgets"> <div class="row"> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Популярные посты</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226035-process-scheduling-long-medium-short-term-scheduler" title="Планирование процессов: долгосрочный, средний, краткосрочный планировщик" rel="bookmark">Планирование процессов: долгосрочный, средний, краткосрочный планировщик</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226036-priority-scheduling-algorithm-preemptive-non-preemptive-example" title="Алгоритм приоритетного планирования: упреждающий, не вытесняющий ПРИМЕР" rel="bookmark">Алгоритм приоритетного планирования: упреждающий, не вытесняющий ПРИМЕР</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226037-memory-management-in-os-contiguous-swapping-fragmentation" title="Управление памятью в ОС: непрерывная, подкачка, фрагментация" rel="bookmark">Управление памятью в ОС: непрерывная, подкачка, фрагментация</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226038-bankers-algorithm-in-operating-system-example" title="Алгоритм Банкира в операционной системе (пример)" rel="bookmark">Алгоритм Банкира в операционной системе (пример)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226039-shortest-job-first-sjf-preemptive-non-preemptive-example" title="Кратчайшее задание сначала (SJF): пример с приоритетом, без прерывания" rel="bookmark">Кратчайшее задание сначала (SJF): пример с приоритетом, без прерывания</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Выбор редакции</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003412-133-forums-wrangling-part-1" title="# 133: Борьба на форумах, часть 1 - CSS-хитрости" rel="bookmark"># 133: Борьба на форумах, часть 1 - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003414-136-understanding-vanilla-forums-theme-overrides" title="# 136: Понимание переопределений тем на форумах Vanilla - CSS-хитрости" rel="bookmark"># 136: Понимание переопределений тем на форумах Vanilla - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003415-135-forums-wrangling-part-3-login" title="# 135: Форумы Wrangling, Часть 3, Вход - CSS-хитрости" rel="bookmark"># 135: Форумы Wrangling, Часть 3, Вход - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003416-134-forums-wrangling-part-2" title="# 134: Борьба на форумах, часть 2 - CSS-хитрости" rel="bookmark"># 134: Борьба на форумах, часть 2 - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003417-138-forums-homepage-styling" title="# 138: Стиль домашней страницы форумов - CSS-хитрости" rel="bookmark"># 138: Стиль домашней страницы форумов - CSS-хитрости</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Лучшие статьи</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003182-008-giving-ourselves-a-fresh-start-with-a-clean-theme-part-1" title="# 008 - Начнем с чистого листа с чистой темы, часть 1 - CSS-хитрости" rel="bookmark"># 008 - Начнем с чистого листа с чистой темы, часть 1 - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003183-010-codekit-for-great-success" title="# 010 - CodeKit для большого успеха - CSS-хитрости" rel="bookmark"># 010 - CodeKit для большого успеха - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003184-012-slider-foundations" title="# 012 - Основы слайдера - CSS-хитрости" rel="bookmark"># 012 - Основы слайдера - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003185-013-tweaking-the-slider" title="# 013 - Настройка слайдера - CSS-хитрости" rel="bookmark"># 013 - Настройка слайдера - CSS-хитрости</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003186-014-positioning-the-slider" title="# 014 - Размещение слайдера - CSS-хитрости" rel="bookmark"># 014 - Размещение слайдера - CSS-хитрости</a></h3> </div> </div> </li> </ul> </div> </div> </div> <p>© Copyright ru.css-code.org, 2025 Февраль | <a href="https://ru.css-code.org/about-site" title="О сайте">О сайте</a> | <a href="https://ru.css-code.org/contacts" title="Контакты">Контакты</a> | <a href="https://ru.css-code.org/privacy-policy" title="Политика конфиденциальности">Политика конфиденциальности</a>. </p> </div> </div> </footer> <link href="https://css-code.org/template/css/style.min.css" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" /> </body> </html>