Size: a a a

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

2020 March 30

R(

Roman (rpwheeler) in QA — Автоматизация
Lev Yarushin
Вот ради этой функции не стоит тащить Sikuli. Достаточно OpenCV
https://docs.opencv.org/master/d4/dc6/tutorial_py_template_matching.html
Так я и не говорю что надо его тащить. Но оно ж опенсорс, можно посмотреть как оно это делает в сорцах
источник

VK

Vitaliy Kudryashov in QA — Автоматизация
Eugene Shulga 🚀
Привет, подскажите существует ли рабочий инструмент для неточного сранивания изображений (возможно на базе нейронок)?

Пример использования - у меня есть пачка заготовленных скриншотов валидного Web UI, при прогоне тест скрипт делает скришот текущей версии приложения и сравнивает ее с заготовкой, но на разных браузерах отличаются методы отрисовки  шрифтов и теней, потому прямой метод сравнения изображений может не сработать корректно
http://www.imagemagick.org/Usage/compare/ использовал его, но не сильно углубляясь
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Lev Yarushin
Sikuli это всё же про автоматизацию на основе картинок, а не регрессию.
Если позанудничать больше

1)  Sikuli это инструмент для работы по любым картинкам. Мелкие скрипты для сайтов или гибридов я на нём тоже писал.

2)  "регрессия" это общее понятие формальной школы тестирования. Для регрессии на сайтах Сикули применялся, например, для взаимодействия с Flash-контентом к которому не было другого доступа кроме как через изображения и клики.

3) А если чуть выйти из формальной школы -- является ли регрессией когда приложение под новой iOS начинает падать каждые два часа активного использования? ;)
источник
2020 March 31

ʚw

ʚоʞиdʎɔ wǝɯdɐ in QA — Автоматизация
полезная информация
источник

I

Irga in QA — Автоматизация
источник

LY

Lev Yarushin in QA — Автоматизация
Roman (rpwheeler)
Если позанудничать больше

1)  Sikuli это инструмент для работы по любым картинкам. Мелкие скрипты для сайтов или гибридов я на нём тоже писал.

2)  "регрессия" это общее понятие формальной школы тестирования. Для регрессии на сайтах Сикули применялся, например, для взаимодействия с Flash-контентом к которому не было другого доступа кроме как через изображения и клики.

3) А если чуть выйти из формальной школы -- является ли регрессией когда приложение под новой iOS начинает падать каждые два часа активного использования? ;)
Ну в данном случае нужна именно image-based regression. Скриншот сравнивается с эталоном и показываются отличия.
У Flash'а кстати была возможность автоматизации, genie который превратился потом в Automated UI Tester
источник

I

Ivan in QA — Автоматизация
Привет, как удалить из объекта String часть содержимого, например начиная с слова Дата и до знака /n?
источник

AP

Alexey Panashchenko in QA — Автоматизация
Ivan
Привет, как удалить из объекта String часть содержимого, например начиная с слова Дата и до знака /n?
источник

AP

Alexey Panashchenko in QA — Автоматизация
вот подойдет 8. Using StringUtils
источник

I

Ivan in QA — Автоматизация
ага ща гляну
источник

I

Ivan in QA — Автоматизация
во оно
источник

I

Ivan in QA — Автоматизация
text.substring(text.indexOf('(') + 1, text.indexOf(')')));
источник

I

Ivan in QA — Автоматизация
от такого то  знака или слова до такого то, спасибо
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Lev Yarushin
Ну в данном случае нужна именно image-based regression. Скриншот сравнивается с эталоном и показываются отличия.
У Flash'а кстати была возможность автоматизации, genie который превратился потом в Automated UI Tester
> У Flash'а кстати была возможность автоматизации, genie который превратился потом в Automated UI Tester

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

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

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

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

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

IS

Ivan Sandrátskii in QA — Автоматизация
Ivan
text.substring(text.indexOf('(') + 1, text.indexOf(')')));
шаткая дорожка
источник

I

Ivan in QA — Автоматизация
Ivan Sandrátskii
шаткая дорожка
а что иное предложишь?
источник

LY

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

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

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

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

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

(+) :) Я думаю что может быть определённанная польза в рассказах о том что Sikuli это не только IDE и не только "как Selenium IDE".
Инструмент автоматизации на AS3, нативней некуда. "Упаковка" для десктопа это всего лишь добавление flash-плеера.
Приведу аналогию про ваш совет с Sikuli:
- Здравствуйте, чем бы забить гвоздь?
- Возьмите отбойный молоток.
- Но он предназначен для другого?
- Но это же тоже молоток!
источник

IS

Ivan Sandrátskii in QA — Автоматизация
Ivan
а что иное предложишь?
я бы с регуляркой лучше уже сменил чем жить с надеждами на индекс оф
источник

AV

Alexei Vinogradov in QA — Автоматизация
Вот в 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а, кроме "не запускать так"?
источник

A

Arthur in QA — Автоматизация
mockать работу с файлами?
источник