Cognizant ITSを使ったモバイルアプリUIテストの自動化(4) - アクション一覧

 

本記事では、Cognizant ITSがモバイルアプリで使用できるアクションを一覧で説明いたします。


連載目次


前回のクイックスタートでシナリオを作成する際にClickなど入力しましたが、この部分に下記に紹介するアクションを入れることで、様々なシナリオを作成することができます。


記事内の記述の説明

@値 … 固定の文字列を入力できます。例)@あいうえお

シート:列 … エクセルのような表からデータを取得できます。第5回で詳しく説明します。例)sheet:name1

%変数名% … データ操作のアクションで保持したデータを扱うことができます。例)%data1%

オブジェクトの操作

アプリの画面内のパーツを操作するアクションです。

Action ObjectName Input Condition 説明
Click オブジェクトを指定 オブジェクトをクリックします。
clickIfExists オブジェクトを指定 オブジェクトがあればクリック、なければスキップします。
Set オブジェクトを指定 @値
シート:列
%変数名%
オブジェクト(入力欄など)に値を入力します。
SetIfExists オブジェクトを指定 @値
シート:列
%変数名%
オブジェクト(入力欄など)があれば値を入力、なければスキップします。
clear オブジェクトを指定 オブジェクト(入力欄など)のテキストをクリアします。
tap オブジェクトを指定 オブジェクトをタップし、タップ可能であったかどうかをチェックします。

 

端末の操作

アプリではなく端末自体を操作するアクションです。

Action ObjectName Input Condition 説明
back Browser 戻るキーを押します。
saveScreenshot Browser @ファイルパス
例 @filename.png
スクリーンショットを指定のファイルパスに保存します。
installApp Browser @ファイルパス
例 @filename.apk
指定したアプリを端末にインストールします。
launchApp Browser アプリを起動します。
lockScreen Browser デバイスをロックします。
openNotifications Browser 通知バーを開きます(Androidのみ)。
resetApp Browser 実行中のアプリをリセットします。
toggleLocationServices Browser 位置情報のON/OFFを切り替えます(Androidのみ)。
swipeDown Browser 下にスワイプします。
swipeLeft Browser 左にスワイプします。
swipeRight Browser 右にスワイプします。
swipeUp Browser 上にスワイプします。
enter Browser Enterキーを押します。
home Browser ホームキーを押します(Androidのみ)。
menu Browser メニューキーを押します(Androidのみ)。
search Browser 検索キーを押します(Androidのみ)。
setKey Browser @キーID 指定したキーを押します(Androidのみ)。
settings Browser 設定キーを押します(Androidのみ)。

 

待つ

操作を待たせる必要がある時に指定するアクションです。

Action ObjectName Input Condition 説明
pause Browser ミリ秒 操作を一時停止します。
waitForElementToBeVisible オブジェクトを指定 秒(タイムアウト) オブジェクトが画面に表示されるまで待機します。
waitForElementToBeInVisible オブジェクトを指定 秒(タイムアウト) オブジェクトが不可視になるまで待機します。
waitForElementToBeClickable オブジェクトを指定 秒(タイムアウト) オブジェクトがクリック可能になるまで待機します。
waitForElementToBeSelected オブジェクトを指定 秒(タイムアウト) オブジェクトが選択されるまで待機します。
waitForElementToContainText オブジェクトを指定 秒(タイムアウト) オブジェクトが指定されたテキストを含むまで待機します。
waitForElementToContainValue オブジェクトを指定 秒(タイムアウト) オブジェクトが指定された値を含むまで待機します。
waitForElementToBePresent オブジェクトを指定 秒(タイムアウト) オブジェクトがロードされるまで待機します。
waitForElementSelectionToBeTrue オブジェクトを指定 秒(タイムアウト) オブジェクトが選択されるまで待機します。
waitForElementSelectionToBeFalse オブジェクトを指定 秒(タイムアウト) オブジェクトの選択が外れるまで待機します。

 

判定

テスト結果として正しいか正しくないかを判断するためのアクションです。

