понедельник, 1 апреля 2013 г.

Новая почта и брутфорс

Понадобилось недавиче на "Новой Почте" посылку получить. Да вот незадача - номер накладной оказался с ошибкой. В первых 10 символах ошибиться не могли - оставались последние 4 символа. Перебор созвучных и похожих по написанию цифр результат не дал. А вот Selenium IDE в компании с flow-control справился достаточно быстро и с минимальными трудозатратами.

Тест останавливается в том случае, если на странице встерчаются три волшебных слова. У меня это был город отправления, город прибытия и номер отделения. Не самая универсальная реализация, но для данного случая оказалась очень эффективной. Вот только боялся, чтобы не забанили за частые запросы. Но обошлось.

novapochta
open /frontend/tracking/ru
store тут_заносим_начальный_номер_накладной num
while ${num}<тут_конечный_номер_накладной
type css=div.p-text_align_center > form > input[name="en"] ${num}
clickAndWait css=form > input[type="submit"]
storeEval ${num}+1 num
assertTextNotPresent glob:*Слово1*Слово2*Слово3*
pause 1
endWhile


Примечания
  • Перезвонить и уточнить номер я мог бы только с 11 утра, а забрать товар мне было удобнее с 8:00.
  • При большем количестве вариантов, ускорить перебор можно было бы, предположив, что ошибка всего лишь в одной цифре. Но в данном случае было проще не усложнять алгоритм, а просто попить кофе.
  • пауза было добавлена на этапе отладки, чтобы контролировать, что проверка условия проводится правильно. Потом просто не удалил.

вторник, 7 августа 2012 г.

Написание тесткейсов, как подготовка к экзамену

Для меня написание тесткейсов — это как подготовка к экзамену.
  • Как правило, на этапе подготовки есть только общее видение того, что должно получиться
  • Готовясь к экзамену никогда не сможешь сказать, что на 100% готов
  • Читаешь, думаешь, читаешь и думаешь. А результат — шпаргалки, которыми не всегда получится воспользоваться
  • Никогда не знаешь, какие уточняющие вопросы появяться, ибо случайно оброненное слово может привести к новым вопросам от экзаменатора
  • Процесс подготовки несколько расслабляет, так как всегда есть ночь перед экзаменом
  • Во время экзамена отступать уже некуда. Только вперёд! И только на этом этапе может появиться некоторая уверенность, что время подготовки проведенно правильно
  • Вечер после экзамена — самое радостное время. Но вслед за ним начинается новый день подготовки к очередному экзамену
 Пожалуй, многие пункты получились спорными, но в целом идея должна прослеживаться : )

четверг, 26 апреля 2012 г.

AppPerfect: первый взгляд

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

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

С одной стороны — у меня web приложение и тестировать нужно клиентскую часть, которая написана на ExtJS. С этой точки зрения мне нужен AppPerfect Web Test. Но с другой стороны, сейчас основная задача — проверка UI. И в этом случае мне не достаточно проверить, что страница содержит какой-либо объект. Мне нужно убедится, что он действительно отображается и виден пользователю. И тут вроде бы больше подойдёт AppPerfect App Test.

Пока делаю первые шаги и читаю руководства. Появляются какие-то вопросы и замечания. Собственно, пока заметил первое неудобство.

Если я запускаю тестирование, то Web Test открывает браузер, который я ему указал. В данном случае — это Chrome. При этом, если у меня уже был открыт данный браузер, то создаётся новая страница. По завершению работы с программой браузер остаётся открытым. Но! Web Test устанавливает свой прокси 127.0.0.1:8690 и обратно не откатывает. В итоге приходится менять ручками.

Если Chrome был закрыт, то он запускается как обычно — открываются все вкладки, которые у меня были в предыдущем сеансе (такая у меня настройка по умолчанию), а после завершения — браузер закрывается. Но! Закрывается аварийно и в следующий раз вкладки не восстанавливаются.

С одной стороны, если как положено выделена отдельная машинка для тестирования, то это не большая проблема. Но в моём случае в рамках знакомства, это несколько напрягает.