LoginSignup
16
17

More than 5 years have passed since last update.

TagUI 4.0 : AIシンガポール発RPAの日本語解説

Last updated at Posted at 2018-07-09

はじめに

探したけど、日本語の解説が皆無だったので、大まかに翻訳しながら覚書作り…。
はじめに謝っておきます。すみません、自分用のメモなのでかなり適当です

TagUI オフィシャルレポジトリ

AIシンガポール オフィシャルサイト

TagUIは、デジタルプロセスオートメーション(RPA)用のCLIツールです。
TagUIは、シンガポール政府が資金を提供して、人工知能を開発する企業、AIシンガポールによって運営されています。
利用開始には、チュートリアル、スライド、またはビデオをチェックしてください。
この自動化製品は、RPA(ロボットプロセス自動化)として商業的に知られており、
主にマウスクリックやキーボード入力などのコンピュータアプリケーションとのユーザー対話を再現することを目指しています。

なるほど、政府主導のツールなんですね。次に、見出し部分を訳しました。

TagUIは、デジタルプロセスオートメーション(RPA)用のCLIツールです。
人工知能を構築するために政府が資金を提供しているAIシンガポールによって維持されています。
開始するには、チュートリアル、スライド、またはビデオをチェックしてください。

特徴
 可視または不可視のChromeを自動化する
 ウェブサイトとデスクトップの視覚的自動化
 20カ国以上の人間言語とJavaScriptで書く
 ウェブアクションを記録するためのChrome拡張機能
 ビッグデータ/ AI / ML用のR&Python統合

何のためのものですか?

UI(ユーザーインターフェイス)の自動化の目的は、Webサイトやデスクトップとのコラボレーションを再現し、
コンピュータがあなたのスケジュールや条件に基づいてあなたのためにできるようにすることです。 
TagUIを使用すると、プロセスの自動化、データ取得、Webアプリケーションのテストなど、
繰り返しまたは時間のかかるタスクを迅速に自動化できます。

詳細な情報や、フローサンプルセクションに直接ジャンプして、自然言語のような構文でTagUIの自動化の例を参照してください。こ
れは完全な機能を備えた無料のオープンソースツールであるため、
アップグレードすることも、有料のサブスクリプションもありません。

意見やバグをフィードバックするには、ディスカッションするか、ksoh@aisingapore.orgにメールしてください。

特徴

  • 主な強み
クロスプラットフォーム、Windows、MacOS、Linuxで動作
ユーザーがソースコードを表示できるようにセキュリティを強化
フィーチャの改善における迅速な反復サイクル
Apache 2.0オープンソースライセンスの下で使用する$ 0
使いやすく、したがって迅速な開発+展開
ITポリシーの展開が簡単で、簡単に解凍して実行できます
AI / ML / DL用のPythonとRとのネイティブな統合
Azure / Amazon認知サービスへの簡単なAPIコール
  • ニュートラルの違い
フローチャートではなく21の人間言語で書かれたスクリプト
C#/ VBの代わりに高度なスクリプトのためのJavaScript
視覚的およびOCRベースのデスクトップアプリケーションの自動化
  • 主な弱点
エンタープライズ監査、コントロール、ダッシュボード、レポートの欠如
インシデントハンドリングのためのSLAまたは24/7サポートチームの欠如
大規模な開発チームの欠如(容易に> 30人)
長年に亘って成長したユーザー/開発者ベースの欠如
コンサルタント/パートナーネットワークの不足

TagUIは、異なる人間言語の意図をUIオートメーションを実行するJavaScriptコードの行に変換します。
内部では、Chrome DevToolsプロトコル、Sikuli、CasperJS、PhantomJS&SlimerJSを使用しています。

動作機構

image.png

セットアップ

TagUIは、Windows、macOS、Linux上で動作します。
TagUIは、セットアップは不要です。ただパッケージを展開するだけで利用できます。
またほとんどの環境で、必要な依存関係はすべてパッケージ化されています。

  • macOS

  • Linux

  • Windows

