タスクのYamlでの記述
Yaml形式での記述
ここでは、Yaml形式でタスクがどのように記述されるかを説明します。基本的には、一般的なYamlの形式と同じものですが、 AUTOROでは、DigdagというOSSで拡張されたYamlを使っています。
例えば、ロボットを動かしてみる で紹介したYamlのはじめの2つのアクションで説明します。
# Yahoo! Japan を開く
+open_browser_1:
action>: OpenBrowser
url: 'https://www.yahoo.co.jp/'
headless: true
# 検索フィールドにミーアキャットを入力
+type_text_1:
action>: TypeText
browser: +open_browser_1
selector: 'input[type=search]'
text: 'ミーアキャット'
clearValue: false
ignoreError: true
1行目の #
から始まる行は任意のコメントを設定できます。ただし以下の文字が含まれている場合エラーが発生する場合があります。\
使用できない可能性がある文字: !, `, @, %, &, *, -, {, }, [, ], |, :, ", ', ,(カンマ), / (すべて半角)\
使用できる文字: $, ^, (, ), _, =, +, 半角・全角英数字, 半角・全角カナ, 全角記号, 日本語 等
2行目の、 +open_brower_1
という部分が、タスク名になっています。+
から始まるのが特徴的です。このタスク名の中に、パラメーターを渡していきます。
3行目の、action>: OpenBrowser
という部分は、 action>
というところで、このタスクが、アクションタスク(何らかのアウトプットを出すタスク)であることを表しています。 OpenBrowser
というところは、ここで呼び出すアクションが、OpenBrowser
というアクションであると定義しています。
4行目の、url
というのは、アクションのパラメーターで、OpenBrowserアクションの場合は、urlというパラメーターが必須パラメーターとなっています。urlには、文字列でURLを設定します。
OpenBrowserというアクションの使い方をまとめてみます。
OpenBrowser
概要
ブラウザ(Chromium)を起動して、指定されたウェブサイトを開きます。アウトプットは、起動したブラウザのウェブソケットアドレスになります。
パラメーター
名前 | 型 | 概要 | 例 |
---|---|---|---|
url | 文字列 | 最初に開くウェブサイトのURL | https://yahoo.co.jp |
アウトプット
タイプ | 型 | 概要 | 例 |
---|---|---|---|
Browser | 文字列 | 起動したブラウザのWebSocketアドレス | ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0 |
型というのは、Yaml形式上の型のことですが、アウトプットの説明のところの「タイプ」というものは、AUTORO内で利用されている独自の分類で、多くの場合タイプとは、特定の形式をした文字列のことです。上記の場合、ブラウザの接続先アドレスの形式をした文字列をBrowserタイプと呼んでいます。タイプは、ドラッグ&ドロップで設定するヴィジュアルモードでのみ使われています。
OpenBrowserというアクションのアウトプットが、ブラウザの接続先アドレスとなっているので、このアドレスを再利用することで、同じブラウザを操作し続けることができるようになります。しかし、アウトプットの接続先アドレスは、非常に複雑な形をしておりとても使いこなせそうにないと思った方もいるのではないでしょうか。あとで説明しますが、アクションのアウトプットを再利用する方法はシンプルなので、この複雑な文字と格闘する必要はありません。
さて、7行目以降を見てみましょう。同じように、タスク名が定義され、TypeTextというアクションタスクが呼び出されるように定義されていることがわかります。action>:
以降の行は、呼び出すアクションによって異なるパラメーターとなります。TypeTextの場合は、browser, selector, text, clearValueが、必須パラメーターになっています。
TypeText
概要
ブラウザの指定の場所に文字を入力するアクション。出力は、OpenBrowserと同じくブラウザの接続先アドレス。
パラメーター
名前 | 型 | タイプ | 概要 | 例 |
---|---|---|---|---|
browser | 文字列 | Browser | ブラウザの接続先 | +open_browser_1 |
selector | 文字列 | Text | 操作対象のCSSセレクタ | input#srchtxt |
text | 文字列 | Text | 入力する文字列 | ミーアキャット |
clearValue | 真理値 | Boolean | すでに入力されている文字列を消去してから入力するかどうか。 | true |
アウトプット
タイプ | 型 | 概要 | 例 |
---|---|---|---|
Browser | 文字列 | ブラウザの接続先 | ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0 |
browserというパラメーターは、ブラウザの接続先を設定しないといけないのですが、OpenBrowserがブラウザの接続先をアウトプットとして出すので、それを再利用するために、+open_browser_1 という文字列を設定すれば良いということになります。このように、アクションタスクは、1つのアウトプットを持つように設計されているため、アウトプットを再利用するには、タスク名を文字列で入力すればそのアウトプットを取得してくるようになっています。アクションタスクの場合、+から始まる文字列は、自動的にタスクのアウトプットを取得するようになっているので注意してください。
上記の例の設定だと、input[type=search]
という場所が指しているのは、検索ワードを入力するフィールドですので、そこに、ミーアキャットと入力しています。もとから値が入っている場合は、それを消去するような設定になっています。