Size: a a a

QA — Автоматизация

2020 September 09

🍏

🍏🌸 in QA — Автоматизация
Спасибо!
источник

ДВ

Диана Верикова (Кудр... in QA — Автоматизация
Roman (rpwheeler)
> Робот мастхев, если у вас что-то требует держать части тестов на разных машинах, например, часто лезть в конфиги сервера и ребутать его прям из теста. Или там заглушки на другом языке, к которым извне не постучать)

Робот сам-то на Пайтоне, т.е. всё что может Робот, может и чистый пайтон.
ога, только в роботе remoteLib из коробки и нормально встроены в тесты, а на питоне не факт что кривые лапки напишут что-то адекватное х)
так-то все, что можно сделать на питоне, можно и на других языках повторить, вопрос в количестве приложенных извращений))
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Диана Верикова (Кудрявцева)
ога, только в роботе remoteLib из коробки и нормально встроены в тесты, а на питоне не факт что кривые лапки напишут что-то адекватное х)
так-то все, что можно сделать на питоне, можно и на других языках повторить, вопрос в количестве приложенных извращений))
Ну так сорцы же Робота в открытом доступе. Взять и передрать, как должен уметь любой студент :)

С другой стороны если для вашего проекта нужна некая особая библиотека и функционал -- то в Пайтоне просто подключаете, а в Роботе "мяч на вашей стороне" -- сами её и оборачивайте в Робот библиотеку.
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Ну или вот, скажем, как в Роботе с джейсоном предлагается работать:
https://github.com/robotframework-thailand/robotframework-jsonlibrary

Я б не сказал что это очень удобно ;)
источник

S

Sergei in QA — Автоматизация
м-да ну и дичь этот робот-фреймворк, прям как кукумбер, вот не живется людям просто код писать
источник

AR

Andrey Romanchuk in QA — Автоматизация
Roman (rpwheeler)
Ну так сорцы же Робота в открытом доступе. Взять и передрать, как должен уметь любой студент :)

С другой стороны если для вашего проекта нужна некая особая библиотека и функционал -- то в Пайтоне просто подключаете, а в Роботе "мяч на вашей стороне" -- сами её и оборачивайте в Робот библиотеку.
В самом простом случае - просто пишете код на Питоне, указываете .py файл как библиотеку. И будет счастье
источник

AR

Andrey Romanchuk in QA — Автоматизация
Sergei
м-да ну и дичь этот робот-фреймворк, прям как кукумбер, вот не живется людям просто код писать
У меня складывается ощущение, что последние года 2-3 я собирал и допиливал кучу хороших фреймворков, и чуть больше 0 хороших тестов. Которые не "круто написаны и делают красивый отчёт", а реально что-то проверяют)

Надоело, хочу тесты писать)
источник

LY

Lev Yarushin in QA — Автоматизация
у нас есть группа
https://t.me/robotframework_ru
источник

AR

Andrey Romanchuk in QA — Автоматизация
И да. Огурец и робот всё-таки разные вещи. Огурец это просто прослойка, которая делает "человеко-читаемые" тесты, и я ещё ни разу не видел, чтобы она была реально полезна. Если у кого-то был другой опыт - раз за него)

Робот - набор библиотек из коробки, плюс по сути упрощённый ЯП для работы с этими библиотеками. Из-за чего приходится больше писать, но при этом меньше шанс сделать неправильно (потому что фич меньше).

Можно сделать то же самое на Java или Python, накидать фреймворк, накидать степы для часто используемой бизнес логики (ну или вообще для всего, для чего не лень), и их использовать. Просто тут оно уже есть из коробки (как правило)
источник

AR

Andrey Romanchuk in QA — Автоматизация
Спасибо! Не знал, кстати
источник

LY

Lev Yarushin in QA — Автоматизация
🍏🌸
Всем привет! Кто работает с Robot Framework- стоит ли его брать для в принципе несложного с точки зрения UI продукта? Какие минусы?
Альтернатива - самим написать фреймворк
Сложность не играет роли. На RF просто писать тесты для чего угодно. Минусы - потом не хочется писать ни на чем другом )
источник

S

Sergei in QA — Автоматизация
у подобных систем, которые предлагают писать тесты в текстовом режиме, есть проблема, что не ясно как в сценариях описывать работу с объектами, их свойствами, и жуткий синтаксис джейсон-либы выше тому пример)
источник

