Лучший способ чтения PDF, созданного с помощью Selenium WebDriver - PullRequest
0 голосов
/ 04 сентября 2018

добрый день,

Я застрял на последнем шаге теста, где после вставки ряда информации сайт генерирует руководство по оплате в формате PDF:

PDF generated at the end of the process

Мне нужно захватить информацию, выделенную зеленым цветом

Вот код, показывающий при проверке исходного кода:

<embed id="plugin" type="application/x-google-chrome-pdf" 

src="https://secweb.procergs.com.br/sng/javax.faces.resource/dynamiccontent.properties.xhtml?ln=primefaces&amp;v=5.3.17&amp;pfdrid=a9fc559a-bea3-4bc2-8234-5543c59715cc&amp;pfdrt=sc&amp;pfdrid_c=false&amp;uid=e483b7ac-35d3-429e-9c84-c5db516f1b8c" stream-url="blob:chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/3173c884-d121-48c6-b417-5972f907fe9e" headers="Cache-Control: no-cache, no-store, must-revalidate
Connection: Keep-Alive
Content-Encoding: gzip
Content-Language: pt-br
Content-Type: application/pdf; charset=UTF-8
Date: Mon, 03 Sep 2018 20:26:44 GMT
Expires: Mon, 8 Aug 1980 10:00:00 GMT
Keep-Alive: timeout=16, max=1021
Pragma: no-cache
Server: Apache
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-UA-Compatible: IE=Edge
" background-color="0xFF525659" top-toolbar-height="56" top-level-url="undefined">

По моей логике я даже не мог перейти от первого шага, который должен был бы идентифицировать существование PDF на экране через некоторый текст, который уникален для него:

if (driver0.getPageSource().contains("SECRETARIA DE MODERNIZAÇÃO ADMINISTRATIVA E DOS RECURSOS HUMANOS")) {
System.out.println("Located, we will capture the information ...");
} else {
System.out.println("Not found...");
}

Обновление темы не удалось с помощью библиотеки PDFUtil, я добавил ее в библиотеку, но она не работает

Вот мой основной тест:

try {
            PDFUtil pdfUtil = new PDFUtil();                
            pdfUtil.getText("C://64914273.pdf");
        } catch (Exception ex) {
            System.out.println(ex);
        }

Консоль просто ничего не возвращает

Спасибо тем, кто может мне помочь

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Я бы предположил, что это станет возможным только после того, как информация будет в PDF с использованием библиотеки OCR, но она часто очень хрупкая.

Что бы я сделал, это определил объем вашего теста, и если бы вы могли разделить ваши тесты.

Один (автоматический) тест, убедитесь, что информация, отправляемая при нажатии кнопки «Отправить», или что-либо еще, отправляемое браузером в HTTP-запросе, верна. Должен быть простой прокси, такой как BrowserMob, для перехвата запроса.

Второй (ручной) тест, убедитесь, что производитель PDF правильно отображает информацию при получении.

Поэтому ваш автоматический тест завершится, как только информация будет отправлена ​​и проверена, а ручной тест будет запущен только в том случае, если существует какой-либо риск, представленный производителю PDF

0 голосов
/ 04 сентября 2018

Один из вариантов - сохранить файл PDF и прочитать содержимое с использованием библиотек PDF и проанализировать текст, который вы ищете.

Взгляните на PDFUtil и примеры

http://www.testautomationguru.com/introducing-pdfutil-to-compare-pdf-files-extract-resources/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...