CData Software Blog

クラウド連携のCData Software の技術ブログです。

Autify のテストデータをGoogle BigQuery に定期連携:CData Sync

本記事はAWS EC2のVMインスタンスにCData Sync を起動させ、Autifyにあるテストデータを定期的にGoogle BigQuery に連携する方法をご紹介します。

f:id:sennanvolar44:20201002145458p:plain

Autify とは

AIを用いたソフトウェアテスト自動化プラットフォームで、コードを書かずに簡単にテストシナリオを作成することができ、エンジニア以外でも簡単にテストシナリオを作成できるサービスです。
これまで時間を費やしていた手動テスト、自動テスト作成、またそのメンテナンスの部分が不要になります。

autify.com

CDataSync とは

クラウドサービスからデータベースへのノーコードレプリケートアプリケーションになります。レプリケートとは同期するという意味になりますので、CDataSync から接続できるクラウドサービスのデータをデータベースにまるっとコピーすることができます。

https://www.cdata.com/jp/ f:id:sennanvolar44:20200501163232p:plain

本記事で使うもの

Autify のアクセストークン取得

Autify にログインし、設定→個人設定→「新しいパーソナルトークンを生成」のところに今回生成するアクセストークンの名前を入力し、作成ボタンをクリックします。そうしますとアクセストークンを取得することができますのでメモをしておきます。
f:id:sennanvolar44:20201001225559p:plain

EC2 VM作成~CDataSync Java版のインストールまで

VM 作成~CDataSync Java版インストールまでの手順はこちらを参照ください。

www.cdatablog.jp

なお、Windows環境で動く.NET版のCData Syncの場合は、インストーラーをダウンロードしてそのまま実行することでインストールが完了します。

Autify コネクタをCDataSync に追加

コネクタの追加するためにCData Sync にアクセスしてログインします。
デフォルトであれば admin/admin でログインできます。
f:id:sennanvolar44:20201002004032p:plain

まずはアクティベートを行います。
f:id:sennanvolar44:20201002004228p:plain

ヘッダーの接続ボタンから接続設定画面に遷移し、データソース→Add Moreの順にクリックします。
f:id:sennanvolar44:20201002004506p:plain

入力エリアにAutify と入力後、下の赤枠部分にAutify アイコンが表示されますので、クリックしてAutify コネクタを追加します。
f:id:sennanvolar44:20201116123256p:plain

追加が完了したら、CDataSync の再起動、もしくはVMの再起動を行います。
なお、CDataSyncの起動方法は以下の方法となります。

[root@ip-172-31-33-55 ~]# cd /opt/sync/
[root@ip-172-31-33-55 sync]# ll
total 8432
drwxr-xr-x 2 root root       6 Oct  1 15:24 admin
drwxr-xr-x 2 root root     268 Oct  1 15:24 api
drwxr-xr-x 3 root root      66 Oct  1 15:24 db
drwxr-xr-x 2 root root    4096 Oct  1 15:53 libs
drwxr-xr-x 2 root root      80 Oct  1 15:55 logs
-rw-r--r-- 1 root root   18205 Sep 30 09:09 readme.htm
-rw-r--r-- 1 root root    8221 Sep 30 09:09 readme.txt
-rw-r--r-- 1 root root     191 Sep 30 09:19 restart.sh
-rwxr-xr-x 1 root root    4646 Sep 30 09:19 service
-rw-r--r-- 1 root root 8575501 Sep 30 09:19 sync.jar
-rw-r--r-- 1 root root     342 Sep 30 09:09 sync.logging.properties
-rw-r--r-- 1 root root      27 Sep 30 09:09 syncRealm.properties
drwxr-xr-x 4 root root      46 Oct  1 15:24 tmp
drwxr-xr-x 2 root root      50 Oct  1 15:24 Uninstaller
drwxr-xr-x 2 root root      38 Oct  1 15:24 webapp
[root@ip-172-31-33-55 sync]# java -jar sync.jar

HTTPS化を行う場合は以下のヘルプを参照下さい。