Action ObjectName Input Condition 説明
assertElementPresent オブジェクトを指定 オブジェクトが存在することをチェックします。
assertElementNotPresent オブジェクトを指定 オブジェクトが存在しないことをチェックします。
verifyElementPresent オブジェクトを指定 オブジェクトが存在することを検証します(エラーでも中断しない)。
verifyElementNotPresent オブジェクトを指定 オブジェクトが存在しないことを検証します(エラーでも中断しない)。
assertElementSelected オブジェクトを指定 オブジェクトが選択されていることをチェックします。
assertElementNotSelected オブジェクトを指定 オブジェクトが選択されていないことをチェックします。
verifyElementSelected オブジェクトを指定 オブジェクトが選択されていることを検証します(エラーでも中断しない)。
verifyElementNotSelected オブジェクトを指定 オブジェクトが選択されていないことを検証します(エラーでも中断しない)。
assertElementEnabled オブジェクトを指定 オブジェクトが有効になっていることをチェックします。
assertElementNotEnabled オブジェクトを指定 オブジェクトが有効になっていないことをチェックします。
verifyElementEnabled オブジェクトを指定 オブジェクトが有効になっていることを検証します(エラーでも中断しない)。
verifyElementNotEnabled オブジェクトを指定 オブジェクトが有効になっていないことを検証します(エラーでも中断しない)。
verifyVariableFromDataSheet Browser シート:列 %変数名% データシートセル内のデータと与えられた変数の値を検証します(エラーでも中断しない)。
verifyVariable Browser @変数名=期待値 格納された変数の値が期待値と一致するかどうかを検証します(エラーでも中断しない)。
assertVariable Browser @期待値
シート:列
%変数名%
例 @%変数名%=期待値
変数の値をユーザーが期待値と等しいかどうかをチェックします。
assertVariableFromDataSheet Browser シート:列 %変数名% 件列に指定された変数の値が、入力列に記述されているデータシートの値と等しいかどうかをチェックします。
assertElementTextEquals オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトが期待値と等しいかどうかをチェックします。
assertElementTextContains オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトに期待されるテキストが含まれているかどうかをチェックします。
assertElementTextStartsWith オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトのテキストが期待値で始まるかどうかをチェックします。
assertElementTextEndsWith オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトのテキストが期待値で終わるかどうかをチェックします。
assertElementTextMatches オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトのテキストが期待値と一致するかどうかをチェックします。
また、入力フィールドで正規表現を使用することもできます。
assertElementTextIEquals オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトのテキストが期待値と等しいかどうかをチェックします。
この関数は、期待値の大文字小文字を無視します。
assertElementTextIContains オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトのテキストに期待値が含まれているかどうかをチェックします。
この関数は、期待値の大文字と小文字を無視します。
assertElementTextIStartsWith オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトのテキストが期待値で始まるかどうかをチェックします。
この関数は、期待値の大文字と小文字を無視します。
assertElementTextIEndsWith オブジェクトを指定 @期待値
シート:列
%変数名%
オブジェクトのテキストが期待値で終わるかどうかをチェックします。
この関数は、期待値の大文字と小文字を無視します。
assertElementImage オブジェクトを指定 @ファイルパス
例 @file filenate.png, error 4%
オブジェクトのキャプチャーと、指定した画像ファイルが一致するかどうかをチェックします。
何%もしくは何pxまで許容するかを指定できます。

 

データ操作

データを一時的に保持しておきたい場合などに使用します。

Action ObjectName Input Condition 説明
AddVar Browser @値
シート:列
%変数名%
%変数名% ユーザー定義の変数に値を追加します。テストケースの最後まで有効です。
AddGlobalVar Browser @値
シート:列
%変数名%
%変数名% ユーザー定義の変数に値を追加します。テストセットの最後まで有効です。
storeText オブジェクトを指定 %変数名% オブジェクトのテキストをユーザー定義変数に格納します。
storeTextinDataSheet オブジェクトを指定 シート:列 オブジェクトのテキストを特定のデータシートのそれぞれの列に格納します。
storeTextPresent オブジェクトを指定 @値
シート:列
%変数名%
%変数名% オブジェクトに期待されるテキストがあるかどうかをチェックし、変数に 'True'または 'False'フラグを格納します。
storeElementSelected オブジェクトを指定 %変数名% オブジェクトが選択されているかどうかをチェックし、変数に 'True'または 'False'フラグを格納します。

 

テストの設定

テストの設定を変更します。

Action ObjectName Input Condition 説明
changeWaitTime Browser @秒
シート:列
%変数名%
待機時間を変更します(デフォルト10秒)。
setElementTimeOut Browser @秒
シート:列
%変数名%
オブジェクト検索タイムアウトを変更します(デフォルト10秒)。

 

ドキュメント

ドキュメントに表示させます。

Action ObjectName Input Condition 説明
print Browser @値
シート:列
%変数名%
レポートに値を表示します。

 

まとめ

今回はモバイルアプリで使えそうなアクションを抜粋しました。

基本的にはオブジェクトや端末を操作をするアクションと、正しいかどうかを判断するアクションを使ってシナリオを作っていくこととなります。

もしwebサイトの試験に利用される場合は、公式サイトにwebサイト用のアクションが記載されています(英語)のでそちらをご覧頂くと良いかと思います。

https://cognizantqahub.github.io/Cognizant-Intelligent-Test-Scripter-Helpdoc/actions/webactions.html

次回はさっそくご紹介したアクションを使用しつつ、少しずつ値を変えながらループさせるようなシナリオの書き方を説明していきたいと思います。

→第5回 テストケース1 反復テスト