WebRecorderを使わないでテストケースを作成してみます。
テストの手動作成
TestCaseの作成
まず新しいテストケースを作成します。
TestCasesを右クリックし、New > Test Case を選択するとTestCaseの名称設定ダイアログが表示されるので、任意の名称を入力してOKボタンをおします。
ここでは Test Case 2 という名称を設定しました。
TestObjectの作成
前回は操作したいコンポーネントをWebRecorderを使ってTestObjectとして作成しました。
今回は先にTestObjectを作成し、このTestObjectに自分でXPathを指定します。Chromeの開発者ツールを使うとXPathを調べることができます。
ObjectRepositoryにTestObjectを追加
ObjectRepositoryを右クリックし、New > Test Object をクリックします。
TestObjectの名称設定ダイアログが表示されるので、ここではログインのAタグという意味で a_login という名称を設定しておきます。
ダイアログを閉じると、画面右側にこのTestObjectの設定画面が表示されます。ここではいったん SelectionMethod として XPath を選択しておき、次の作業に進みます。
開発者ツールによるXPathの調査
ChromeではF12キーを押すと DevTools という開発者ツールが表示されます。
前回のようにQiitaのTOPページを表示してF12キーを押すと、以下のようなDevTool画面が表示されます。
次に、DevToolの左上にある四角に矢印が付いたボタンをクリックします。
そして、Qiitaトップページ右上のログインリンクをクリックします。すると、DevTooliに表示されたソースコードの中で、ログインリンクに該当する部分が選択されます。
選択されたHtmlソース部分を右クリックしてコンテキストメニューを表示します。Copy > Copy XPath をクリックします。
TestObjectにXPathを設定
DevToolでコピーしたXPathをTestObjectの SelectorEditor に貼り付けます。
SelectionMethodで XPathを選択していることも確認してください。
その後、タブを閉じるか、Ctrl+S を押すなどして設定を保存します。
テストシナリオの作成
さきほど作成したTestCaseを表示します。
前回と同じ操作を手動で作成してみます。
まず、Addボタンをクリックします。
Addの横の▼をクリックすると、別のメニューが表示されてしまいますので、Addのほうをクリックします。
すると、下の表に Accept Alert と表示されるので、ドロップダウンリストを表示して Open Browser を選択します。
同じ手順で Navigate To Url も追加します。
Navigate To Url の行の Input列のセルをダブルクリックすると、Navigate To Url のパラメータである rawUrlの値を設定するダイアログが表示されます。
Value列のセルをクリックすると入力モードになるので、https://qiita.com と入力しOKをクリックします。
続いて、ログインリンクをクリックする操作を追加します。
同じ手順で Click を追加します。
Clickの対象になるObjectがnullと表示されます。
nullと表示されているセルをダブルクリックすると、Object RepositoryにあるTestObjectを選択するダイアログが表示されます。
先ほど作成した TestObject である、a_login を選択して OKをクリックします。
前回は WebRecorderを終了したときに、最後に Close Browser の操作も追加されましたが、今回は追加しないで ここまでをテストシナリオとします。
テストの実行
テストの実行は前回と同じです。
メニューバーのRunボタンで実行するブラウザを選択して実行します。
WebRecorderとの使い分け
このように、すべて自分でテストを組み立てることも可能です。
WebRecorderとの使い分けをどうするかということですが、私の場合は以下の場合はWebRecorderを使っています。
新しい画面のテストを作成するとき
TestObjectを手動で作るのが面倒なので、WebRecorderでまとめて作ります。そのあと KatalonStudioでTestObject名を編集して、フォルダに振り分けて整理します。作成済みのテストを編集するとき
これは当たり前ですが、操作を追加・削除するときに使います。XPathの指定がうまくいかないとき
ChromeのDevToolで取得したXPathではクリックなどの操作がうまくいかない場合は、WebRecorderでクリック位置を確認しています。
Groovyスクリプトでさらに手早く
ここまでGUIを使ってテストを作成しましたが、このテストの実体はGroovyスクリプトです。テストケース画面の下にある Script タブを選択すると、スクリプトが表示されます。
Groovyがわかる人は、ここでスクリプトを書いたほうが早いです。
スクリプトで書いた内容は元のManualタブにある表にも反映されるので、2つのタブを使ってテストを作成すると効率よく進められます。
importの追加は Ctrl+shift+O
スクリプトを書いたときにクラスがimportされていないと実行時にエラーになります。スクリプト画面で Ctrl+shift+O(オー)を押すと、必要なimportが自動追加されます。