生年月日から年齢の自動計算を行う処理が正しく行えているかのテストを作成しました。
BrowserStack Low Code AutomationのCustom actionsを使っています。BrowserStack Low Code Automationの使い方の紹介もしているのでこちらの記事をみてみてください。
cuebic.co.jp
準備
準備として、生年月日を入力するinputエレメントと年齢を出力するエレメントを用意しておきます。
BrowserStack Low Code Automationで利用する機能
一点目が「Extract Value機能」です。入力した生年月日の値を取ってくるための機能です。今回は2002/07/20という値になります。
二点目が「Custom actions(Javascript)のcreate variable」です。ここで生年月日から計算を行い、年齢という新しい変数を定義します。
www.browserstack.com
三点目が「Text Validation機能」です。これで、計算値と実際に表示されている値が一致するかを確認できます。
www.browserstack.com
実装
最初に、BrowserStack Low Code AutomationのステップにExtract Value機能を使って生年月日を取得します。 変数名は'Birthdate'にします。 次にステップにCustom actions(Javascript)を追加します。 Custom actionsを開き、Action Typeを真ん中(Create Variable)に設定します。 変数をインポートします。今回はLocal variablesの中の先ほど設定したBirthdateという値です。 コードを書いていきます。Extract Value機能で取得した値をインポートするコードはこちらです。Birthdateという値を取ってきます。
var Birthdate = variables.test['Birthdate'];
Birthdate変数から年月日を取得します。
var [yearBirth, monthBirth, dateBirth] = Birthdate.split('/');
計算に必要な現在の年月日を取得し
//現在の日付 var NewDate = new Date(); yearNow = NewDate.getFullYear(); monthNow = NewDate.getMonth(); dateNow = NewDate.getDate();
最後に年齢が返されるようにコードを書いていきます。
ageNew = yearNow - yearBirth; if (monthNow < monthBirth) { return ageNew - 1; } else if (monthNow > monthBirth) { return ageNew; } else { if (dateNow < dateBirth) { return ageNew - 1; } else { return ageNew; }
コードの入力が終わったらExecute Scriptから出力結果を確認します。
変数名はageNowに設定しました。
Text Validation機能を使って年齢(出力)エレメントを選択します。そして上の実行結果で得た変数をequalで設定します。
そして最後に実行すると、処理を進めることができます。
年齢は誕生日をまたぐと値が変わってしまい、ローコードのテスト自動化を動的に行う必要がありました。他にも同じような問題が今後起こりうるでしょう。
ローコードを使った素早いテスト自動化の開発と、中長期でも使うことができるツールです。
BrowserStack Low Code Automationを使うメリット
前回の記事でも書きましたが、視覚的で直感的な理解が可能となっているのは大きな利点です。前回も含めて紹介はしていませんが、モジュールの設定やデバイスの選択、テスト日時の設定も可能となっています。
cuebic.co.jp
テスト自動化を開発する際に、保存に時間がかかりすぎる場合もありますが、今回紹介した「Javascript」が書けるようになり、動的な処理も一部可能となりました。
お知らせ!!
キュービックでは、一緒に働いてくれる仲間を募集しています。興味がある方はカジュアル面談Webエンジニアから応募をお願いします。ご応募お待ちしております。 herp.careers
また、エンジニアチームが運営しているYoutubeチャンネル【TEC TV】があるので、こちらでどんな人が働いているかを見ることができます!