Size: a a a

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

2020 October 26

F

Fagor in QA — Автоматизация
Andrew Popenko
Привет. Тестируете ли вы пдф файлы? Валидируете структуру или только проверяете текст? Может таблицы или какие другие слоя. У меня бэкенд и фронт умеют генерировать пдф файлы. Те что генеряться на бэкенд имеют всегда одинаковую структуру фронт имеет n-ое количество вариаций... Есть ли смысл тестить, в таком случае то, что генерит бек. По факту содержание статическое только определенные поля могут меняться...
Пдф это размещение символов(char) по сетке. Отсюда и начинается, что и как вы хотите проверять. Требования то разные.
источник

F

Fagor in QA — Автоматизация
А вам бы проверять утилиту преобразования или передачи. А не pdf сам. Нет в нем полей, если это не расширение интерактивных полей, в чем я сомневаюсь.
источник

LY

Lev Yarushin in QA — Автоматизация
iBljad
Так-то понятно, что опосредованно в 99% случаев всё должно быть хорошо, но, когда вдруг банковский договор окажется некорректным/недействительным по причине "мы положились на качество сторонней библиотеки и ещё рассчитывали на классы эквивалентности", думаю, мало кого это устроит
банки покупают спец-софт для конвертации, а не опенсорс какой, там в случае глюков такие деньги юристы отсудят, что "мама дорогая"
источник

AP

Andrew Popenko in QA — Автоматизация
Fagor
А вам бы проверять утилиту преобразования или передачи. А не pdf сам. Нет в нем полей, если это не расширение интерактивных полей, в чем я сомневаюсь.
хм, похоже мне нужно углубиться в вопрос...
источник

F

Fagor in QA — Автоматизация
iBljad
Но нет гарантии, что в пдф всё нормально приедет
Все зависит от того, как передано. Дальше уже все. Pdf формат закрытый, и с этим ничего не сделать. Придет может и нормально, а вот что он там будет рисовать, кроме как сверкой по символьно, в сетке страницы не проверить. Но не видел что бы вообще кто либо таким занимался, да и потребности не вижу, посимвольной сверки расположения
источник

SM

Sewa Makhinya in QA — Автоматизация
Andrew Popenko
Привет. Тестируете ли вы пдф файлы? Валидируете структуру или только проверяете текст? Может таблицы или какие другие слоя. У меня бэкенд и фронт умеют генерировать пдф файлы. Те что генеряться на бэкенд имеют всегда одинаковую структуру фронт имеет n-ое количество вариаций... Есть ли смысл тестить, в таком случае то, что генерит бек. По факту содержание статическое только определенные поля могут меняться...
Перевести в txt и grep'нуть по строкам - хватает в 99% случаев
источник

EY

Evgeniy Yakovlev in QA — Автоматизация
намного проще через сравнение картинок сделать.
источник

SM

Sewa Makhinya in QA — Автоматизация
таки Вы хотите нам сказать, что сравнение картинок проще, чем grep?
источник

SM

Sewa Makhinya in QA — Автоматизация
к тому же, в случае картинок мы будем привязаны ко входным данным и формату
источник

ТФ

Татьяна Федотова... in QA — Автоматизация
угу. особенно с параметризацией и на разных окружениях
источник

SM

Sewa Makhinya in QA — Автоматизация
а так берём pdfbox и скармливаем ему наш pdf и просим перевести в txt
тот факт, что оно отрендерилось pdfbox'ом перед переводом в txt, сам по себе является проверкой валидности pdf
источник

SM

Sewa Makhinya in QA — Автоматизация
то есть получается проверка двух кейсов
1. pdf валиден
2. pdf содержит текст, сгенерированный во время теста
источник

SM

Sewa Makhinya in QA — Автоматизация
обычно как получается pdf? берётся заранее сдизайнеренный руками шаблон и на него полувелосипедной утилиткой рисуются нужные нам данные
основной риск состоит в том, что наш полувелосипед поломает pdf
источник

М

Муслим in QA — Автоматизация
Привет всем.
Selenide.Drag-n-Drop, делаю
element1.dragAndDropTo(element2);
затем вижу на UI, как вебдрайвер кликает и  холдит element1, затем я долго жду, ничего не происходит , и мне вовзвращается element1, элемент в итоге не перетащился
Потом пробую:
actions().clickAndHold(element1).build().perform();
actions().moveToElement(element2).release(element1).build().perform();
тоже ничего не происходит
Кто-то сталкивался? как обходили?
источник

ДХ

Дмитрий Ходаковский... in QA — Автоматизация
Муслим
Привет всем.
Selenide.Drag-n-Drop, делаю
element1.dragAndDropTo(element2);
затем вижу на UI, как вебдрайвер кликает и  холдит element1, затем я долго жду, ничего не происходит , и мне вовзвращается element1, элемент в итоге не перетащился
Потом пробую:
actions().clickAndHold(element1).build().perform();
actions().moveToElement(element2).release(element1).build().perform();
тоже ничего не происходит
Кто-то сталкивался? как обходили?
Не давно с такой проблемой сталкивались с HTML 5.
Там в селениуме даже баг на это дело есть. Но мы решили это дополнительным сдвигом.

1. Захватываешь элемент
2. Делаешь сдвиг небольшой сдвиг элемента на 10
3. Двигаешь его куда нужно
источник

М

Муслим in QA — Автоматизация
Дмитрий Ходаковский
Не давно с такой проблемой сталкивались с HTML 5.
Там в селениуме даже баг на это дело есть. Но мы решили это дополнительным сдвигом.

1. Захватываешь элемент
2. Делаешь сдвиг небольшой сдвиг элемента на 10
3. Двигаешь его куда нужно
используя moveToElement ?
источник

ДХ

Дмитрий Ходаковский... in QA — Автоматизация
Муслим
используя moveToElement ?
Ага, через него
источник

М

Муслим in QA — Автоматизация
щас попробую
источник

AS

Andrei Solntsev in QA — Автоматизация
Муслим
Привет всем.
Selenide.Drag-n-Drop, делаю
element1.dragAndDropTo(element2);
затем вижу на UI, как вебдрайвер кликает и  холдит element1, затем я долго жду, ничего не происходит , и мне вовзвращается element1, элемент в итоге не перетащился
Потом пробую:
actions().clickAndHold(element1).build().perform();
actions().moveToElement(element2).release(element1).build().perform();
тоже ничего не происходит
Кто-то сталкивался? как обходили?
Известная проблема. У меня drag and drop ни разу не заработал. У нас даже есть issue на эту тему: https://github.com/selenide/selenide/issues/1110
источник

М

Муслим in QA — Автоматизация
Дмитрий Ходаковский
Ага, через него
Что-то даже на шаге 2 у меня элемент не сдвинулся:
actions().moveToElement(status).clickAndHold().moveToElement(status , 250 , 10).build().perform();
actions().release().build().perform();

при этом статус является:
<div class="jss2336" draggable="true">Статус</div>
источник