※ TagUIのいくつかのコンポーネントがスペースの入ったフォルダ、またはファイル名でうまく動作しないため、パスやフローファイル名のスペースを避ける

  • 推奨される展開場所について
 Windows - c:\
 macOS - desktop
 Linux - /home/your_id

既知のトラブルシューティング

  • Windowsコンピュータの場合、「MSVCR110.dllが見つかりません」というエラーが表示された場合は、MicrosoftのWebサイト(vcredist_x86.exeを選択)からインストールしてください。このファイルはTagUIパッケージのWindows PHPエンジンを実行するために必要です。

  • 新しいMacOSバージョンでは、 'dyld:Library not loaded'エラーが発生した場合、この方法でOpenSSLをインストールしてください。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update && brew upgrade
brew install openssl

すでにHomebrewが導入されている場合は、以下の手順

brew update && brew upgrade
brew install openssl
  • PHPがあらかじめインストールされていないLinux(Ubuntuなど)では、GoogleにPHPをインストールする方法(例:Ubuntu、apt-get install php)があります。ほとんどのLinuxディストリビューションにはすでにPHPが付属しています。

Redhat系

sudo yum install php

Debian系

sudo apt-get install php

※オプション - ブラウザの解像度、ステップタイムアウト(10秒など)など、システムの初期設定は、tagui_config.txtにて設定を記述し適用します。

使い方(概要)

このセクションでは、TagUIの実行、Chrome拡張機能の使用、およびいくつかの例についての解説を行います。
まず、コマンドラインでのTagUIの実行について。

  • Windows
tagui.cmd flow_filename [オプション]
  • macOS / Linux
./tagui flow_filename [オプション]

