ローコードテスト自動化ツール T-DASH

2024/08/15

7月17日「T-DASHテスト自動化セミナーT-DASHハンズオンセミナー~Winアプリを実際にテスト自動化してみよう~」の質疑に関して

7月17日に開催しました、「T-DASHテスト自動化セミナーT-DASHハンズオンセミナー~Winアプリを実際にテスト自動化してみよう~」にて、セミナー中やアンケートにて多くのご質問をいただきました。
時間の都合上、セミナー中に皆さまのご質問にお答えできなかったこともあり、ご参加いただきました皆さまから頂戴したご質問とその答えを掲載いたします。

ぜひ、ご参考にご覧ください。

Q&A

Q1:プロジェクト名とプロジェクトキーが分かれているのは何か意味がありますか?

T-DASHはデスクトップアプリになりますので、全てのファイルがローカルフォルダ上に作成されます。
この際に、プロジェクトキーはフォルダ名になり、T-DASH上で管理する名称がプロジェクト名となってます。


Q2:ブラウザアプリは非対応でしょうか?

ブラウザアプリはプロジェクト作成時にWebアプリを選択することでご利用になれます。
今回はWindowsアプリのハンズオンとなりますので、Windowsアプリについてご紹介させていただいております。


Q3:WPFのLabelに表示されている文字列を取得したくT-DASHで画面定義を試みたのですが、定義取得できませんでした。これは仕様でしょうか?

T-DASHの画面定義は要素とXPathを紐づける作業となります。
今回取得したい定義は、テストケースの手順で利用された場合にLabelの値を取得したいということでしょうか?

WinTool画面上の要素を取得しようとした場合、仕様上、WinToolの要素取得はできないようになっております。


Q4:トラッキングするコントロールのXPathを外部からインポートすることは可能でしょうか?
また、コントロール情報はXPathのみでしょうか。例えば相対座標などで指定は可能でしょうか?

XPathのインポートは、T-DASHの画面定義セクション内にある「画面インポート」から行うことが可能です。
XPathのみとなります。


Q5:値の列に何が入っているか見たいのですが、幅が足りずに横スクロールもできずに見れません。

マウスオーバーでしばらくお待ちいただけると、ツールチップ内に内容が表示されます。


Q6-1:ClickOnceのようにブラウザからWindowsアプリを呼び出すような場合は非対応でしょうか?
また、今回はexeを指定してアプリケーションを起動していますが、既に起動しているアプリケーションでのトラッキングや評価は可能なのでしょうか?

すでに起動しているアプリケーションでのトラッキングは可能です。

Q6-2:>>すでに起動しているアプリケーションでのトラッキングは可能です。
との事ですが、その場合起動プロジェクト作成の「対象アプリのexeパス」はどのように入力するのですか?

プロジェクト作成時に一つのアプリを指定する形ですが、アプリパスを指定してアプリを起動する動作がございます。トラッキングに関しては、プロジェクト設定しているexe関係なく、起動しているアプリであればトラッキング可能となります。


Q7:Ctrl長押ししたときに、どの行に入るのでしょうか? 選択行でしょうか? すでに入っている行のやつは上書きされますか?

選択行からトラッキング自動反映のチェックボックスを選択中の場合は、上書きされます。
選択行からトラッキング自動反映のチェックボックスが未選択の場合は行追加されませんので、XPathをコピーして、手動で値に入れる必要があります。


Q8:インストール先にも「SampleApp.exe」が見当たりません。

https://github.com/valtes-rd/t-dash/releases/download/windows_app_tdash/SyosekiAPP.WPF.zip
こちらからダウンロードしたzipファイルを解凍したフォルダ内にexeファイルがあります。解凍先のパスを指定してください。


Q9:一番下の空白行を選択してたのに、Ctrl長押ししたときに、既存行に上書きされてしまいました。

動作が安定しない場合は、「選択行からトラッキング自動反映」のチェックボックスを外して手動でXPathを値へコピペしていただけますでしょうか。


Q10:「トラッキング中にエラーが発生しました」のエラーが出てIDがトラッキングできません。

「トラッキング中にエラーが発生しました」が発生した場合、再度トラッキングをONにしていただき、再度トラッキングをお願いいたします。


Q11:コンボボックスの指定をインディックス指定ではなく、文字列指定でしたい。ただしその文字列の位置は毎回かわります。

「コンボボックスをアイテム名で選択する」という動作がございますので、お試しいただければと思います。


Q12:画面のフルスクリーンショットは、ファイルで取得できますか?

スクリーンショットはファイルで出力されます。
テスト実行結果のレポートファイルはすべて以下に出力されます。
C:\Users\【ユーザー名】\AppData\Local\Programs\T-DASH\projects\【プロジェクトキー】\reports


Q13:T-DASHは入力文字の網羅性もテストしていただけますか?

入力文字はすべて定義していただく必要がありますが、データドリブン機能を利用し違う値で同じテストを繰り返し実行可能です。


Q14:Windowsアプリで「タブ」を使っていますが、タブを切り替えたいのですが認識しないようです。方法はないですか?

タブ切り替え後に、「Windowsアプリをアプリ名で切り替える」を利用してみてはいかがでしょうか?


Q15:動的に作成されるPictureBoxが複数ありXPathが同じになってしまう場合、どうやって要素を特定できますか? (プログラム側で何かしないといけないでしょうか?)

