2017-04-19 38 views
0

choose fileロボットフレームワークキーワードを使用してファイルをuplodadedするシナリオを作成しています。テストが実行され、選択ファイルが実行されると、<input type="file">要素のロケータにヒットします。UIのページ下部に赤いボックスが表示されますが、ファイルはアップロードされません。ファイルを選択Robot Frameworkはファイルをアップロードしていません

enter image description here

イムわからないUIは、私のコードでエラーが発生した場合、アップロードを処理、または方法を知らない場合:

choose file xpath=/html/body/div/div/div/div[2]/div/div/div/div/div/div/div/div/div[1]/div[1]/div[2]/div/span ${dataDir}studentSAT.csv 

${dataDir}変数は、OSの完全なパスが含まれていますが、そのファイルはその場所にあります。検証のポイントとして、ファイル名を存在しないものに変更しようとしましたが、ロボットはデータが利用できないというエラーを投げます。

誰もこれまでに遭遇したことはありますか?

+0

私は添付ファイルが表示されません。 –

+0

ブライアン、ありがとう、数分前に気付いた!ちょうどスクリーンショットで更新されました。 –

+0

exatclyを使用しているブラウザ/ドライバはどれですか?私は最新のChrome WebdriverとChrome 57.xでChoose Fileキーワードを使用していました。 – ponkape

答えて

0

さらに掘り下げた後、この場合、<input type=file>要素は見えませんでした。左下の赤いボックスは、ブラウザに渡されたファイルを処理しようと試みたもので、表示されていない要素と対話する方法は知られていませんでした。 要素の表示プロパティを 'style.display = "none"から' style.display = "block" 'に変更すると、要素を画面に表示して選択することができました。

私は、.csvファイルを渡す前に 'javascriptを実行する'キーワードステップを実装しました。

コード:

execute javascript window.frames[0]; document.querySelector("input[name='file-uploader']").style.display = "block"; 

enter image description here

0

前回同じ問題が発生しました。キーワードアクションのシミュレーションや、ファイルアップロードダイアログボックスのファイルパスの入力、ファイルキーワードの選択の使用、ロボットフレームワークのAutoITライブラリなど、複数のことを試しました。

1)ローカルマシン上でテストを実行する場合は、pyautogui(Python用)とRobot Class(Java用)を使用し、Tab/Enter/Key Pressメソッドを使用してジョブを実行します。

2)RemoteMachine VMでテストを実行する場合は、RemoteMachine/VMでAutoITを設定し、AutoITライブラリでRobot Frameworkを使用してください。

+0

ご意見ありがとうございましたTanmay - 開発環境とヘッドレスVM環境の両方がLinuxシステムです - 最後に私がチェックしたところ、AutoITはワインプログラム内で実行されない限りLinuxには向いていませんでした。方法。 –

関連する問題