前回の記事では、【自動化テスト入門⑦】Katalon StudioでCall Test CaseとTest Listenerで共通処理(ログインなど)を自動化する方法を紹介しました。
Katalon Studioには、Webページの操作や検証を簡単に行える「WebUIキーワード」が数多く用意されています。
テストケースを作成していると、毎回同じようなキーワードを使用する場面が多くあります。そのため、よく使うキーワードを覚えておくだけでも、テスト作成の効率が大きく向上します。
今回は、私が実際によく利用しているWebUIキーワードをまとめて紹介します。
よく使うWebUIキーワード一覧
Katalon StudioにはさまざまなWebUIキーワードが用意されていますが、その中でも特によく使用するキーワードをまとめました。
私の場合は、ログイン処理や要素の存在確認、クリック可能かどうかの確認などを行うことが多いため、今回は実際によく利用しているキーワードを中心に紹介します。
| キーワード | コード例 | 用途 |
|---|---|---|
| openBrowser | WebUI.openBrowser('') | ブラウザを起動 |
| navigateToUrl | WebUI.navigateToUrl('https://example.com') | 指定URLへアクセス |
| click | WebUI.click(findTestObject(...)) | ボタン・リンクをクリック |
| setText | WebUI.setText(findTestObject(...), 'text') | テキスト入力 |
| getText | WebUI.getText(...) | テキスト取得 |
| getAttribute | WebUI.getAttribute(...,'value') | 属性取得 |
| waitForElementVisible | WebUI.waitForElementVisible(...,10) | 要素表示待ち |
| waitForElementClickable | WebUI.waitForElementClickable(...,10) | クリック可能になるまで待機 |
| verifyElementPresent | WebUI.verifyElementPresent(...,10) | 要素存在確認 |
| verifyElementVisible | WebUI.verifyElementVisible(...) | 表示確認 |
| scrollToElement | WebUI.scrollToElement(...,10) | 指定位置までスクロール |
| getUrl | WebUI.getUrl() | 現在のURL取得 |
| takeScreenshot | WebUI.takeScreenshot() | スクリーンショット保存 |
| executeJavaScript | WebUI.executeJavaScript(...) | JavaScript実行 |
| closeBrowser | WebUI.closeBrowser() | ブラウザ終了 |
よく使うキーワード
1. WebUI.click()
もっとも使用頻度の高いキーワードです。
ログインボタンや保存ボタンなど、クリックできる要素を操作するときに使用します。
WebUI.click(findTestObject('Page_Login/button_Login'))
2. WebUI.setText()
入力フォームへ文字列を入力します。
WebUI.setText(
findTestObject('Page_Login/input_Email'),
'test@example.com'
)
ログインIDや検索ボックスなどで頻繁に利用します。
3. WebUI.waitForElementVisible()
画面表示が完了するまで待機します。
WebUI.waitForElementVisible(
findTestObject('Page_Home/menu'),
10
)
Ajaxや画面遷移後では特によく利用します。

waitForElementNotVisible()は、要素がDOM内に存在していても、画面上で非表示になるまで待機します。
4. WebUI.verifyElementPresent()
要素が存在するか確認します。
WebUI.verifyElementPresent(
findTestObject('Page_Home/title'),
10
)

verifyElementNotPresent()は、要素がDOM内にも存在しないことを確認します。
5. WebUI.getText()
画面に表示されている文字列を取得します。
String title =
WebUI.getText(findTestObject('Page_Home/title'))
取得した値を比較したり、ログへ出力したりできます。
6. WebUI.takeScreenshot()
画面を画像として保存します。
WebUI.takeScreenshot()
エラー発生時の原因調査にも便利です。
実際によく使う組み合わせ
ログインテストでは、次のような流れになることが多いです。
WebUI.openBrowser('')<br><br>WebUI.navigateToUrl(GlobalVariable.URL)
WebUI.setText(findTestObject('input_Email'), 'test@test.com')
WebUI.setText(findTestObject('input_Password'), 'xxxx')
WebUI.click(findTestObject('button_Login'))
WebUI.waitForElementVisible(findTestObject('menu_Home'), 10)
WebUI.verifyElementPresent(findTestObject('menu_Home'), 10)
WebUI.takeScreenshot()
WebUI.closeBrowser()このように複数のWebUIキーワードを組み合わせることで、一連のテストケースを作成できます。
参考:WebUIキーワード
チェックボックスやドロップダウンリストを操作する場面も多いかと思います。
今回は詳しい説明は省略しますが、実際のテストでよく使用されるキーワードとして、以下のようなものもあります。
| キーワード | 説明 |
|---|---|
selectOptionByValue() | セレクトボックスを値(value)で選択します。 |
selectOptionByLabel() | セレクトボックスを表示名(ラベル)で選択します。 |
check() | チェックボックスをオンにします。 |
uncheck() | チェックボックスをオフにします。 |
acceptAlert() | アラートの「OK」をクリックします。 |
dismissAlert() | アラートの「キャンセル」をクリックします。 |
switchToWindowIndex() | 指定したタブ・ウィンドウへ切り替えます。 |
refresh() | ページを再読み込みします。 |
delay() | 指定した秒数だけ待機します。 |
comment() | 実行ログにコメントを出力します。 |
終わりに
今回は、Katalon Studioでよく利用するWebUIキーワードを紹介しました。
最初はすべて覚える必要はありませんが、実際にテストケースを作成しながら使っていくことで自然と身についていきます。
次回は、GitHub Actionsを利用してKatalon Studioのテストを自動実行する方法を紹介します。
無料版で試した結果や、実際に試して分かった制限についてもあわせて紹介したいと思います。

