5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Automation Anywhere Enterprise (v11)のKeystrokesコマンドの挙動を検証してみた

Last updated at Posted at 2019-12-08

はじめに

Keystrokesコマンドの挙動を少し検証してみました。
こちらのコマンド、公式のドキュメントではDelayについては、「デフォルト値は0です。」としか書かれていません。
実際、最後の一文字の後に遅延は入るのかなど、謎が多かったので、挙動を可視化してみることにしました。

試した環境

Automation Anywhere Community Edition ver 11
LabVIEW 2019 Base Package

実験してみる

確かめたかったのは、コマンド内で設定できるDelayがどう働くのかと、どれくらいの精度でタイミングよく打ってくれるか。
また、コマンド間で遅延は発生するのか。など。
こんなようなBotを作成して、検証用のツールのユーザーインターフェースに文字を入力させます。

image.png
テスト用のツールはこんなようなものを用意しました。
LabVIEWという計測制御用の開発ツールで作りました。(2020年以降にCommunity Editionが出るみたいです。)
上の白い入力フォームに文字が一文字追加されると、チャートに波形として出てくるようになってます。
最速で1msの周期でアップデートされるように作っています。精度はそれなりです・・・。

image.png

結果

実際文字を打たせてみた結果が以下の通りです。
チャートの左から、以下のように文字を打った結果が波形として表示されています。
4 Keystrokes: ai in "test.vi" with delay: 1000 ms
5 Keystrokes: aiueo in "test.vi" with delay: 1000 ms
6 Keystrokes: aiue in "test.vi" with delay: 1000 ms
7 Keystrokes: aiueo in "test.vi" with delay: 1000 ms
チャートを見るとわかるのですが、以下の結果が得られました。
・設定したDelayの値は文字数で割られる。(文字列全体を何msかけて入力するか)
・コマンド間は若干遅れが生じる。
・文字入力間のDelayも若干揺らぎがある。(10msくらい?でも実使用上は問題にはならなそう。)
・Insert Keystrokesに記入した各文字の間だけでなく、最後の文字の後ろにもDelayが入る。

image.png

確認出来たこと

こんな事して何の意味があるの?と思われるかもしれませんが、
リモートデスクトップ越しのアプリケーション操作や、オブジェクトが取れないアプリケーションの制御の際に、仕方なくInsert Keystrokesを使うケースがありますが、
その際にこういった挙動を知っておくと、より的確にBotを組むことができます。
Insert Keystrokes内で長めにDelayを設定しておけば、直後にわざわざDelayコマンドを入れなくても済む。とか、
長い文字を打つときは文字数x文字間で待たせたいms分のDelayを設定しないといけない。とか。
その辺が確認できました。

今回判ったInsert KeystrokesのDelayに関する豆知識

  • Delay = 入力する文字列全体を何msで入力するか。
  • 文字間の遅延時間 = Delay/入力する文字数。
  • 最後の文字の後ろにも遅延時間が入る。
5
1
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
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?