フローファイルは、ローカルファイル(./filename)または、オンラインファイルのURL(https://hostname/filename)にすることができます
ファイル名には拡張子がなく、.txtまたは.jsまたは.tagui拡張子など任意に設定して問題ありません
パラメータなしでtaguiと入力すると、バージョンとオプションが表示されます

コマンドプロンプトやターミナルフォントのサイズが小さすぎる場合は、
読みやすいようにもっと大きなフォントサイズに設定することができます。

次の例では、Yahoo Webサイトで検索を実行し、結果のスクリーンショットをキャプチャするスクリプトを実行します

  • Windows

taguiフォルダをc:\に解凍します。
「スタート」メニュー - >「ファイル名を指定して実行」 - >「cmd」と入力し、次のように入力します

C:
cd\
cd C:\tagui\src
tagui samples\1_yahoo
  • macOS

taguiフォルダをデスクトップに解凍します。
Apps - > Utilities - > Terminalからターミナルを開き、次のように入力します

cd /Users/your_id/Desktop/tagui/src
./tagui samples/1_yahoo
  • Linux

taguiフォルダをホームフォルダ、例えば/home/your_idに解凍し、次のように入力します

 cd /home/your_id/tagui/src
 ./tagui samples/1_yahoo

スクリプトがうまくいけば、5つの.pngファイルが出来上がるでしょう

  • 可視状態で実行状態の確認をするには

これで、chromeオプション(Windowsの場合はtagui samples\1_yahoo chrome、macOS / Linuxの場合は./tagui samples/1_yahoo chrome)を入力して、Chromeブラウザで同じ自動操作を試すことができます。
どのようにオペレーションがされているか、サンプルではYahoo!とDuckDuckGoのウェブサイトを用いた操作を見ることができます。

外部からの実行について

TagUIは、デスクトップアイコン、スケジュールされたタスク、またはREST API呼び出しから実行することもできます。

  • TagUIでサポートされるコマンドラインオプションとその概要
オプション 概要
headless デフォルトのPhantomJSではなく、見えないChromeウェブブラウザで実行 (first install Chrome)
chrome 見えないPhantomJSではなく、目に見えるChromeウェブブラウザで実行 (first install Chrome)
firefox 見えないブラウザではなく、目に見えるFirefox Webブラウザで実行 (first install Firefox)
upload 自動化フローと結果をhastebin.comにアップロード (expires 30 days after last view)
report ウェブサーバー上で実行結果を共有するためのWebレポート (default is only a text log file)
debug PhantomJSのランタイムバックエンドメッセージを表示して詳細なトレースとロギングを行う
quiet 明示的な出力を除いて出力なしで実行する (echo / show / check / errors etc)
speed データテーブル読み込みの3秒間の遅延をスキップする (and skip restarting of Chrome)
test CI / CD統合のためのチェックステップテストアサーションによるテスト (output XUnit XML file)
baseline 実行ログと相対パス出力ファイルを別のベースラインディレクトリに出力する
input(s) 自動化フローで使用する独自のパラメータを変数p1〜p9として追加します
data.csv 多くのレコードのバッチ自動化のためのデータテーブルとして使用するcsvファイルを指定する
  • オートメーションログファイル、および任意のディレクトリからtaguiを実行する方法

各自動化の実行後、.logファイルは実行の出力を格納するために作成され、.jsファイルは生成されたJavaScriptファイル、.rawはそのフローで呼び出されたモジュールのサブスクリプトを読み込んだ後の展開されたフローです。これらのファイルはユーザー参照のためのもので、オートメーション・フローのデバッグやトラブルシューティングに役立ちます。

  taguiをどこからでも実行でき用にするには:

  MacOS / Linuxの場合、シンボリックリンクを作成するには、以下のコマンドを使用します。
  ln -sf /full_path/tagui/src/tagui /usr/local/bin/tagui

  Windowsの場合、環境変数PATHにインストール先フォルダを追加してください。(任意のパスに展開した場合はパスをフルパスで追加)
  PATH=C:\tagui\src;

※Firefox / SlimerJSを使用してオートメーションを可視状態で実行するのに問題がある場合、以下のサイトを参考に設定する
https://docs.slimerjs.org/current/installation.html#using-unstable-version-or-very-old-versions-of-firefox

  • タスク実行

Mac/Linuxの場合、Crontabであれば以下のように設定できます

#Crontab 1行目付近###
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/full_path/tagui/src
#####################

0 8 * * * /full_path_on_your_server/tagui flow_filename option(s)

この場合、内部的にパスが通っていないと実行されないため、実行ユーザの環境変数からPATHを持ってきておきましょう。

Windowsの場合、タスクスケジューラに設定します

 トリガー : 時間
 プログラム/スクリプト : C:\tagui\src\tagui.cmd
 引数の追加(オプション) : C:\tagui\src\flow_filename option(s)

注意点としては、フローファイルもフルパスで指定することです。

  • CHROME 拡張機能

TagUI Chrome拡張機能は、Resurrectioツールに基づいており、ページナビゲーション、Web要素のクリック、情報の入力などの手順を記録します。オートメーションフローの記録を開始するには、ChromeツールバーのTagUIアイコンをクリックします。右クリックすると、Webページのスクリーンショットのキャプチャや要素識別子の表示など、いくつかのTagUIステップへのショートカットが表示されます。
録画は完全なものではありません(たとえば、基礎となる録画エンジンがフレーム、ポップアップウィンドウ、タブキー入力をキャプチャできないなど)。手動ですべてを入力するのではなく、一部の編集でフロー作成を簡素化することを目的としています。ステップのシーケンスの記録、調整の編集、オートメーションの再生の例については、このビデオを参照してください。

  • 対応言語

tagui_config.txtにて、自然言語の設定をします、デフォルトは english

tagui_config.txt
// TagUI web automation browser settings
// verbose style to support tester module

// set default flow language
var tagui_language = 'english';

// set time in ms before error out
casper.options.waitTimeout = 10000;
casper.options.logLevel = 'debug';

// set web browser display size
casper.options.viewportSize = {
width: 1366,
height: 768
};

// settings for PhantomJS mode
casper.options.pageSettings = {
loadImages: true,
loadPlugins: true,
webSecurityEnabled: true,
ignoreSslErrors: false,
localToRemoteUrlAccessEnabled: false
};

他の言語の情報は以下にあります。が、Japaneseを選ぶとなんとなく微妙な気分になります、正直フローを書くのに日本語は向いてないです。

EN JA
click クリック
tap タップ
move 動く
hover ホバー
type タイプ
enter 入る
select 選択する
choose 選択する
read 読む
fetch フェッチ
show ショー
print 印刷する
save セーブ
echo エコー
dump ダンプ
write 書きます
snap スナップ
table
live ライブ
download ダウンロード
upload アップロード
load 負荷
receive 受け取る
frame フレーム
popup 現れる
wait 待つ
timeout タイムアウト
seconds
second 二番
api api
dom dom
js js
else if else if
else else
if if
for ために
while while
check チェック
more than or equals to 以上または等しい
more than or equal to 以上
greater than or equals to より大きいか等しい
greater than or equal to 以上
higher than or equals to より高いか等しい
higher than or equal to 以上
less than or equals to より小さいか等しい
less than or equal to 以下
lesser than or equals to より小さいか等しい
lesser than or equal to より小さいか等しい
lower than or equals to より小さいか等しい
lower than or equal to より小さいか等しい
more than より多い
greater than より大きい
higher than よりも高い
less than 未満
lesser than より小さい
lower than より低い
not equals to 等しくない
not equal to 等しいではない
equals to 等しい
equal to に等しい
not contains 含まれていない
not contain 含まれていない
contains 含まれる
contain 含む
and そして
or または
from から
to
as として
title() タイトル()
url() url()
text() テキスト()
timer() タイマー()
count() カウント()
present() プレゼント()
visible() visible()
  • 画像認識

TagUIには、Sikuli(OpenCVベース)との統合機能が組み込まれており、相互作用のためのWeb要素とデスクトップユーザーインターフェイス要素を識別できます。ビジュアルオートメーションをサポートする手順は、クリック、ホバー、タイプ、選択、閲覧、表示、保存、スナップです。要素識別子の代わりに視覚的に見えるもののイメージファイル名(.pngまたは.bmp形式)を指定するだけで、通常の自動化手順と一緒にビジュアルオートメーションを使用することができます。また、ビジョンステップを使用することで、複雑なキーストロークシーケンスを入力するなどのカスタムSikuliコマンドを送信できます。
Sikuliは、インストーラによって処理される複雑な依存関係のため、TagUIパッケージインストールから除外されています。まず、Java JDK v8がインストールされていることを確認します。 Sikuliをtagui / src / tagui.sikuliフォルダにダウンロードしてセットアップします(オプション1 - Pack1を選択してください)。セットアップ中にエラーメッセージをダウンロードした場合は、このファイルの内容をtagui / src / tagui.sikuliフォルダに解凍し、sikulixsetup-1.1.3.jarを右クリックして開くか、管理者として実行してください。 Windowsでは、表示倍率が100%に設定されていることを確認してください。
特定の要素の代わりに画面に入力するには、page.pngをテキストとして入力するか、page.bmpをテキストとして入力します。画面全体のスナップショットまたはOCRを実行するには、snapまたはreadのステップの要素識別子としてpage.pngまたはpage.bmpを使用します。通常のヘルパー関数visible()/ present()を使用して、画像が画面上に見えるかどうかを確認することもできます。画像ファイル名には相対パスがサポートされています(例:pc.png、images / button.bmp)。ビジュアルオートメーションには画面(リアルまたはXvfb)が必要です。 Tesseract OCR(光学式文字認識)は、視覚的にテキストを検索するために使用されます。

  • PYTHON

TagUIには、大規模なデータや機械学習のための多くの一般的なフレームワークを持つプログラミング言語であるPythonとの組み込み統合機能(v2とv3の両方に対応)があります。 pyステップは、Pythonでコマンドを実行し、それらのコマンドの出力を取得するために使用できます。 TagUIでPythonの統合を使用するには、まずあなたのOS用のPythonをダウンロードしてください。 macOSとLinuxは通常、Pythonでプリインストールされています。コマンドプロンプトからpythonコマンドにアクセスできることを確認してください。

// using py step to denote Python code, and getting back output from py_result
py a=1;b=2
py c=a+b
py print(c)
echo py_result

// alternatively, you can use py begin and py finish to denote a Python code block
// indentation of Python code is also supported, for example in conditions or loops
py begin
a=1;b=2
c=a+b
print(c)
py finish
echo py_result

// an example of passing dynamically generated variables to Python integraton
phone = 1234567
name = 'donald duck'
py_step('phone = ' + phone)
py_step('name = "' + name + '"')

py print(name)
echo py_result
py print(phone)
echo py_result
  • R

TagUIには、統計的な計算やグラフィックスのためのオープンソースのソフトウェア環境であるRとの統合機能が組み込まれています。 Rは大きなデータと機械の学習に使用できます。 rステップを使用して、Rでコマンドを実行し、それらのコマンドの出力を取り出すことができます。 TagUIでR統合を使用するには、まずあなたのOS用のRソフトウェアをダウンロードします。コマンドプロンプトからRscriptコマンドにアクセスできることを確認してください(パスに追加するか、シンボリックリンクしてください)。

// using r step to denote R code, and getting back output from r_result
r a=1;b=2
r c=a+b
r cat(c)
echo r_result

// alternatively, you can use r begin and r finish to denote a R code block
r begin
a=1;b=2
c=a+b
cat(c)
r finish
echo r_result

// an example of passing dynamically generated variables to R integraton
phone = 1234567
name = 'donald duck'
r_step('phone = ' + phone)
r_step('name = "' + name + '"')

r cat(name)
echo r_result
r cat(phone)
echo r_result
  • CLI補助

TagUIスクリプトはJavaScriptコードに変換するための自然言語のような構文になっています。コマンドラインで自然言語に似た構文を使用するとさらに優れています。 tagui download_bank_report june creditcardを入力する代わりに、パラメータjune creditcardを使用してオートメーションフローdownload_bank_reportを実行すると、erina download my june creditcard bank reportと入力できます。これは、実行するために保存したオートメーションファイル名を呼び出すよりも直感的です。アシスタントの実際のCLI(コマンドラインインターフェイス)のデモについては、このビデオを参照してください。

  • FLOW SAMPLES
Flow Sample Purpose
1_yahoo ヤフーでgithubを検索し、結果のスクリーンショットをキャプチャ
2_twitter Twitterのページに行き、いくつかのプロフィール情報を保存する
3_github GitHubページに行き、リポジトリファイルをダウンロードします
4_conditions 自然言語で条件を使用する例
5_repositories ロシアのソーシャルメディアサイトVK.comでリポジトリを使用しています
6_datatables 一連のフローは、GitHub情報を取得して動作させるためにデータテーブルを使用します
7_testing CI / CD統合にチェックステップアサーションを使用する方法を示します
8_hastebin アップロード結果をhastebin.comにアップロードするアップロードオプションで使用
9_misc popup、frame、dom、js、{}ブロックの使用方法を示します。
a_facedetect 顔認識を使用してウェブページ上のプロフィール画像を検出する
b_visualoutlook デスクトップMS Outlookの電子メール送信に視覚的認識を使用する
c_chineseflow 他の言語でフローを実行する (first, change src/tagui_config.txt)
  • フローステップについて
Basic Step Parameters (separator in bold) Purpose
http(s):// 移動先URLを入力する ('+variable+' for variable) 指定されたウェブページに行く
click クリックする要素 要素をクリックする
rclick 要素を右クリックする 要素を右クリック
dclick ダブルクリックする要素 要素をダブルクリックする
hover ホバーする要素 カーソルを要素に移動する
type テキストとしての要素 ([enter] = enter, [clear] = clear field) 要素をテキストとして入力
select オプション値として選択する要素([clear] = clear selection) ドロップダウンオプションを選択
read 読み込む要素(page = webpage) to variable name 要素テキストを変数にフェッチする
show 読み込む要素 (page = webpage, ie raw html) 出力する要素テキストを出力する
save 要素(page = webpage)からオプションのファイル名 要素テキストをファイルに保存する
load ファイル名から変数名へ ファイルコンテンツを変数にロードする
echo テキスト(引用符で囲む)と変数 出力するテキスト/変数を出力する
dump テキスト(引用符で囲む)と変数(オプションのファイル名) テキスト/変数をファイルに保存する
write テキスト(引用符で囲む)と変数(オプションのファイル名) テキスト/変数をファイルに追加する
variable_name =値(テキストの場合は引用符で、連結の場合は+を使用) 変数variable_nameを定義する
// (on new line) ユーザーのコメント(実行中は無視されます) ユーザーのコメントを追加する
tagui 相対ファイル名または絶対ファイル名(MODULESセクションを参照) 別のフローを実行する
ask ユーザに対する質問または指示(ask_resultに格納された返信) ユーザーに入力を求める
live Chrome /ビジュアル自動化のためのステップやコードのインタラクティブな試行 ライブモードに入る(まだFirefoxはない)
  • チェック、api、実行、dom、js、r、py、ビジョン、コードブロックなど
Pro Step Parameters (separator in bold) Purpose
snap 要素(page = webpage)からオプションのファイル名 スクリーンショットをファイルに保存する
snap (pdf) page to filename.pdf(Headless Chrome / PhantomJS) ウエブページを基本的なPDFにする
table 要素(XPathセレクターのみ)からオプションのfilename.csv Tableタグをcsvに保存
wait オプションの時間(秒) (default is 5 seconds) 明示的にある時間待つ
check falseの場合は真のテキスト(引用符で囲む)の場合は条件文(引用符で囲む) 条件を確認して結果を出力する
upload アップロードするファイル名としての要素(CSSセレクタのみ) ファイルをウェブサイトにアップロードする
download 保存するファイル名にダウンロードするURL URLからファイルにダウンロードする
receive 保存するファイル名を調べるurlキーワード ファイルへのリソースを受け取る
frame フレーム名サブフレーム名(存在する場合) 次のステップまたはフレーム/サブフレーム内のブロック
popup 検索する新しいタブウィンドウのurlキーワード 新しいタブウィンドウで次のステップまたはブロック
{ and } {ブロックを開始するには}を使用し、ブロックを終了するには(新しい行に) ステップとコードのブロックを定義する
api api呼び出しの完全なurl(パラメータを含む) api_resultに応答する
run パラメータを含むOSシェルコマンド OSコマンドを実行して&run_resultに保存してください
dom ドキュメントオブジェクトモデルのJavaScriptコード domのコードを実行し、dom_resultに保存します。
js javascript文(自動検出をスキップ) 明示的にJSコードとして扱う
r 大きなデータと機械の学習のためのRステートメント R文を実行してr_resultに保存する
py ビッグデータと機械学習用のPythonコード Pythonコードを実行してpy_resultに保存する
vision カスタムビジュアル自動化コマンド カスタムsikuliコマンドを実行する
timeout ステップエラーが発生するまでの秒数 自動待ちタイムアウトを変更する

また、コードの記述を補助するツールもWindowsのみですが存在します。

TagUI Writer ダウンロード
起動すると常駐するので、その状態で、CTRLキーを押しながら、クリックすると、フローコード入力の補助を行ってくれます。

  • 条件例
Condition (in natural language) JavaScript
example - if day equals to "Friday" if (day == "Friday")
example - if menu contains "fruits" if (menu.indexOf("fruits")>-1)
example - if A more than B and C not equals to D if ((A > B) && (C != D))
example - for n from 1 to 4 for (n=1; n<=4; n++)]
example - for n from 1 to infinity for (n=1; n<=1024; n++)]
example - while cupcakes equal to 12 while (cupcakes == 12)
contain .indexOf("text")>-1
not contain .indexOf("text")<0
equal to ==
not equal to !=
more than / greater than / higher than >
more than or equal to / greater than or equal to / higher than or equal to >=
less than / lesser than / lower than <
less than or equal to / lesser than or equal to / lower than or equal to <=
and &&
or ||
  • ヘルパー機能
