ここでは、Yaml形式でタスクがどのように記述されるかを説明します。基本的には、一般的なYamlの形式と同じものですが、 Robotic Crowdでは、DigdagというOSSで拡張されたYamlを使っています。
例えば、ロボットを動かしてみる で紹介したYamlのはじめの2つのアクションで説明します。
# Yahoo! Japan を開く+open_browser_1:action>: OpenBrowserurl: 'https://www.yahoo.co.jp/'headless: true# 検索フィールドにミーアキャットを入力+type_text_1:action>: TypeTextbrowser: +open_browser_1selector: 'input[type=search]'text: 'ミーアキャット'clearValue: falseignoreError: true
2行目の、 +open_brower_1
という部分が、タスク名になっています。+
から始まるのが特徴的です。このタスク名の中に、パラメーターを渡していきます。
3行目の、action>: OpenBrowser
という部分は、 action>
というところで、このタスクが、アクションタスク(何らかのアウトプットを出すタスク)であることを表しています。 OpenBrowser
というところは、ここで呼び出すアクションが、OpenBrowser
というアクションであると定義しています。
4行目の、url
というのは、アクションのパラメーターで、OpenBrowserアクションの場合は、urlというパラメーターが必須パラメーターとなっています。urlには、文字列でURLを設定します。
OpenBrowserというアクションの使い方をまとめてみます。
ブラウザ(Chromium)を起動して、指定されたウェブサイトを開きます。アウトプットは、起動したブラウザのウェブソケットアドレスになります。
名前 | 型 | 概要 | 例 |
url | 文字列 | 最初に開くウェブサイトのURL |
タイプ | 型 | 概要 | 例 |
Browser | 文字列 | 起動したブラウザのWebSocketアドレス | ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0 |
型というのは、Yaml形式上の型のことですが、アウトプットの説明のところの「タイプ」というものは、Robotic Crowd内で利用されている独自の分類で、多くの場合タイプとは、特定の形式をした文字列のことです。上記の場合、ブラウザの接続先アドレスの形式をした文字列をBrowserタイプと呼んでいます。タイプは、ドラッグ&ドロップで設定するヴィジュアルモードでのみ使われています。
OpenBrowserというアクションのアウトプットが、ブラウザの接続先アドレスとなっているので、このアドレスを再利用することで、同じブラウザを操作し続けることができるようになります。しかし、アウトプットの接続先アドレスは、非常に複雑な形をしておりとても使いこなせそうにないと思った方もいるのではないでしょうか。あとで説明しますが、アクションのアウトプットを再利用する方法はシンプルなので、この複雑な文字と格闘する必要はありません。
さて、7行目以降を見てみましょう。同じように、タスク名が定義され、TypeTextというアクションタスクが呼び出されるように定義されていることがわかります。action>:
以降の行は、呼び出すアクションによって異なるパラメーターとなります。TypeTextの場合は、browser, selector, text, clearValueが、必須パラメーターになっています。
ブラウザの指定の場所に文字を入力するアクション。出力は、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]
という場所が指しているのは、検索ワードを入力するフィールドですので、そこに、ミーアキャットと入力しています。もとから値が入っている場合は、それを消去するような設定になっています。