2009-03-04 9 views
7

悪い昔の対話型コンソールアプリケーションでは、Don LibesはExpectというツールを作成しました。これは、ユーザーと同じように、これらのアプリケーションとやり取りするTclスクリプトを書くことを可能にしました。 2つの多大なメリットを持っていた期待:Webページとのスクリプト対話のためのDon Libesの* expect *ツールに相当するツールがありますか?

  • それがそうでなければうんざりするほど、手で繰り返されなければならなかっただろうスクリプト相互作用することが可能でした。古典的な例はダイヤルアップインターネットアクセス地獄(PPPの前日から)でした。

  • 回帰スイートの一部として、プログラム的に、自分のインタラクティブなアプリケーションをテストするためのスクリプトを記述することが可能でした。

今日、ほとんどのインタラクティブアプリケーションは、コンソール上ではなくWeb上にあります。したがって、私の質問:Expectがコンソールアプリケーションとプログラムで対話する機能を提供するのと同じように、WebページやWebフォームとプログラムで対話する機能を提供するツールはありますか?

(私が知っ最も近いものがChickenfootである。)

答えて

5

を探しているかもしれない私は、プログラムでWebページの相互作用を駆動するためのPythonと一緒にSelenium RCを使用しました。これにより、フォームと入力が駆動され、その結果が測定される非常に幅広いユーザーテストを書くことができました。 (上記のように)

は、FirefoxにSelenium IDEをチェックしてください。これにより、ブラウザにテストを記録し、IDE自体またはRemote Controlアプリケーションを使用してテストを再生することができます。この正確な問題のためにかなりうまく機能Mechanize

5

のPerl。

HTTPSと一部の認証の問題は、時には厄介です。私は将来的にそれらについてのカップルの質問を掲示するでしょう。セレンに加えて

+0

私はリンクを閲覧しました。私は「ユーザーフレンドリーな」ドキュメントを頼んでいますか? –

+1

機械化は素晴らしいですが、それはターミナルと同じようにExpectとあまり類似していないことを認識しなければなりません。それはひどい類推だった。これを試してみましょう:Mechanizeはブラウザを自動化しません、Mechanizeは(プログラマブル)ブラウザです。それが非常に強力であることが理解できれば、間違っています。 –

+0

ええ、それは良い点です。それはおそらく、ページが非常に複雑で、Firefoxのように見えるかもしれないので少し難解ですが、mechanizeはページを「機械化」する方法を見ています。しかし、とにかく、それはしばしば同様にプログラムするための微風です。 –

1

あなたはルビー/ Railsの事をやっている場合は、Webratがあります。

+0

私は任意のサイトと対話したいです。 Webratは、私がソースコードにアクセスできるRubyで実装されているサイトのみたいです。正しい? –

5

私はかつての生活の中で仕事を期待し、常にドン・リブスの本は、私が今まで見たい最高の書かれており、ほとんどの啓発専門書の一つであった期待と思ったのトンをしました。

ハンズダウン、私はPerlのWWW :: Mechanizeのライブラリーは、あなたが望むものであることを言うでしょう。私はあなたがドキュメントを見つけるのに困っているという上記のことに注意します。そこには良いドキュメントがあります! search.cpan.orgでモジュールのディストリビューションを調べ、すべてがパッケージ化されているかどうかを確認してください。 FAQ、クッキングブック、サンプルなどがあります。私はいつもウェブ上で助けを得ることができました。ここで入手できない場合は、use.perl.orgまたはperlmonks.orgを試してみてください。 WWW :: Mechanizeの作者​​、Andy Lesterはpresent on Stack Overflowです。

WWW :: Mechanizeには、Expectのautoexpectプログラムに類似したプログラムがあると思います。このプログラムをサーバーとして実行するプロキシプロセスを設定し、ブラウザをポイントしますそれをプロキシとして、自動化したいアクションを実行すると、プロキシプログラムはプロジェクトのベースとして使うWWW :: Mechanizeプログラムを提供します。 (autoexpectのように機能する場合は、そこから変更を加えたいと思うでしょう。)

上記のように、WWW :: Mechanize です。ブラウザ(正確には、Webクライアントまたはhttpクライアントです)がプログラム可能です。私が最後に見たときに、JavaScriptをサポートするようになっている作業もありました。

関連する問題