« 2011年3月 | トップページ | 2011年5月 »

2011年4月

Windowsアプリケーションを自動操作するAutoIt

Windowsアプリケーションのテストでは、GUIを操作することが多い。

その操作を自動化できれば、手間を大幅に減らすことができるし、最初に正しい手順を決めてしまえば、間違いが起こらない。

とりわけ毎回同じことをするスモークテストで、自動化の効果は顕著だ。

テストの自動化は、WindowsのUIオートメーション機能を使って自分で実装してもよいが、世の中には既に優れたツールがある。

例えば、AutoItがそれだ。

このツールはとても良くできていて、Windows操作を記憶して、その記憶を、AutoIt独自の言語で書いたスクリプトに変換する。

そのスクリプトを実行すれば、何度でも同じ操作を再現できるので、いつも同じことをするようなテストでは大幅に手間を減らせて、ヒューマンエラーも防げるというわけだ。

【注意!】
ところで、このツールを使う時、一つ注意することがある。
それは、インストールしただけでは、Pathが通っていないことだ。

インストール後、忘れずに、

"C:\Program Files (x86)\AutoIt3\Extras\Au3Record"

をPathに追加しておかないと、操作を記録しようとすると、"DLL Load failure"というエラーが出る。

忘れやすいので、注意が必要だ。

| | コメント (0) | トラックバック (0)

一番最近更新したファイルを、Pythonで見つける方法

あるディレクトリに含まれるファイルを、更新時刻が新しい順に並べたいときがある。

たとえば、複数のテキストファイル(*.txt)を新しい順に並べる場合だと、次のようなコードを書けば良い。

import os
import glob

[key for key, value in sorted({file:os.path.getmtime(file) for file in glob.glob('*.txt')}.items(), key=lambda x:x[1], reverse=True)]

これで更新時刻が新しい順に並んだファイル名のリストを得ることができる。

一番新しいファイルの名前だけが欲しい場合は、次のように書く。

sorted({file:os.path.getmtime(file) for file in glob.glob('*.txt')}.items(), key=lambda x:x[1], reverse=True)[0][0]








| | コメント (0) | トラックバック (0)

KHR-3HV導入記(2)

両足首のサーボ(ID10)と左脚大腿部のサーボ(ID7)の不具合で、近藤科学株式会社に送り返していたHKRー3HVだが、1週間も経たずに点検・修理を終えて戻ってきた。

近藤科学のサポートの素早さと丁寧さには感動した。
ありがとう、近藤科学。

なぜサーボが壊れたのか?という疑問は解消しないものの、点検・修理後のHKRー3HVはすこぶる快調に動いている。

ロボット本体の動作が確認できたので、次は無線LAN搭載マイコンであるKCBー3WLの動作確認だ。

マニュアルに従って、無線LANネットワークに参加する設定をすると、あっさり接続した。

その後、telnetでKCBー3WLに入って、Rcb4UdpServerを起動した後、PCでRCBCommanderを起動してRcb4UdpServerと接続する。

RCBCommanderのGUIにはゲームコントローラを模した操作ボタンがついており、その操作ボタンをマウスで押して、KHR-3HVを操作することができる。

前身、後進、右旋回、左旋回、右ステップ、左ステップ。

OKだ。

ここまでで、KHR-3HVをネットワークロボットとして使えることがわかった。

ところで、いくつか問題もある。

1. KCB-3WLをバックパックに取り付けると、ジャイロの取り付け場所がなくなる
2. KCB-3WLの無線LANユニットの感度が弱い?
3. 標準バッテリだと、KCB-3WLと無線LANユニットに十分な電源を共有できない?

1はバックパックにジャイロを取り付ける治具が必要そうだ。
2と3は引き続き調査中。

今回、KHRー3HVを使うと、比較的安価にネットワークロボットのプロトタイプシステムを構築できることがわかった。

KCB-3WLで動くソフトウェアを含めて、ソースコードが公開されているので、KHRー3HVを監視・制御する独自のツール群を構築するのも容易そうだ。

以上




| | コメント (0) | トラックバック (0)

« 2011年3月 | トップページ | 2011年5月 »