вторник, 16 июля 2024 г.

ИТ-книга от идеи до выпуска. Часть 3: редактура и выпуск


Ссылка на Хабр  (с кликабельным содержанием)

Последний пост цикла про выпуск книги! Забыла с хабра в блог утащить, вот исправляюсь =)

В 2021 году я выпустила свою первую книгу по тестированию — «Курс молодого бойца». Заняло у меня это 4.5 года! И я решила поделиться своим опытом в цикле статей:

Сегодня я расскажу, как проходит выпуск книги после того, как вы нашли издательство, заключили договор и доделали книгу. Казалось бы, максимум месяц и книга уже в руках, да? Не-е-е-т, там всё сложнее =))

Я хочу поделиться, как оно бывает. Потому что со стороны кажется, что такого, а как заглянешь под капот — у-у-у-у… Поэтому я опишу, какие этапы включает в себя выпуск книги, и сколько времени это заняло нас. И как постоянно что-то шло не так, буквально на каждом этапе =))

Во время первой книги мы собрали максимум подводных камней, поэтому там процесс описан подробно. Я вела дневничок в то время, вот его и покажу. А потом расскажу кратенько про вторую и третью книги.


суббота, 8 июня 2024 г.

Таски и сабтаски в JIRA (и как найти их в ответе API)

У меня на курсах по тестированию REST API и автоматизации в Postman есть задание — получить задачу из Jira (метод Get issue) и вывести на консоль некие поля, например:

  • флаг, является ли связанная задача сабтаском
  • имя автора аттача
Так вот. Не все до этого работали с Jira, и уж тем более не щупали её api. Описание в целом неплохое, но там нет перечисления всех полей, которые возвращаются в ответе, с их описанием. Поэтому я немного поясню.

пятница, 7 июня 2024 г.

ИТ-книга от идеи до выпуска. Часть 2: поиск издательства

 


Ссылка на Хабр

В 2021 году я выпустила свою первую книгу по тестированию — «Курс молодого бойца». Заняло у меня это 4.5 года! И я решила поделиться своим опытом в цикле статей:

Правда, после 1 части я ушла в астрал на пару лет, всё как-то некогда закончить было… Но теперь обещаю доделать цикл! Благо что черновики я писала сразу, поэтому смогу вспомнить даже самое начало.

Заодно расскажу, как менялся процесс редактуры, ведь на текущий момент у меня уже три книги. Но об этом в следующий раз, а сегодня я расскажу о том, как искала издательства. Куда направляла запросы, как готовила сопроводительные письма, как почти потеряла надежду =)) И как нашла «БХВ»! (ой, спойлеры!)

среда, 29 мая 2024 г.

Шпаргалка по XPath и CSS-селекторам

Для написания автотестов используются XPath и CSS-селекторы. Они помогают найти элемент на странице, чтобы потом с ним как-то взаимодействовать (кликнуть, ввести текст, или что-то другое).

Я видела много статей о том, что это вообще такое, но мне очень не хватало шпаргалки по разным селекторам, причем в разрезе «Вот он в CSS и он же в XPath» для сравнения. 

А мне такое для студентов надо. Поэтому решила сделать сама. Вдохновлялась страничкой «Xpath cheatsheet», но сделала на свой вкус — под автоматизацию, а не XPath вообще. И с комментариями, с ними удобнее. 

Пишите, если где-то накосячила. Хотя я все селекторы проверяла на тестовых страницах, но мало ли… И надеюсь, вам такая шпаргалка тоже пригодится! =)

(там таблички нормально отрисовываются и есть содержание кликабельное)

воскресенье, 26 мая 2024 г.

CSS, XPath: локаторы или селекторы? Разбираемся в терминах

 Я обычно слышу такие словосочетания для поиска элементов на HTML-странице:

  • CSS-селекторы
  • XPath-локаторы
Но как правильно их называть? 



Можно ли и то, и то назвать селекторами? Или локаторами? Сходила за уточнениями к Алексею Баранцеву, разработчику инструмента Selenium и автору курсов по автоматизации тестирования (где селекторы и применяем). Итак:

Почему XPath лучше для поиска N-ого элемента, чем nth-child в CSS

В CSS есть псевдокласс :nth-child() — он находит один или более элементов, основываясь на их позиции среди группы соседних элементов. ©

Но у него есть ряд минусов:

  • не срабатывает в firefox (даже когда в хроме всё нормально);
  • срабатывает с оговорками — и поэтому xpath выражение для поиска будет лучше.
Давайте посмотрим на примере.

Создадим такой html-файл (можно сделать текстовый файлик и потом переименовать расширение в «.html»):

<html>
   <body>
          <div attr='1'>Блок 1</div>
  <p>Блок 1</div>
  <div attr='2'>Блок 2</div>
  <div attr='3'>Блок 3</div>
   </body>
</html>

Открываем файлик в хроме (это важно!). 

А теперь попробуем найти второй div. Попробуем через XPath:

//div[2]

Всё работает! Найдет один элемент, второй по счету div:


Теперь попробуем через CSS:

четверг, 23 мая 2024 г.

Как в pm.sendRequest() выполнить запросы в нужном порядке

Это выдержка из статьи «Как подготовить данные для запроса в Postman через pre-request». 


В Postman есть функция pm.sendRequest(), которая позволяет выполнять запросы до выполнения вашего основного запроса. Но есть проблемка, когда мы хотим вызвать несколько запросов подряд...

Кажется, что это будет легко. Просто напишем 2 pre-request и вызовем их подряд:

pm.sendRequest(req1, done); pm.sendRequest(req2, done); 

Но если второй запрос зависит от первого, он упадет. Почему? Потому что функция pm.sendRequests асинхронна. Это значит, что она сразу отправит оба запроса, а не будет дожидаться, когда отработает req1, чтобы запустить req2.