3

私は、Webフォームを介して(html5ベースの)ファイルアップロードを行うhtmlページ(ajax対応)を提供するnode.jsデーモンに取り組んでいます。デーモンは、に関連するすべてのPUT、POST、OPTIONS、およびGETリクエストも処理します。ファイルのアップロードとステータスのクエリ(これは必ずしもサービスを提供するWebページからのものではなく、どのクライアントもhttp経由で対話できます)

サーバー自体(node.jsであるという事実など)をブラックボックスとして扱うことで、プログラムでたくさんのことをテストしたいと思います。

次のような入力で:

  • json構成ファイルに存在しない、空の、またはさまざまなタイプの(誤った)構成値
  • 異なるコマンドライン引数を使用してプログラムを実行する
  • Webページとの対話(Webページに移動し、ボタンをクリックし、ファイル選択ダイアログから特定のファイルを選択し、[OK]をクリックするなど。これにより、バックグラウンドで多くのhttpリクエストが発生します)
  • 「生の」httpリクエストをプログラムで実行する

次に、物事が想定どおりに動作することを確認します。

  • ログファイル内のエントリの検索
  • $ num個のプロセスが(まだ)実行されているかどうかを確認する
  • すべてのリクエストのhttp応答コードをチェックします。(バックグラウンドのすべてのajaxy-one、またはテストで定義された単一の要求への応答を含む)
  • 任意のコマンド(Webサーバーからファイルをダウンロードしてmd5summingなど)

私はいくつかのオプションを見てきました:

  • キュウリはこの種のトピックでよく出てきますが、それは非常に冗長で、ビジネスマンを対象としているようです。
  • httpunitは、システムが1つの特定の構成で実行されていることを前提としているようです
  • rspecはホワイトボックステスト用のルビーのようです
  • 誓いは基本的すぎ、ブラウザの自動化はありません

誰かアドバイスがあれば、私はそれをいただければ幸いです、

ありがとうディーター

4

1 に答える 1

0

一般的な解決策は、http: //robotframework.org/で、さまざまな http およびセレン ライブラリなどの標準および外部ライブラリを使用できます: http://robotframework.org/#test-libraries

于 2013-11-08T07:11:25.553 に答える