Function Purpose
csv_row(row_array) csvファイルに書き込むためのフォーマットされた文字列を返します。
present('element') 指定された要素識別子が存在するかどうかをtrueまたはfalseで返します。
visible('element') 指定された要素識別子が可視かどうかをtrueまたはfalseで返します。
count('element') 指定された要素識別子に一致する要素の数を返す
url() 現在のWebページのページURLを返す
title() 現在のWebページのページタイトルを返す
text() 現在のWebページのテキストコンテンツを返す
timer() ページロードの時間測定
  • モジュール

これにより、複雑なフローを構築するために自動化スクリプトを再利用して複合化することができます

サブスクリプトは、複数の深さで、ファイル名や拡張子を持つことができます
サブスクリプトを呼び出すには、taguiステップの後に絶対または相対ファイル名を使用します
たとえば、tagui login_crmまたはtagui crm.loginまたはtagui outlook \ sendmail
変数は、親スクリプトとサブスクリプトで直接使用または変更できます

ヒント - taguiステップは、サブスクリプトの内容をtaguiステップが使用される行で、サブスクリプトの内容をフローに展開することによって機能します。したがって、親フローファイルからアクセス可能な変数には、サブスクリプトからアクセスすることもできます。オートメーション・フローの拡張内容を格納する.rawファイルが作成されます(エラー・メッセージのチェックに役立ちます)。別の方法として、実行ステップを使用してフローファイルでtaguiを実行して、別の子プロセスとして実行することもできます。

  • リポジトリ

