機能とパフォーマンスの両方をテストする必要がある Web アプリがあり、使用する予定のテスト スイートの一部は既に Python で記述されています。私が最初にこれを書いたとき、私は Web スクレイピングの手段として mechanize を使用しましたが、私がやろうとしていることには大きすぎるようです (それか、何かが足りないかのどちらかです)。
私がやろうとしていることの基本的なレイアウトは次のとおりです。すべてオブジェクトです。
- ユーザーには Comm があります (以前は、自分のものと機械化の間のインターフェイスでした)
- Commにはブラウザがあります(私のCookieJar、urllib2、およびBeautifulSoupオブジェクトを保持し、以前は機械化されていました)
- ブラウザにはフォームがあります(以前は機械化処理されていました)
さて、スレッドに関する限り、私はそれをダウンしています。GIL を処理することと、Python の別のインスタンスを実行することとの間の調整は、必要に応じて行われますが、提案は行われます。
したがって、私がする必要があるのは、スレッド ユーザーがアプリケーションを実行し、さまざまなこと (ログイン、フォームへの入力、処理のためのフォームの送信など) を実行する一方で、テスト ボックスが大声で叫ばないようにすることです。機械化に関する私の現在の問題はRAMのようです。
RAM の問題の原因の1 つJSESSIONID
は、別のユーザーと何かを行うたびに Cookie を上書きしないようにするために、ユーザーごとに個別のブラウザー インスタンスが必要なことです。
これの多くは些細なことのように思えるかもしれませんが、ここでは何千ものスレッドを実行しようとしているので、少しの調整が大きな意味を持ちます。どんな入力でも大歓迎です。