Понадобилось недавиче на "Новой Почте" посылку получить. Да вот незадача - номер накладной оказался с ошибкой. В первых 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.
- При большем количестве вариантов, ускорить перебор можно было бы, предположив, что ошибка всего лишь в одной цифре. Но в данном случае было проще не усложнять алгоритм, а просто попить кофе.
- пауза было добавлена на этапе отладки, чтобы контролировать, что проверка условия проводится правильно. Потом просто не удалил.