リポジトリのcsvファイルには2つの列があります(例:名前を付けるヘッダー)

TagUIは、フローの同じフォルダ内のローカルリポジトリファイルtagui_local.csvを検索します
TagUIは、tagui / srcフォルダ内のグローバルリポジトリファイルtagui_global.csvも検索します
あなたのフローで objectを使うと、それをその定義に置き換えます(オブジェクトを含むことができます)
例えば、 type emailは、user@gmail.comのようにタイプuser-email-textboxになります。

OBJECT DEFINITION
email user-email-textbox
create account btn btn--green btn-xl signup-btn
type email type email as user@gmail.com
  • データテーブル

TagUIを実行しているときは、使用するcsvファイルを指定します。たとえば、tagui flow_filename trade_data.csv

TagUIは各行をループして、異なる行のデータを使用して自動化を実行します
例えば、あなたの流れの中のTESTCASE - testnameをエコーし​​ます。TESTCASE - Trade USDSGD
echo `[iteration]'は現在の繰り返し番号を表示するためにあなたのフローで使うことができます
TagUI内部用のtagui / srcフォルダにtagui_datatable.csvファイルが作成されます

# testname username password pair size direction
1 Trade USDSGD test_account 12345678 USDSGD 10000 BUY
2 Trade USDSGD test_account 12345678 USDJPY 1000 SELL
3 Trade EURUSD test_account 12345678 EURUSD 100000 BUY
  • ライセンス

TagUI is open-source software released under Apache 2.0 license

最後に

ちょっと使えるかどうか調査するだけだったので、すごいメモ感ありますが、反響があるようだったらもうちょっとしっかり書きます…
こんな、メモが参考になれば幸いです。

16
17
3

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
16
17