Size: a a a

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

2019 October 22

AV

Alexei Vinogradov in QA — Автоматизация
Alexei Barantsev
я предлагаю просто методы для начала сгруппировать, то есть сделать более крупные методы, в которые спрятать вызовы серии более мелких. тем самым устраняется дублирование. а потом эти более мелкие методы выделить в отдельный вспомогательный класс. объект этого класса можно будет использовать и в других местах
ну это скорее конкретно под тот, код что товарищ присылал. Да это я согласен. Особенно если это не единственное место, где это повторение.

А если единственное - то я не вижу особенного криминала и в повторении)
источник

AB

Alexei Barantsev in QA — Автоматизация
почему-то я уверен, что не единственное :)
источник

К

Капибара in QA — Автоматизация
На самом деле единственное, по сути этот метод уже вынесен и его давно не такали и забыли, но всё же лучше его то же разделить
источник

AB

Alexei Barantsev in QA — Автоматизация
если единственное — тогда и правда можно не заморачиваться. работает — не трогай
источник

К

Капибара in QA — Автоматизация
Проблема ещё с несколькими driver поэтому я не стал делить на объекты, вот два варианта одного теста
@Test
public void TwoUserRecording()
{
   // user 1 actions
   UserModel u1 = GenerateAndRegistAndLoginUser(driver);

   //user 2 actions
   UserModel u2 = GenerateAndRegistAndLoginUser(n2driver);

   // user 1 actions
   new ChatPage(driver)
           .isInitialized()
           .EnterSearch(u2.username)
           .TapSearchResult();

   new DialogPage(driver)
           .TapYes();

   new ChatPage(driver)
           .EnterText("message")
           .TapSend();

   //user 2 actions
   new ChatPage(n2driver)
           .isInitialized()
           .TapDirectChannel(u1.username;)
           .EnterText("message")
           .TapSend()
           .TapCallIcon();

   // user 1 actions
   new ChatPage(driver)
           .TapAnswer();

   new CallPage(driver)
           .isInitialized()
           .TapStartRecording();

   new DialogPage(driver)
           .TapOk();
}
источник

К

Капибара in QA — Автоматизация
а вот с объектами
@Test
public void TwoUserRecording()
{
   // user 1 actions
   UserModel u1 = GenerateAndRegistAndLoginUser(driver);

   //user 2 actions
   UserModel u2 = GenerateAndRegistAndLoginUser(n2driver);

   // user 1 actions
   ChatPage chatPage1 = new ChatPage(driver);
   DialogPage dialogPage1 = new DialogPage(driver);
   CallPage callPage1 = new CallPage(driver);

   chatPage1.isInitialized();
   chatPage1.EnterSearch(u2.username);
   chatPage1.TapSearchResult();

   dialogPage1.TapYes();

   chatPage1.EnterText("message");
   chatPage1.TapSend();

   //user 2 actions
   ChatPage chatPage2 = new ChatPage(n2driver);
   DialogPage dialogPage2 = new DialogPage(n2driver);
   CallPage callPage2 = new CallPage(n2driver);

   callPage2.isInitialized();
   callPage2.TapDirectChannel(u1.username;);
   callPage2.EnterText("message");
   callPage2.TapSend();
   callPage2.TapCallIcon();

   // user 1 actions
   chatPage1.TapAnswer();

   callPage1.isInitialized()
   callPage1.TapStartRecording();

   dialogPage1.TapOk();
}
источник

AB

Alexei Barantsev in QA — Автоматизация
ну вот! а говорите что единственное :)
источник

AB

Alexei Barantsev in QA — Автоматизация
я таки прав
источник

MK

Maksim Kanin in QA — Автоматизация
Сорян, но название методов с большой буквы - боль =(
источник

AB

Alexei Barantsev in QA — Автоматизация
а, тут два разных драйвера, сорри, это несколько меняет дело
источник

К

Капибара in QA — Автоматизация
Alexei Barantsev
ну вот! а говорите что единственное :)
я думал вы о конкретно той странице, почти все тесты описаны, как в 1 варианте, который я только что скинул
источник

К

Капибара in QA — Автоматизация
Maksim Kanin
Сорян, но название методов с большой буквы - боль =(
на самом деле оно в перемешку, у каждой всегда есть один isInitialized()
источник

MK

Maksim Kanin in QA — Автоматизация
Так я и говорю, что не надо так делать =)
источник

AT

Alexander Tsybulko in QA — Автоматизация
может кто сталкивался, есть батч скрипты, проверяющие наличие папок, файлов и т.д, выводят резалты строками в лог, надо прикрутить какой-нибудь тест  ранер, плюс репортинг
можно что-то придумать?
типа nodejs +mocha например думал, или есть варианты?
источник

К

Капибара in QA — Автоматизация
@alexejv так если есть хотя бы 2 драйвера, то тесты будут выглядить, как я скинул выше, это и есть best practice? Или там там можно chatPage1 chatPage2 по другому именовать?
источник

VS

Vladislava Soboleva in QA — Автоматизация
Всем привет) Мне нужно придумать как будут реализовываться тесты  в jenkins. Можно ли в одном джобе сделать параметризированную сборку и так, чтобы для каждого теста был свой путь для allure отчетов. То есть например я запускаю сборку с параметром 1 и аллюр генерирует результаты в папке ../1/allure, для сборки 2 в папке ../2/.  Это реально? Или может возникнуть "каша"?
источник

A

Andrey in QA — Автоматизация
Vladislava Soboleva
Всем привет) Мне нужно придумать как будут реализовываться тесты  в jenkins. Можно ли в одном джобе сделать параметризированную сборку и так, чтобы для каждого теста был свой путь для allure отчетов. То есть например я запускаю сборку с параметром 1 и аллюр генерирует результаты в папке ../1/allure, для сборки 2 в папке ../2/.  Это реально? Или может возникнуть "каша"?
Привет. Реально, делал
источник

MK

Mem Kekovich in QA — Автоматизация
Vladislava Soboleva
Всем привет) Мне нужно придумать как будут реализовываться тесты  в jenkins. Можно ли в одном джобе сделать параметризированную сборку и так, чтобы для каждого теста был свой путь для allure отчетов. То есть например я запускаю сборку с параметром 1 и аллюр генерирует результаты в папке ../1/allure, для сборки 2 в папке ../2/.  Это реально? Или может возникнуть "каша"?
причем тут параметризированная сборка и аллюр? запустили с параметром А - билд держит ссылку на отчет с А
с Б = тоже самое
источник

BT

Boris Tupik in QA — Автоматизация
Vladislava Soboleva
Всем привет) Мне нужно придумать как будут реализовываться тесты  в jenkins. Можно ли в одном джобе сделать параметризированную сборку и так, чтобы для каждого теста был свой путь для allure отчетов. То есть например я запускаю сборку с параметром 1 и аллюр генерирует результаты в папке ../1/allure, для сборки 2 в папке ../2/.  Это реально? Или может возникнуть "каша"?
Можно посмотреть в сторону Job DSL
источник

VS

Vladislava Soboleva in QA — Автоматизация
Дело в том что при генерации нового отчета данные старого подгружаются, и в allure при прогоне A потом Б  отображаются данные отчета Аи Б
источник