トラッキング機能より要素のXPathを自動で作成しますが、動的に変更される要素については自作でXPathを作成する必要があります。
自作のXPathを作成する方法についてチュートリアルにございますので、ご参照願います。リンクの4.の項目となります
https://service.valtes.co.jp/t-dash/function/tutorial/windowsapp_vol_003


Q16:ダミーのEXEを起動してから評価対象のアプリをトラッキングしていけばよいと言う事ですね。あと、トラッキングが上手くできない場合、画像認識で対処箇所を押下する事は。

その通りです。既に起動しているアプリケーションでのトラッキング可能なため、そのように行うことが可能となります。

画像認識に関しても以下の動作がございますので、お試しいただければと思います。
「要素画像から要素を検出してクリックする 」
「要素画像から要素を検出してテキストを入力する 」


Q17:ボタン等のコントロール名やテキスト、配置を変えてアプリケーションを更新した場合、画面定義を再度し直す必要ありますか?

XPathが変わった場合は画面定義の値(XPath)を更新する必要があります。
XPathの指定方法によっては再設定が不要にはなりますが、XPathの指定方法を別途学習する必要があります。(WinTool上に表示されている属性から一意にXPathを指定するなど)

自作のXPathを作成する方法についてチュートリアルにございますので、ご参照願います。
リンクの4.の項目となります
https://service.valtes.co.jp/t-dash/function/tutorial/windowsapp_vol_003


Q18:チュートリアルに「XPathの書き方で調べて色々なパスを設定してみてください」とあるのですが、XPathの書き方をどうやって調べればいいですか?(何かライブラリのリファレンスとかがありますか?)

トラッキングツール上で「対象アプリウィンドウ構成ツリー」の下に右側に「0 / 0」と書いてあるテキストボックスがあります。
こちらにXPathを入力していただくと、一意にXPathが作成するか確認できるため、
自作されたXPathはこちらのテキストボックスから要素が存在するか確認をお願い致します。

「Xpath 書き方」でgoogle検索するとhtmlに関する内容がヒットしますが、
考え方は同様です。htmlでタグ名指定がdivやbuttonとなりますが、WindowsアプリでしたらWindowやTabとなります。


Q19:画面の画像を認識して、対象の画像を押下(要素をクリックする)などの動作は可能でしょうか?

要素の画像パスのみを入力し、値を空にすることで、画像で要素を操作できます。


Q20:T-DASHをインストールするフォルダは選択できますか?

現在はインストール先を変更できないようになっております。


Q21:testrunをJenkinsで実行させるサンプルが欲しいです。

こちらは参考になりますでしょうか。
https://service.valtes.co.jp/t-dash/function/tutorial/commandline_vol_007


Q22:リストの中にあるコントロールの選択はできるのでしょうか?

可能です。「リストボックスの要素をインデックス番号で選択する」「リストボックスの要素を項目名で選択する」標準動作がございます。


Q23:ドラグ操作は可能でしょうか?

標準動作ではできません。カスタム動作を作成していただく必要があります。



Q24:ピンチイン・ピンチアウトといった特殊な操作は可能でしょうか?

標準動作ではできません。カスタム動作を作成していただく必要があります。


Q25:XPathが取得できないアプリケーションは動作対象外でしょうか?

その通りでございます。


Q26:DBの直接操作など画面以外の処理を組み込み可能でしょうか?(画面開発が間に合わず手動で流し込みをした内容が画面上に正しく表示されるか確認したい)

標準動作ではできません。カスタム動作で作成していただく必要があります。
T-DASHはRobotframeworkを利用してテスト実行を行っております。
RobotframeworkやPythonでDBの値を直接操作することは可能です。
T-DASHでDB登録確認までテスト自動化してみた
https://qiita.com/ttt_sat/items/82eab8c8e993629e1113


Q27:コンボボックスのプルダウンメニューを文字列で指定したいです。このとき文字列がスクロースしないと見えなかったり、表示されるインディックス番号の位置が違うことがあります。

表示されるインデックス番号が違う場合はXpathにインデックスは利用せずに、親要素から子要素を指定したり、Name属性など属性指定すると良いかと思われます。
標準動作でスクロールはできませんので、カスタム動作でスクロールする処理を作成する必要があります。



Q28:Windowsアプリのタブを使っていますが認識しないようです。

Windowsアプリのトラッキングツールでパスが認識できない場合、T-DASHで操作できないアプリとなります。



Q29:自動実行させるためのJenkinsまたはコマンドのサンプルが有ると助かります。

Jenkinsで利用する場合は以下をご参照いただけますか。
https://service.valtes.co.jp/t-dash/function/tutorial/commandline_vol_007
コマンド実行用のコマンド生成につきましては以下から作成することができますので、ご利用ください。
https://valtes-rd.github.io/t-dash/tdash-cmd-maker/top.html



Q30:時間計測がしたいです、サンプルで使っていたアプリの登録ボタンを押してから、メイン画面が入力可能状態になるまでの時間計測などはできませんか?

時間計測はテスト実行後のレポートにて、手順の実行時間である程度確認することができます。
また、カスタム動作にて、各種手順の間に時間を出力する手順を追加することで計測可能です。


T-DASHでは、T-DASH公式サイトにて様々な使い方を紹介するチュートリアルや機能についてのFAQがございます。また、ご利用に関するご不明点はT-DASHサポートまでお気軽にご相談ください。
引き続き、T-DASHをよろしくお願いいたします。

セミナーに関する情報は、>>ウェビナーやイベント情報 からご確認いただけます。