LY

Lev Yarushin in QA — Автоматизация
Sergei
у подобных систем, которые предлагают писать тесты в текстовом режиме, есть проблема, что не ясно как в сценариях описывать работу с объектами, их свойствами, и жуткий синтаксис джейсон-либы выше тому пример)
Что вы имеете в виду под "объектами"? Библиотеку можно написать свою, это очень просто.
Я вот например не использую эту либу.
Чем хорош RF, что его очень просто расширить и спрятать всю магию внутрь библиотеки/киворда
источник

S

Sergei in QA — Автоматизация
ну вот я смотрю пример:
Valid Login
   Open Browser To Login Page
   Input Username    demo
   Input Password    mode
   Submit Credentials
   Welcome Page Should Be Open
   [Teardown]    Close Browser
и demo & mode - это видимо текстовые значения, которые попадают в функцию шага. А если между шагами нужно обмениваться более сложными объектами типа

${virtual_machine} = Create virtual mashine with name ${name}
Extend memory in ${virtual_machine}
и т.п.
Да, можно в коде держать кэш, куда складывать объекты и потом доставать по текстовому ключу, но как-то это не очень. Проще писать код и не ломать голову еще одним dsl
источник

LY

Lev Yarushin in QA — Автоматизация
Sergei
ну вот я смотрю пример:
Valid Login
   Open Browser To Login Page
   Input Username    demo
   Input Password    mode
   Submit Credentials
   Welcome Page Should Be Open
   [Teardown]    Close Browser
и demo & mode - это видимо текстовые значения, которые попадают в функцию шага. А если между шагами нужно обмениваться более сложными объектами типа

${virtual_machine} = Create virtual mashine with name ${name}
Extend memory in ${virtual_machine}
и т.п.
Да, можно в коде держать кэш, куда складывать объекты и потом доставать по текстовому ключу, но как-то это не очень. Проще писать код и не ломать голову еще одним dsl
Да нет, можно создавать любые переменные с разным скоупом (Тест/Сьют/Глобальный)
Параметризация к примеру простая, можно вот так делать:
*** Settings ***
Test Template    Login with invalid credentials should fail

*** Test Cases ***                USERNAME         PASSWORD
Invalid User Name                 invalid          ${VALID PASSWORD}
Invalid Password                  ${VALID USER}    invalid
Invalid User Name and Password    invalid          invalid
Empty User Name                   ${EMPTY}         ${VALID PASSWORD}
Empty Password                    ${VALID USER}    ${EMPTY}
Empty User Name and Password      ${EMPTY}         ${EMPTY}
источник

🍏

🍏🌸 in QA — Автоматизация
А кстати, используя робот для юи, то интеграционные тесты вы просто на чистом питоне пишите? Или тоже робот использовать можно?
источник

ДЖ

Давид Женетль... in QA — Автоматизация
если интеграция проверяется визуально, то робот)
источник

B

Bola in QA — Автоматизация
Lev Yarushin
Да нет, можно создавать любые переменные с разным скоупом (Тест/Сьют/Глобальный)
Параметризация к примеру простая, можно вот так делать:
*** Settings ***
Test Template    Login with invalid credentials should fail

*** Test Cases ***                USERNAME         PASSWORD
Invalid User Name                 invalid          ${VALID PASSWORD}
Invalid Password                  ${VALID USER}    invalid
Invalid User Name and Password    invalid          invalid
Empty User Name                   ${EMPTY}         ${VALID PASSWORD}
Empty Password                    ${VALID USER}    ${EMPTY}
Empty User Name and Password      ${EMPTY}         ${EMPTY}
в итоге пишут тесты только автоматизаторы или все?
источник

LY

Lev Yarushin in QA — Автоматизация
🍏🌸
А кстати, используя робот для юи, то интеграционные тесты вы просто на чистом питоне пишите? Или тоже робот использовать можно?
Тоже. RF универсальный, general-purpose как пишут авторы. Nokia использовала у себя.
источник

LY

Lev Yarushin in QA — Автоматизация
Bola
в итоге пишут тесты только автоматизаторы или все?
По-разному. Но понять "где упало" не составляет труда никому.
источник