自動化テストのためにkatalonstudioを使用してファイルをアップロードしようとしています(Webテスト。[参照]ボタンをクリックするとウィンドウポップアップが開きますが、写真を選択したり、特定のパスに移動したりできません。コマンドが見つかりましたWebUI.UploadFile()しかし、私はそれを正しく使用していないと思います。
誰かがこのようなものを持っていたら、あなたの経験を共有してください。カタロンでこれを行うにはどうすればよいですか?
このソリューションを試してみることができます:
import Java.awt.Robot import Java.awt.Toolkit import Java.awt.datatransfer.StringSelection import Java.awt.event.KeyEvent import com.kms.katalon.core.annotation.Keyword import com.kms.katalon.core.testobject.TestObject import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI public class WebUICustomKeyword { @Keyword def uploadFile(TestObject to, String filePath) { WebUI.click(to) StringSelection ss = new StringSelection(filePath); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null); Robot robot = new Robot(); robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); } }
CustomKeywords.'com.katalon.WebUICustomKeyword.uploadFile'(findTestObject('BrowseButton'), 'yourFileHere')
まず、ファイルアップロードボタンまたはリンクへのキーワードを次のように作成します。“ Object Repository/Page_Add_Document_To_Current_Account/lnk_choose_a_file”
次に、クラスuploadNewFile {のように、アップロードを処理するメソッド呼び出しを作成します。
/ **このメソッドはファイルのアップロードに使用されます*/@Keyword def uploadFileToTest(TestObject to、String filePath){WebUI.click(to)WebUI.delay(3)//この遅延を追加してコードを指定することをお勧めしますStringSelectionを実行する時間ss = new StringSelection(filePath)Toolkit.getDefaultToolkit()。getSystemClipboard()。setContents(ss、null)WebUI.delay(2)//上記と同じ理由
Robot robot = new Robot()robot.keyPress(KeyEvent.VK_ENTER)robot.keyRelease(KeyEvent.VK_ENTER); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); }}
次に、コード内で必要な場所でメソッドを呼び出すと、次のように表示されます。*CustomKeywords。'methodCalls.uploadNewFile.uploadFileToTest '(findTestObject(** null)、' ')** **
次に、上記3のnullを、上記1で作成したキーワードに置き換えてから、アップロードするファイルのファイルパスを上記3の「」に挿入します。
最終的なステートメントは次のようになります:CustomKeywords.'methodCalls.uploadNewFile.uploadFileToTest '(findTestObject(' Object Repository/Page_Add_Document_To_Current_Account/lnk_choose_a_file ')、' C:\ Users \…\Documents \…\…\ TestFile.txt ')
ではごきげんよう