Size: a a a

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

2019 October 22

VS

Vladislava Soboleva in QA — Автоматизация
Boris Tupik
Можно посмотреть в сторону Job DSL
ок. спасибо почитаю
источник

MK

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

AV

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

AV

Alexei Vinogradov in QA — Автоматизация
кстати даже в селениде с PO для такого случая кажется нет простого стандартного решения
источник

AV

Alexei Vinogradov in QA — Автоматизация
то есть драйвер по идее надо передавать, как ни крути
источник

AV

Alexei Vinogradov in QA — Автоматизация
new ChatPage(driver1).method1();
new ChatPage(driver1).method2();
new ChatPage(driver2).method2();
new ChatPage(driver1).method3();


вот так как-то у меня было бы
источник

AV

Alexei Vinogradov in QA — Автоматизация
чейнить - так точно еще больше лишнего геморра)
источник

AB

Alexei Barantsev in QA — Автоматизация
Chat chat = new Chat(driver1, driver2);
chat.sideA().sendMessage("xxx");
chat.sideB().shouldReceiveMessage("xxx");
вот примерно так должен выглядеть семантически осмысленный тест
источник

AB

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

AV

Alexei Vinogradov in QA — Автоматизация
Alexei Barantsev
Chat chat = new Chat(driver1, driver2);
chat.sideA().sendMessage("xxx");
chat.sideB().shouldReceiveMessage("xxx");
вот примерно так должен выглядеть семантически осмысленный тест
выглядит хорошо
источник

AV

Alexei Vinogradov in QA — Автоматизация
Мой вариант был бы примерно таким:

new Chat(sideA).sendMessage("xxx");
new Chat(sideB).lastReceivedMessage.shouldHave(exactText("xxx"));
источник

AV

Alexei Vinogradov in QA — Автоматизация
Кстати твоё экспертное мнение, в тесте ты предпочтёшь:

main.openSettings();
settings.openSubsettings();
subsettings.openSubSubsettings();
subsubsetting.turnOnFeature();

или

app.turnOnFeature();

?
источник

AB

Alexei Barantsev in QA — Автоматизация
смотря сколько фич :)
источник

AV

Alexei Vinogradov in QA — Автоматизация
допустим одна
источник

AB

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

AM

Alina Matveeva in QA — Автоматизация
всем привет) есть способ получить кол-во элементов списка без реализации скролла экрана? в данном случае есть поиск и его результаты, которые нужно посчитать.
java, appium, junit) спасибо)
источник

AV

Alexei Vinogradov in QA — Автоматизация
про аппиум можно в @appium_ru спросить, селениум в браузере "видит" всю страницу без скролла.
источник

EB

Evgenii B in QA — Автоматизация
Alexei Vinogradov
еще раз прочитал код - всё читается, и всё понятно.
Код говно. Потому что пишется что-то вроде:

For resolution in [h720, h1080, h1440, h2160, h3072]:
   app.upload_cover()
   app.upload_photo(resolution)
   app.clear()
   app.save()
   expect(condition)  # delayed assert
verify()  # assert

И волосы становятся гладкими и шелковистыми
источник

EB

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

AM

Alina Matveeva in QA — Автоматизация
почему нельзя вызвать метод getAttribute внутри цикла?( я новичок в java
источник