2018年4月26日木曜日

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

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


連載目次


免責事項 - 本記の掲載内容について
本記事に掲載されている内容について一部非公式な情報を含んでおります。
そのため弊社側では記事内容を用いたことによる損害や責任等については負いかねますので、あらかじめ了承ください。
© Copyright 2018, Cognizant. All rights reserved. Cognizant、Cognizant のロゴ、Cognizant Intelligent Test Scripterは、米国Cognizant Technology Solutions Corporationの登録商標または商標です。株式会社ブリリアントサービスは、コグニザントジャパン株式会社の子会社です。本文書に記載されている内容は、予告なく変更される場合があります。また、本書に記載されている会社名、製品名、サービス名などは、各社の商標または登録商標です。


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

記事内の記述の説明
@値 … 固定の文字列を入力できます。例)@あいうえお
シート:列 … エクセルのような表からデータを取得できます。第5回で詳しく説明します。例)sheet:name1
%変数名% … データ操作のアクションで保持したデータを扱うことができます。例)%data1%

オブジェクトの操作

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

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

端末の操作

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

ActionObjectNameInputCondition説明
backBrowser戻るキーを押します。
saveScreenshotBrowser@ファイルパス
例 @filename.png
スクリーンショットを指定のファイルパスに保存します。
installAppBrowser@ファイルパス
例 @filename.apk
指定したアプリを端末にインストールします。
launchAppBrowserアプリを起動します。
lockScreenBrowserデバイスをロックします。
openNotificationsBrowser通知バーを開きます(Androidのみ)。
resetAppBrowser実行中のアプリをリセットします。
toggleLocationServicesBrowser位置情報のON/OFFを切り替えます(Androidのみ)。
swipeDownBrowser下にスワイプします。
swipeLeftBrowser左にスワイプします。
swipeRightBrowser右にスワイプします。
swipeUpBrowser上にスワイプします。
enterBrowserEnterキーを押します。
homeBrowserホームキーを押します(Androidのみ)。
menuBrowserメニューキーを押します(Androidのみ)。
searchBrowser検索キーを押します(Androidのみ)。
setKeyBrowser@キーID指定したキーを押します(Androidのみ)。
settingsBrowser設定キーを押します(Androidのみ)。

待つ

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

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

判定

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

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

データ操作

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

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

テストの設定

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

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

ドキュメント

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

ActionObjectNameInputCondition説明
printBrowser@値
シート:列
%変数名%
レポートに値を表示します。

まとめ

今回はモバイルアプリで使えそうなアクションを抜粋しました。
基本的にはオブジェクトや端末を操作をするアクションと、正しいかどうかを判断するアクションを使ってシナリオを作っていくこととなります。
もしwebサイトの試験に利用される場合は、公式サイトにwebサイト用のアクションが記載されています(英語)のでそちらをご覧頂くと良いかと思います。
https://cognizantqahub.github.io/Cognizant-Intelligent-Test-Scripter-Helpdoc/actions/webactions/index.html(外部リンク)

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

文責:梶井祐介

140 180 Cognizant ITS , Quality Control

記載されている会社名、および商品名等は、各社の商標または登録商標です。

0 コメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...