LoginSignup
0
0

try T-Dash test automation

Posted at

Outline

ローコードのtest automation toolとしてT-Dashがある。
”誰でもかんたん”が売りのようなので、どこまで複雑な処理がテスト自動化できるか試してみた

T-DashはMablやAutifyと違いlocalで動かすことが前提である。
Cloud環境で利用するか、local(オンプレ)で動かしたいかでまず大きく使用判断が異なるようだ。

target scenario

先日、Mablで試したシナリオをT-DashでもTRYしてみる。

  1. loginする
  2. 投票ページに遷移する
  3. 指定した競馬場・レース番号を選ぶ
  4. 単勝の馬番 x を購入する <- データ駆動で任意の馬番を複数選ぶ
  5. 投票を完了する

実際のスクリプト

image.png

各テストケースの処理詳細

  1. Login : Login
  2. goto-bet-page : 投票ページに遷移して、 指定した競馬場・レース番号を選ぶ
  3. choose-Tansho-x Uma : 単勝の馬番 x を購入する
  4. complete-bet : 投票を完了する

1. Login

Login test caseは特にはまるところはなかった。
ボタンクリックと入力フォームへテキスト入力する

image.png

尚、このLoginのstepは使いまわしのできる動作セット(共通モジュール)にできるのではないか?と思う人がいるでしょう。今回動作セットにしませんでした。

動作セットにすると、以下のようになります。

image.png

この動作セットを使ったテストケースで、データ駆動を設定しようとすると、データ駆動の変数として選ぶことができない!!! 
ここは、改善してほしいところだなと思う。

image.png

2. goto-bet-page

STEPはそこまで難しくはなかった。
ただ、画面定義をするところに工夫が必要だった。

image.png

指定した競馬場・レース番号を特定するには工夫がいる。

image.png

developer toolで園田11Rの要素のxpathを取得してみると、以下の値になった。

//*[@id="voteContents"]/div/ul[2]/li[1]/table/tbody/tr[3]/td[14]/a/span

これは競馬場の表で3行目、14列目(ダート・芝・天気・1~12R )を指す。
これは一見合っているようだが、失敗する。なぜなら、競馬のサービスの特徴として日々開催競馬場が異なるからである。今回、園田が3行目であったが、翌日は4行目になる可能性がある。
そのため、xpathの指定方法を以下のようにする

//*[@id="voteContents"]/div/ul[2]/li[1]/table/tbody/tr/th[text()='園田']/../td[14]/a/span[text()='投票']

これは、まず園田のセルを特定する。その後、相対パスを用いて園田の行を特定し、その行の14列目を指定する。

3. choose-Tansho-x

ここが一番データ駆動化したかったところだ。結論から言うと、できなかった(購入する馬番号を外だしできなかった)

まず、変数を含めたxpathを画面定義では使えなかったので、カスタム動作を利用した。
robotframeworkを用いて、xpathに変数を含めて、任意の馬番号を選べるようにする

image.png

//tbody[@class='paddockList']/tr/td[5]/a[text()='${value1}']

${value1} : 馬番号

このカスタム動作を呼び出すときに、任意の馬番号を指定することができる。

image.png

このように、カスタム動作 投票_単勝 を使い、引数に1,2,4,8,16 と任意の馬番を指定するとことでテストケースを構成することができる。
って、ちょっとまってよ。これだと、テストケースの中にデータを埋め込んでいて、データ駆動になってないじゃん。
はい、このカスタム関数を1行記載して、データ駆動設定しようとしたのですが、先述の動作セットと同様にデータ駆動として設定できなかった。
ここもデータ駆動として設定できるようになると、非常にエレガントだと思った。

4. complete-bet

完了ステップはそこまで難しくはない。
最後の確認ページで、購入合計金額を入力させるSTEPがある。そこは、合計金額の値を取得して変数にいれる。
その変数を入力フォームで入力するだけでよい。

image.png

実行

実行結果が以下の通り

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0