http://cdn.cdata.com/help/ASE/jp/sync/Java-Edition.html#ssltls-%E3%81%AE%E6%9C%89%E5%8A%B9%E5%8C%96

CDataSync 接続後、以下のようにAutify コネクタが表示されれば追加が完了となります。
f:id:sennanvolar44:20201116123711p:plain

Autify 、BigQuery への接続設定

Autify 接続設定

まずはAutify の接続設定から行います。
名前、ApiKey、プロジェクトIDを入力し、接続のテストを行います。問題なければ保存します。
f:id:sennanvolar44:20201002140434p:plain

BigQuery 接続設定

Sync では、レプリケートジョブを実行時に同期先DBに対してテーブルを自動で作成するようになりますが、その際にBigQueryの情報として必要なのがプロジェクトIDとデータセットIDになりますので、この情報をBigQueryのコネクション設定画面で入力します。

ヘッダーで「接続」をクリックして以下の画面を表示後、「同期先」→「BigQuery」の順でクリックしていきます。
f:id:sennanvolar44:20200922210441p:plain

今回、BigQuery への接続にはサービスアカウントを使用します。接続情報ファイルの内容をコピーして以下項目に設定お願いします。

【設定タブ】

  • 名前:BigQuery
  • フォーマット設定:プロパティリスト
  • Auth Scheme:OAuth
  • Dataset Id:利用するBigQueryのデータセットID(RDBでいうスキーマ
  • Project Id:GCP のプロジェクトID

【Advancedタブ】

  • OAuth JWT Cert: p12ファイルのパス
  • OAuth JWT Cert Password:パスワード
  • OAuth JWT Cert Subject: *
  • OAuth JWT Cert Type:PFXFILE
  • OAuth JWT Issuer: サービスアカウント名

入力完了後、設定タブに戻って右下の接続ボタン押下をクリック
f:id:sennanvolar44:20200922210032p:plain

接続テストが正常に完了した場合は、画面に緑色の帯でSuccessなどと表示されますので、右上の「変更を保存」で保存を行います。
f:id:sennanvolar44:20200922210332p:plain

これでBigQueryのコネクション設定が完了です。

ジョブ作成・実行

ヘッダーの「ジョブ」→「ジョブを追加」でジョブの枠を作成します。ソースにAutify、同期先にBigQuery を指定して作成します。
f:id:sennanvolar44:20201002141816p:plain

「テーブルを追加」をクリックすると、テストシナリオやテスト結果を選択できるようになっています。今回はScenarios とTestPlanResults を選択ししてシナリオとテスト結果の同期を行ってみます。
※TestCaseResultsと、TestPlanCapabilityResults は必ずTestIdが必要となりますので、ご注意ください。
f:id:sennanvolar44:20201002142241p:plain

選択すると、自動的にクエリがセットされますので、左側のチェックボックスをオンにして実行ボタンをクリックします。
レプリケートが完了しますと、実行日時とレプリケート件数が表示されます。
f:id:sennanvolar44:20201002143510p:plain

それではBigQuery コンソールを参照してみましょう。
今回使用しているAutify データセットの中に、Scenarios とTestPlanResults とうテーブルが作成され、レコードも格納されていることが確認できました。
f:id:sennanvolar44:20201002144130p:plain

ジョブのスケジューリング

ジョブ画面の中段にある「スケジュール」タブよりジョブ実行のスケジューリングを行うことが出来ます。
以下は毎日23時に行うようにセットしていますが、時間単位、分単位の設定も可能です。
f:id:sennanvolar44:20201002144433p:plain

設定後は、以下の画面で次の実行タイミングが表示されるようになります。
f:id:sennanvolar44:20201002144630p:plain

これで、定期的にテストデータをBigQuery に連携できるようになりました。

おわりに

いかがでしたでしょうか。今回のようにCDataSync を使うことでAutify のデータを簡単にBigQuery にレプリケートすることができました。
BigQuery 以外の場合でも同じ手順を踏むことで同期先を簡単に変更することができます。