Скрипт для автоматизированного тестирования

💡 Усі статті, обговорення, новини про Java — в одному місці. Приєднуйтесь до Java спільноти!

Кратко изложу суть. Я изучал ручное тестирование,сейчас меня рассматривают на вакансию,но дали задание,написать какой нибудь 1 простейший скрипт,допустим переход по ссылкам на существующем сайте korrespondent.net и дали условие Selenium PHP или Java. Беда вся в том что я понятия не имею как писать эти самые скрипты. Конечно же,я не полный идиот и сразу полез в гугл,но ту информацию которая мне необходима я не нашел,все очень сложно для меня вышло. Я уже скачал кучу программ типа PhpEd,Codecept,Selenium и прочее и хоть убей не могу понять какие то серверы,хостинги требуются для написания теста. Кто может объяснить,поэтапно,что и за чем мне следует выполнить? На примере языка php например.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

А Вам точно это сказали? Именно Скрипт на Java должен быть?

Вы, простите, ручное тестирование только изучали или выполняли? Пугает отсутствующая самообучаемость, которая есть основа для всех ИТ-сотрудников.

Максим, если у Вас возникают проблемы с успешным поиском информации по теме, которая довольно хорошо освещена... то нужно остановиться, крепко задуматься и подтянуть необходимые скилы.

Я так понимаю, вы не позиционируете себя как опытного автотестера и у вас нет полного резюме автотестерских скиллов, а работодатель это знает и просто хочет посмотреть, умеете ли вы быстро учиться. Если так, попробуйте записать простой скрипт в Selenium IDE, это очень легко, а потом экспортируйте его в нужный формат (лучше Java, чем PHP и не берите remote control). А дальше дело за малым: прочитать достаточно информации, чтобы суметь этот скрипт запустить и получить желаемое поведение. Если вы увлекающийся и обучаемый, как того от вас хотят на работе, вы посмотрите ещё, как создавать циклы и/или условия, и добавите в тест пару неочевидных проверок не по мануалу (в примерах попадание на нужную страницу всегда проверяют по нужному тексту в title, способ этот не единственный и не лучший).
Не знаю, какой демонстрации от вас ожидают, но я бы записала видео запуска скрипта и его работы. Тоже полезный для тестировщика навык.

И да, всё вышесказанное подразумевает знание Core Java или чего там в PHP + понимание, как это ни банально, принципов ООП и умение ими пользоваться на практике. Знание теории тестирования следует считать само собой разумеющимся.

Я бы посоветовал смотреть в сторону Java, а не PHP по массе субъективных причин, ибо сам Selenium на ней написан и ИМХО Java в автоматизации веб приложений — один из мейнстримных языков. Сделаю рекламу одному ютуб каналу, пользуясь случаем, на который сам недавно наткнулся и считаю, что чувак очень доступно и, что немаловажно, вполне приемлемым английским, практически без индийского акцента, рассказывает и показывает на примере, как юзать WebDriver. Вот ссылка на плейлист по JUnit+WebDriver. Ну и никто не отменял официальную документацию и по Selenium, и по JUnit.

PS: Если текущий уровень английского не позволяет понять, что говорит чувак в видео, то в тестировании делать нечего, пока не будет хотя бы уверенного pre-intermediate.

я решил опустить нравственный аспект.
Забыл сказать, что после всего нужно завершить работу с браузером ((if (driver !=null){driver.close(); driver.quit();}))

я решил опустить нравственный аспект.

Я проводив раніше співбесіди на позицію QA Automation.

Прекрасно розумію, що незважаючи на наявність домашнього завдання рівень знань на співбесіді швидко випливе. Тому від таких підказок толку нажаль не багато.

Він повинен навчитись програмуванню. І логіці автоматичного тестування.
Інакше роботу не отримає

Тому думаю, що моральний аспект упускати не варто, якщо ми дійсно хочемо допомогти

Юрий, это все понятно. Основная идея поста автора — получить помощь.
Если б его интересовало наше мнение про моральную сторону вопроса, он бы спросил. Тем более, что (и тут я с Вами категорически согласен) собеседование все покажет.
Но ведь иногда нужен толчок в правильную сторону и автор сможет понять, что то, что ему нехватало. А если его интеллектуальные поиски на этом закончатся, то это его дело. Мануальное тестирование — это тоже не стыдно.
Автоматизаторами не становятся после прочтения книжки по языку программирования. Это процесс не всегда логичный и часто вымощенный костылями, аккуратно разложенными граблями и плохим настроением. И длится он не один месяц. А кто-то подойдет, ткнет пальцем в блок кода и оп... тесты работают :) И ты этому человеку безразмерно благодарен.
Автору надо с чего-то начинать. И лучше, если это будет не мораль.

0) Попробувати створити десяток різних html сторінок з javascript і css.
1) піти на курси java
2) після них почитати новими очима про selenium framewrok
3) почитати про Page Object і їх реалізацію в sejenium

Тоді вже пишіть скрипт, який ходить по сторінкам і виконує якісь дії

Предыдущему комментатору спасибо за подробный ответ) Но вот автор скопирует сейчас решение, его возьмут, а в процессе работы он тоже будет писать на ДОУ что-то типа: «Сегодня нужно покрыть автотестами регистрацию, помогите!(((» ?

То, что автор называет скриптом, есть не что иное, как автотест. Думаю, в таком смысле это слово приобретает менее пугающий характер. Имхо чистый селениум сложно освоить за 5 минут ’с нуля’. Поэтому могу предложить воспользоваться Selenide — это обёртка вокруг Selenium WebDriver, которая сильно упрощает жизнь. Почитать можно тут — ru.selenide.org/index.html, как настроить проект — vimeo.com/106867878. Сам использую уже больше года.

Посмотреть о том, как подключается PHP Selenium можно тут: www.youtube.com/...h?v=zva_GETXimI
Если интересует Java, то тут: www.youtube.com/...h?v=zylSll8hsPs

Если по механизму выполнения, то без привязки к каким-то best practices и фреймворкам, сделать надо примерно следующее (механизм описан с прицелом на Java)

1) Создать экземпляр вебдрайвера (WebDriver driver = new FirefoxDriver();)
2) Перейти на нужную страницу (driver.get("korrespondent.net");)
3) Полулчить все ссылки на странице, записав их в какую-нибудь коллекцию (List<webelement> links = driver.findElements(By.tagName("A"));
4) Дальше надо пройти по этой коллекции и кликать на каждую ссылку
(for (WebElement link: links){ link.click();)
5) Если от нажатия ничего не ожидается, то можно просто вернуться назад (driver.navigate().back();)

Естественно, что все можно облагородить, превратив это в тесты и сделать какую-то структуру проекта, но простейшее — это написать указанно в main и возможно добавить неявное ожидание

Підписатись на коментарі