Size: a a a

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

2020 March 31

ДВ

Диана Верикова (Кудрявцева) in QA — Автоматизация
указывать разные директории результатов?
источник

ES

Eugene Stogniy in QA — Автоматизация
Roman (rpwheeler)
> У Flash'а кстати была возможность автоматизации, genie который превратился потом в Automated UI Tester

1) Отдельные решения могут с чем-то не интегрироваться. Sikuli, как опенсорс, можно использовать вместе с другими Java решениями {что и происходило}.

2) Там было две упаковки флэша: одна сайтовая, а вторая десктопная, где флэш был встроен в виндовый клиент. Код на Sikuli мог работать и с одним и с другим.  Инструмент автоматизации только Flash и только Web, наверное, не мог.

Поэтому люди которые выбирали решение включили Sikuli.

А также (но уже по другим применениям) его можно было компилировать в исполняемые файлы определённого образца, запускать из командной строки хоть на маке, и помимо поиска по картинкам манипулировать приложениями на экране (вызывать на передний план, например).

(+) :) Я думаю что может быть определённанная польза в рассказах о том что Sikuli это не только IDE и не только "как Selenium IDE".
ranorex отлично тестил Флеш - только зачем вспоминать об Флеше ....
источник

R(

Roman (rpwheeler) in QA — Автоматизация
У грэдла есть опции командной строки на рабочую директорию, например. Может их попробовать?
источник

AV

Alexei Vinogradov in QA — Автоматизация
Диана Верикова (Кудрявцева)
указывать разные директории результатов?
вот, это идея.

Кстати походу, что gradle clean test вообще нельзя запускать, потому что один клин может стереть файлы другого процесса.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Roman (rpwheeler)
У грэдла есть опции командной строки на рабочую директорию, например. Может их попробовать?
это наверное самое эффективное - то есть вместо build - build_chrome/build_firefox ? тогда и clean даже можно будет запускать
источник

ДВ

Диана Верикова (Кудрявцева) in QA — Автоматизация
можно отдельным стейджем clean -U compile, а потом тесты без clean в параллель
источник

А

Алексей in QA — Автоматизация
Alexei Vinogradov
Вот в Jenkins сейчас модны пайплайны с параллельным запуском тасков. Запускаем тест например так (псеводкод)

 parallel { [
  sh "gradle -Dselenide.browser=chrome test,
  sh "gradle -Dselenide.browser=firefox test]
}

Это всё падает, но не из-за каких-то проблем с параллельностью в селениде, а из-за того, что оба таска запускаются в одном директории и тупо конкурируют за запись в одни и те же логи для unit-test и для allure. Типичный фейл:
 Could not write XML test results for Test1 to file

Есть какие мысли про запуск тестов в рамках параллельных пайплайнов Jenkinsа, кроме "не запускать так"?
а зачем запускать одинаковые тесты под разные браузеры в одной и той же рабочей директории? Если честно не понимаю проблемы. Каждый таск запускается в своей рабочей папке, туда и грузит резалты, на выходе два комплекта резалтов(для каждого браузера).
Если надо итоговый резалт для теста на основании данных от двух тасок (типа фэйл если хоть в одном браузере упало) - следующим таском скрипт, который смержит резалты, или паралелить на уровне фреймворка (это ж джава, никаких проблем)
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Eugene Stogniy
ranorex отлично тестил Флеш - только зачем вспоминать об Флеше ....
Это пример класса задач -- когда залезть чему-то внутрь сложно или невозможно, и проще сделать "по картинкам".

Гемблинг, казино и прочее из нашей жизни не пропали, и вот иногда залетает задача воспроизвести дефект который вылезает на специфическом слоте при специфической бонусной игре.

Раньше игра была сделана на флеше, сейчас она может быть сделана через тот самый канвас, про который тоже недавно спрашивали, но вот в моей практической ситуации мне было проще за 5 минут написать скрипт на Сикули который крутил этот слот пока не вылезал бонус. Жалась картинка запуска, потом таймер, и проверка по картинке же что пропал "нормальный" экран (значит появился какой-то бонусный).
источник

AV

Alexei Vinogradov in QA — Автоматизация
Алексей
а зачем запускать одинаковые тесты под разные браузеры в одной и той же рабочей директории? Если честно не понимаю проблемы. Каждый таск запускается в своей рабочей папке, туда и грузит резалты, на выходе два комплекта резалтов(для каждого браузера).
Если надо итоговый резалт для теста на основании данных от двух тасок (типа фэйл если хоть в одном браузере упало) - следующим таском скрипт, который смержит резалты, или паралелить на уровне фреймворка (это ж джава, никаких проблем)
ты действительно не понял проблемы. По умолчанию они запускаются в одной папке, так работает parallel() в Jenkins.
источник

А

Алексей in QA — Автоматизация
Alexei Vinogradov
ты действительно не понял проблемы. По умолчанию они запускаются в одной папке, так работает parallel() в Jenkins.
ну да, если явно не задавать рабочую директорию - они запустятся в общей. Иначе откуда им брать эти саб пути? Все логично. Хочешь разные папки - задай разные папки.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Roman (rpwheeler)
У грэдла есть опции командной строки на рабочую директорию, например. Может их попробовать?
ура, получилось с gradle -PbuildDir=build-firefox/chrome
Спасибо!
источник

AV

Alexei Vinogradov in QA — Автоматизация
Следующая проблема уже чисто аллюровская: оба рана группируются вместе как retry - пойду туда
источник

И

Игорь in QA — Автоматизация
Всем привет! Подскажите, пожалуйста, как в стеке WebDriver + Java проверить имя загружаемого на компьютер файла, желательно вместе с его форматом. Спасибо.
источник

А

Алексей in QA — Автоматизация
Игорь
Всем привет! Подскажите, пожалуйста, как в стеке WebDriver + Java проверить имя загружаемого на компьютер файла, желательно вместе с его форматом. Спасибо.
загрузил файл, пошел в папку, чекнул расширение, открыл файл, проверил формат
источник

B

Bola in QA — Автоматизация
расширенный вариант - указал браузеру куда сохранять файл, потом дальше по списку
источник

И

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

AS

Andrei Solntsev in QA — Автоматизация
Игорь
Всем привет! Подскажите, пожалуйста, как в стеке WebDriver + Java проверить имя загружаемого на компьютер файла, желательно вместе с его форматом. Спасибо.
А в селениде ещё проще:

File report = $(“#downloadReport”).download(withName(“report123.pdf”));
источник

И

Игорь in QA — Автоматизация
Bola
расширенный вариант - указал браузеру куда сохранять файл, потом дальше по списку
Как вариант, спасибо
источник

И

Игорь in QA — Автоматизация
Andrei Solntsev
А в селениде ещё проще:

File report = $(“#downloadReport”).download(withName(“report123.pdf”));
Селенид не изучал, но сохраню на потом, благодарю
источник

AS

Andrei Solntsev in QA — Автоматизация
Да там изучать-то нечего :)
https://ru.selenide.org/quick-start.html
источник