Всем привет! Продолжаем бороться с рутиной на нашей работе (как мы начинали, можно почитать тут, тут и тут
Как часто нам тестерам приходится вводить логин и пароль в
тестируемое приложение? И сколько времени уходит на все это? Сегодня я хочу
поделиться еще одним секретом, как можно побороть это скучное занятие - заполнять
поля одним и тем же.
Есть такая полезная штука как userscript ( они же userJS, юзерскрипты,
пользовательские срипты). Кратко говоря, юзерскрипт это кусок javascript кода, который хранится на компьютере
пользователя. Этот скрипт сидит себе тихо, до тех пор пока пользователь не
зайдет на страницу, которая указаны в самом скрипте. Как только появится нужная
страница, юзерскрипт выполняется и делает всякие полезные вещи на которые
только способен javascript.
Более подробно можно посмотреть на известном портале тут. (кстати, после
этой статьи я и начал изучать userscript, так что, mrMig он же Алексей, спасибо
;) ).
Написать юзерскрипт может каждый кто хоть немного умеет
программировать и знаком в javascript (я его изучаю по мере необходимости).
А что же можно автоматизировать с помощью такого скрипта? Ну,
например
- Заполнение полей формы на странице
- И, вытекающее из первого, заполнение логина и пароля при
авторизации в приложении
- Еще много чего на что только способен яваскрипт (можно самим
придумать и написать в комментах).
Мы же рассмотрим только самый простой случай, заполнения логина и
пароля.
Итак, код скрипта для заполнения полей логина и пароля на сайте
будет выглядеть так:
// ==UserScript==
// @name
LoginVkontakte
// @namespace
userScripts
// @include
http://vkontakte.ru/login*
//Маска url на которых будет выполнятся скрипт
//Маска url на которых будет выполнятся скрипт
//
==/UserScript==
document.getElementById('email').value
= 'email@mail.ru';
document.getElementById('pass').value
= 'pass';
При переходе на страницу, адрес
который соответствует выражению "http://vkontakte.ru/login*".
Выполнится скрипт, и автоматически заполнятся поля логин и пароль.
Все, вам останется нажать только кнопку логин.
userscript для меня пока мало изученная область, но думаю, что
есть еще много вещей, которые можно автоматизировать с помощью них и, которые
будут упрощать нашу жизнь.
P.S. жду комментариев про то что еще можно автоматизировать на
userscript.
Лёш, а юзерскрипт имеет те же ограничения, что и JS, то есть с файлами он не работает? Результаты никуда не записать?
ОтветитьУдалитьНаташа, привет!
ОтветитьУдалитьДа, скрипты имеют ограничения не меньше чем JS. Это по сути тот же самый JS, который хранится у пользователя на ПК.
А я специально не пользуюсь такими вещами, память тренирую так.
ОтветитьУдалитьА вот "- Заполнение полей формы на странице" это может быть интересно. только надо расписать все подробно с примерами, картинками.
Я когда-то использовал такие скрипты, когда требовалось заполнять журнал работ в жире с использованием определённого шаблона (эти данные автоматически собираются в виде отчёта для бухгалтерии)
ОтветитьУдалитьГлавное чтобы ваш скрипт не увидел злоумышленник, тогда все ваши пароли-явки в очень удобном и автоматизированном виде улетят :)
ОтветитьУдалитьАлексей, поправь код скрипта, а то час искал проблему почему не работает :)
ОтветитьУдалитьdocument.getElementById('quick_email').value = 'email@mail.ru';
document.getElementById('quick_pass').value = 'pass';
> Все, вам останется нажать только кнопку логин.
ОтветитьУдалитьэто тоже можно автоматизировать (как нажатие на чекбокс, выбор из списка)
добавить строчку:
document.getElementById('quick_login_button').click();
Макс, привет!
ОтветитьУдалитьТы просто с другой формы логинился, а там Id другие, а я написал вот про эту форму http://vkontakte.ru/login.php
На счет нажатия > у тебя так работает?
Этот комментарий был удален автором.
ОтветитьУдалитьпривет, Алексей!
ОтветитьУдалитьда, ты прав, на урл не обратил внимание
для http://vkontakte.ru/ клик работает, попробуй сам
document.getElementById('quick_email').value = '***@mail.ru';
document.getElementById('quick_pass').value = '123';
document.getElementById('quick_login_button').click();
ps http://vkontakte.ru/login.php "вход" делается через js "href="javascript: quick_login()">Вход" как сделать автоклик пока не знаю