はじめに
バルテスのテスト管理ツール「QualityTracker(以下QT)」を利用するにあたって、プロダクトとプロジェクトそれぞれにユーザーを招待する必要があります。大規模なプロジェクトだと、一人ひとり招待する手間もばかになりません。
この記事では、同じくバルテスのテスト自動化ツール「T-DASH」を使った業務効率化の一例として、QTのプロダクト招待を自動化してみます。
前提
- T-DASHをインストール済であること
- QTのカンパニーおよびプロダクトを作成済であること
- 招待したいユーザーがカンパニー招待メールを受信し、QTのアカウント登録を完了させていること
実装
画面定義と動作定義
一連の操作手順を洗い出して、まず必要な画面定義を行います。その後登録した動作をデバッグ実行で動作確認しつつ、実装を進めていきます。
うまく動かないところの修正
メールアドレス入力欄が見つからず、ログインできない
まずはログイン操作を登録し、デバッグ実行。
あらかじめ取得したXpathは合っているはずですが、うまく入力できませんでした。どうも一度クリックして活性化させないと、画面要素を認識・操作できない仕様のようです。
Xpath指定だとうまくいかないので、要素画像を指定してクリック後、入力することにしました。
と思ったら、検索したユーザーと別の人が招待されていました…なんでや?
追加ボタンに、ユーザーごとに一意の連番が振られている
確認してみると、追加ボタンのXpathにユーザーごとの連番が埋め込まれているようでした。
そのため、検索結果に関わらず「追加ボタンの画面要素を取得したときのユーザー」が追加されてしまいます。Xpathがだめなら画像認識で、とも思いましたが、画面全体のサイズに対してボタンが小さすぎるのかうまく認識できません。これは困った。
「検索したユーザーの追加ボタンが表示されているであろう座標」をクリックするくらいしか思いつかなかったので、pyAutoGUIのライブラリにカスタム動作を追加しました。
def click_specified_coordinates(param_coordinates):
x_coordinate = int(param_coordinates.split(",")[0])
y_coordinate = int(param_coordinates.split(",")[1])
pyautogui.moveTo(x_coordinate,y_coordinate, 0)
pyautogui.click()
sleep(2)
成功!(してるんです。本当です。名前をマスクしてるからわかりづらいけど…)
データドリブン設定
ここまできたら後はかんたん。招待したいユーザーの検索条件(メールアドレス)を入力値に設定して
実行します。
データドリブンで設定した4人のユーザーを招待することができました!
これで、10人だろうと100人だろうと、ユーザーを招待することができます。
ログインをSETUPに、ブラウザを閉じる処理をTEARDOWNにまとめられたらもっとスッキリするんですが…げふんげふん。
なお、今回紹介した「XPathのかわりに画像で操作対象を指定する」「カスタム動作でマウス操作を再現する」などの方法は、公式チュートリアル に記載があります。
おわりに
T-DASHはテスト自動化ツールという位置付けではありますが「テスト以外にもRPAのような使いかたができますよ」と知ってもらいたくてこの記事を書きました。
皆さまの業務効率化・生産性向上のヒントになれば嬉しいです。
余談ですが、本日12/9は妻の誕生日です。
仕事帰りに美味しいものを買って帰ろうと思います。