2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Testimでテスト対象システムのファイルをダウンロード/アップロードする

Posted at

今回の目的

今回は、Testimでテスト中にファイルのダウンロード(ダウンロードしたファイルをValidate)や、アップロードする手順を紹介します。

Testimは、Webの機能テスト自動化ソリューションですので、Windows Explorerの操作などは少し工夫が必要です。もし、Web外の操作が多い場合は、Tricentis Toscaもご検討ください。160以上のテクノロジーに対応した優れものの自動化ソリューションです。
https://qiita.com/Hiro_Tricentis/items/7e22017da49423e504f8

実装のアプローチ

正式ドキュメントは、以下を参照ください。
ファイルダウンロード:https://help.testim.io/docs/validate-download
ファイルアップロード:https://help.testim.io/docs/file-upload-step

ファイルダウンロードの実装イメージ

仮にダウンロードを実施した場合に、Windows Explorerが開きダウンロードの場所を聞かれますが、Explorerの操作は出来ないので、以下のようなアプローチをとります。

  1. Chromeの設定でExplorerを立ち上げずに決まった場所へファイルを保存するように設定
    (この設定で、ダウンロードリンクをクリックした際に所定の場所へ自動ダウンロードされる)
  2. 保存されたファイルをNode.jsを利用して確認(pdf-parseなどのパッケージを利用)

ファイルアップロードの実装イメージ

こちらもダウンロード同様にExplorer操作ができないので、以下のようなアプローチをとります。

  1. アップロードするファイルを予めTestim上に準備
  2. アップロードリンクを押下した際は、裏側では<input type="ファイル名">という操作を行うので、直接#1で準備したファイルを<input type=>に登録することでアップロードを実施する

事前設定

この処理はChromeのみで有効です。Chromeはversion 67以上が必要です。

  1. ダウンロード時にWindows Explorerが開かないように設定
    chrome://settings/downloadsを開き、以下を設定します。
    保存先: 自動で保存される先を登録
    ダウンロード前に各ファイルの保存場所を確認する:無効
    image.png

  2. PDFをブラウザで開かずに保存するように設定
    chrome://settings/content/pdfDocuments
    PDFをダウンロードする:有効
    image.png

  3. Testimからローカルファイルへのアクセス許可
    chrome://extensions/
    Testim Editorの詳細を開く
    image.png
    ファイルのURLへのアクセスを許可する:有効
    image.png

テストステップ作成 - ファイルダウンロード~PDFファイル確認

  1. Web画面でダウンロードを実施するステップまでレコーディング
  2. +ボタン -> Testim Predefined Stepを選択
  3. Actions -> Validate Downloadを選択
  4. ADD STEPにて、任意の名前で登録
    *Shared Stepにチェックを入れることで再利用できます
    image.png
  5. Validate Downloadを開き、以下のコードをコピーし登録します

以下のコードはサンプルコードとなります。適宜編集してご利用ください

image.png
6. 右ペインのPROPERTIESの+PARAMSをクリックし、引数を登録します。
*PARAMS名はimage.pngをクリックすることで変更できます。
*以下の引数を全て登録します

PARAMS名 種類 説明
pdf PACKAGE pdf-parse@latest 登録するパッケージ名。Node.jsのpdf-parseを利用
customPath JS "<ダウンロードされるファイルの保存ディレクトリ>" Windowsの場合は、” C:\\Users\\shuka\\Downloads“のように、¥をエスケープするように記載
timeoutMs JS 20000 ダウンロード待ちをする際のタイムアウト(ms)。数値なのでquotationしない
expectedText JS "検索する文字列" pdf内に文字列が存在する場合はテストを正常終了。文字検索は、部分一致(contain)で実行されます
expectedPages JS 1 どのページに検索文字列が存在するか指定。数値なのでquotationしない

例:
image.png
7. PROPERTIES内のOverride timeoutを60秒(60000)に変更
*node packageをインストールする為に、デフォルトの20秒以内に完了しない可能性あり
image.png
8. CLIの実行
テスト実行前にコマンドラインより、以下を実行します。

npm i -g @testim/testim-cli && testim connect

上記を実施しテストを実行することで、テスト内でPDFをダウンロードし、中身を確認することが可能となります
*なお自動でダウンロードしたファイル名は検知する仕組みとなっています。

テストステップ作成 - ファイルアップロード

基本的には、レコード操作で以下を登録します。

  1. Web上のアップロードボタンをクリック
  2. Explorerが立ち上がるので、ファイルを指定

上記を実行すると、以下のようなInput fileステップが自動的に作成されます
image.png

これは、Web上の<input type=>に対して、指定ファイルをアップロードするという操作です。
ですので、レコードした際の上記#1~#2の操作は不要となりますので、ステップから削除します。
*Web上でクリックを行い、Explorerが立ち上がってくる部分

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?