0
0

[T-DASH] PDFの情報(文字列)を取り出す

Posted at

Outline

帳票出力したりするサービスでは、PDFがよく用いられる。
そのPDFをT-DASHにて検証したい。

尚、T-DASHでPDFを検証するには以下のような条件がある

  • PDFをローカルにダウンロードできる
  • PDFに含まれる文字列を文字として認識できる(範囲指定して文字をとれるかどうか)
  • 検証できるのは文字列のみである(表示イメージを検証したい場合は、画像比較でおこなってください)

技術的な情報

RPA.PDF のライブラリを使用します。

robotframeworkの命令はシンプルで、以下のkeywordsを用いる。

${text} =  Get Text From PDF  $PDF_FILE_PATH

これで得られる結果は、json形式になります。

例えば、以下のような3ページのpdfの場合

image.png

${text} は、以下のようなjsonが得られます。

{1: 'T-DASHManual', 2: 'How to use PDF by robot framework• pip install rpaframework-pdf\n• Keywords Get Text From PDF', 3: 'Thanks'}

この場合、情報が多いため、ページを指定することができます。

${text[2]} : このように [] を用いてページ番号を指定すると、指定したテキストを取得することができます。

How to use PDF by robot framework• pip install rpaframework-pdf• Keywords Get Text From PDF

T-DASHの手順

カスタム動作

以下設定内容を PDF.yamlのファイル名で保存する

ACT-CAT-CUSTOM-64f80d83-a7c0-4f8f-8a61-da2485109d1a:
  action_category_name: PDF
  icon: ''
  color: '#fa1b86'
  custom_data:
    file_name: PDF
    pip_list:
    - rpaframework-pdf
    library_list: []
  actions:
    ACT-CUSTOM-2c53fffe-8cb1-421e-80f2-3f9ce3920c9e:
      action_name: PDFの文字列抽出
      action_type: operation
      action_format: パス「設定値1」のPDFを読み出し、「設定値2」ページの文字列を変数「設定値3」に入れる
      action_note: ''
      action_args:
      - value1
      - value2
      - value3
      action_def:
      - - '${text} = '
        - Get Text From PDF
        - ${value1}
      - - Log
        - ${text[${value2}]}
      - - Set Suite Variable
        - ${${value3}}
        - ${text[${value2}]}

次に、作成された PDF.yamlをT-DASHの動作定義 -> カスタム動作 -> カスタム動作をインポート にてインポートする

ライブラリを追加をクリックし、ライブラリの情報を確認する。
今回、MySQLを使うため、"pip install rpaframework-pdf" となっています。

image.png

image.png

カスタム動作の説明になります

この動作を呼び出すの引数の説明です

引数 説明
設定値1 PDFのパスを設定します
設定値2 PDFの読み出したいページ番号を指定します
設定値3 読み出した情報を入力する変数名を指定します

スクリプト

今回のテストステップは、単純にローカルにあるPDFを読み出し、2ページ目の情報を変数 ${pdf_string} に代入するものとします。
後続の処理で、変数 ${pdf_string}を用いて文字列検証などに使ってください。

image.png

テスト実行結果

詳細ログを確認していただくとわかるように、PDF2ページ目の文字列情報が変数${pdf_string} に代入されていることが確認できると思います。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0