2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VALTES Advent Calendar 2024

Day 9

QualityTrackerのプロダクト招待をT-DASHで自動化してみた

Last updated at Posted at 2024-12-08

はじめに

バルテスのテスト管理ツール「QualityTracker(以下QT)」を利用するにあたって、プロダクトとプロジェクトそれぞれにユーザーを招待する必要があります。大規模なプロジェクトだと、一人ひとり招待する手間もばかになりません。
この記事では、同じくバルテスのテスト自動化ツール「T-DASH」を使った業務効率化の一例として、QTのプロダクト招待を自動化してみます。

前提

  • T-DASHをインストール済であること
  • QTのカンパニーおよびプロダクトを作成済であること
  • 招待したいユーザーがカンパニー招待メールを受信し、QTのアカウント登録を完了させていること

実装

画面定義と動作定義

一連の操作手順を洗い出して、まず必要な画面定義を行います。その後登録した動作をデバッグ実行で動作確認しつつ、実装を進めていきます。

うまく動かないところの修正

メールアドレス入力欄が見つからず、ログインできない

画像1.jpg

まずはログイン操作を登録し、デバッグ実行。
あらかじめ取得したXpathは合っているはずですが、うまく入力できませんでした。どうも一度クリックして活性化させないと、画面要素を認識・操作できない仕様のようです。
Xpath指定だとうまくいかないので、要素画像を指定してクリック後、入力することにしました。
画像2.jpg

無事ログイン情報を入力でき、ログイン操作の実装完了です。
画像3.jpg

ログインできたら、後はすんなり動きました。
画像4.jpg

と思ったら、検索したユーザーと別の人が招待されていました…なんでや?
画像5.jpg

追加ボタンに、ユーザーごとに一意の連番が振られている

確認してみると、追加ボタンのXpathにユーザーごとの連番が埋め込まれているようでした。
画像6.jpg

そのため、検索結果に関わらず「追加ボタンの画面要素を取得したときのユーザー」が追加されてしまいます。Xpathがだめなら画像認識で、とも思いましたが、画面全体のサイズに対してボタンが小さすぎるのかうまく認識できません。これは困った。
「検索したユーザーの追加ボタンが表示されているであろう座標」をクリックするくらいしか思いつかなかったので、pyAutoGUIのライブラリにカスタム動作を追加しました。
画像7.jpg

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)    

成功!(してるんです。本当です。名前をマスクしてるからわかりづらいけど…)
画像8.jpg

データドリブン設定

ここまできたら後はかんたん。招待したいユーザーの検索条件(メールアドレス)を入力値に設定して
画像9.jpg
実行します。
画像10.jpg

データドリブンで設定した4人のユーザーを招待することができました!
画像11.jpg

これで、10人だろうと100人だろうと、ユーザーを招待することができます。
ログインをSETUPに、ブラウザを閉じる処理をTEARDOWNにまとめられたらもっとスッキリするんですが…げふんげふん。

なお、今回紹介した「XPathのかわりに画像で操作対象を指定する」「カスタム動作でマウス操作を再現する」などの方法は、公式チュートリアル に記載があります。

おわりに

T-DASHはテスト自動化ツールという位置付けではありますが「テスト以外にもRPAのような使いかたができますよ」と知ってもらいたくてこの記事を書きました。
皆さまの業務効率化・生産性向上のヒントになれば嬉しいです。

余談ですが、本日12/9は妻の誕生日です。
仕事帰りに美味しいものを買って帰ろうと思います。

2
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?