2つのブラウザでファイルアップロードを自動化しようとしていますが、ウィンドウ名はFirefoxでは「ファイルアップロード」、Chromeでは「開く」です。私は2つの異なるスクリプトを書いてはいけません。実行時にタイトルとファイル名を選択
ブラウザ間の互換性を実現するために、実行時にタイトルとファイル名を選択するにはどうすればよいですか?私はSeleniumとtestNGを使っていますが、AutoItはファイルアップロードのためだけです。
2つのブラウザでファイルアップロードを自動化しようとしていますが、ウィンドウ名はFirefoxでは「ファイルアップロード」、Chromeでは「開く」です。私は2つの異なるスクリプトを書いてはいけません。実行時にタイトルとファイル名を選択
ブラウザ間の互換性を実現するために、実行時にタイトルとファイル名を選択するにはどうすればよいですか?私はSeleniumとtestNGを使っていますが、AutoItはファイルアップロードのためだけです。
使用しているWebブラウザに基づいて変数を設定し、その変数を使用します。以下のコードはあなたを正しい道に導くはずです。
$FirefoxUpload = "File upload"
$ChromeUpload = "Open"
if WinExists($FirefoxUpload)
$UploadWindow = $FirefoxUpload
elseif WinExists($ChromeUpload)
$UploadWindow = $ChromeUpload
else
$UploadWindow = ""
endif
if $UploadWindow <> ""
ControlFocus($UploadWindow,"","Edit1")
ControlsetText($UploadWindow,"","Edit1","C://file.xls")
ControlClick($UploadWindow,"","Button1")
endif
ありがとうございましたdale私はこれが私の問題を解決するかもしれないと思う..また、私は別のファイルのために実行時変数をつけることができますか? –
はい。ユーザーがファイルを選択するようにしたい場合は、FileOpenDialogのヘルプを参照してください。あなたがリストを持っているなら、配列に関する助けを見てください。あるいは、テキストファイルにファイルのリストがある場合は、AutoItヘルプのFileOpen、FileRead、...エントリをチェックしてください。 –
コードNehaを共有できますか? –
firefox: - ControlFocus( "ファイルのアップロード"、 ""、 "Edit1") ControlsetText( "File Upload"、 "Edit1"、 "C://file.xls") ControlClick( "ファイルのアップロード"、"、 "Button1") クロム: - ControlFocus( "Open"、 "Edit") ControlsetText( "Open"、 "Edit1"、 "C://anotherfile.xls ") ControlClick(" Open "、" "Button1") タイトルが異なるブラウザで変更されるため、テストが失敗します。実行時にタイトルを受け入れるautoiTスクリプトを作成したいと考えています。実行時にもファイル名を指定します??? –
@Neha Soni、AutoItを使う必要はありません。 Seleniumは ''要素で呼び出された 'sendKeys'を使ってファイルのアップロードをサポートしています。 –