bugfix> python > 投稿

Jmeterスクリプトがあります。このスクリプトでは、ステップ1でaccountIdを使用してアカウントを作成し、ステップ2で約30分かかるアカウントを操作します。

私は2つのスレッドでPythonコードを記述しました。1つのスレッドで、次のコードを使用してJmeterスクリプトを呼び出します。

 subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

スレッドは実際に実行され、jmeterスクリプトを呼び出して終了します。ただし、スレッド1およびステップ1で作成されたらすぐにアカウントIDを取得し、thread1で他のコマンドを使用して監視します(最初のスレッドがJmeterスクリプトを実行している間)。 accountIdをコンソールに出力するPost Beanプロセスがありますが、Jmeterが2番目のステップを完了するまで、それを取得できません。 私はテキストファイルにアカウントIDを書きたくないし、Pythonの私の2番目のスレッドにそれを読み込ませたい(それはそれを行うのは本当に良い方法ではありません)、すぐにステップ1でそのアカウントIDを取得する他の方法があります創造された?

回答 2 件
  • 私はそれを次のように動作させることができました:

    def subCmdJmeter (self,cmd):
        with Popen(cmd, stdout=PIPE, shell=True, bufsize=1, universal_newlines=True) as p:
            for line in p.stdout:
                print(line, end='')  # process line here
        if p.returncode != 0:
            raise CalledProcessError(p.returncode, p.args)
    
    

  • 既存のソリューション、つまり、JMeterのPythonベースのラッパーであるTaurusツールや、テストを構成および起動し、同じ形式で結果を生成する統一された方法を提供するいくつかのツールを確認することをお勧めします。 JMeterの場合、複数のテストを並行して実行する可能性があります。

    同じターミナルウィンドウでコンソールベースのUIを使用して進行状況を表示できます。

    おうし座のインストールと使用の詳細については、テスト自動化ツールの星座の記事の「おうし座:新しい星」を参照してください。

あなたの答え