1

私は JMeter 2.6 を使用しており、テスト用に次の設定をしています。

-
|-test.jmx
|-myschema.xsd

XML スキーマ アサーションを設定し"myschema.xsd"、[ファイル名] フィールドに入力しました。残念ながら、これはうまくいきません:

HTTP Request
Output schema : error: line=1 col=114 schema_reference.4:
Failed to read schema document 'myschema.xsd', because 
1) could not find the document; 
2) the document could not be read; 
3) the root element of the document is not <xsd:schema>.

(ユーザーの を指す) や(何も返さない) などpath、いくつかのものを に追加しようとしました。絶対パスを指定して動かしたのですが、スクリプトは他人が使うものなのでダメです。${__P(user.dir)}home dir${__BeanShell(pwd())}

コマンドラインで定義されたプロパティ値を使用することもできますが、同じ理由でそれも避けたいと思います。

このような状況でアサーションをスキーマに正しくポイントするにはどうすればよいですか?

4

3 に答える 3

2

この状況ではあなたがしなければならないように見えます

  • 手動で xsd に対して xml を検証します。単にBeanShell AssertionBeanShell PostProcessorなどから対応する Java コードを使用します。
    ここにかなり良い解決策があります:https://stackoverflow.com/a/16054/993246(同様に、これに必要な他のものを使用できます);
  • jmeter のソースを掘り下げ、XML スキーマ ファイルの取得を修正して、パス (ファイル名フィールド) 内の変数をサポートするようにします - CSV Data Set Configのように;
    しかし、前の方法の方がはるかに簡単なようです。
  • jmeter テスト シナリオを shell-script またはant-taskから実行します。これにより、スクリプトの実行前に xsd が jmeter の /bin ディレクトリに最初にコピーされます。少なくとも XML スキーマ アサーションは「そのまま」使用できます。

おそらく、他の/より良いものを見つけたら、共有してください。
お役に立てれば。

于 2012-05-28T16:10:07.090 に答える
1

「myschema.xsd」を「ApacheJMeter.jar」の隣にある apache-jmeter の \bin ディレクトリに追加する、「XML スキーマ アサーション」の「ファイル名」をこの開始点から「myschema.xsd」に設定します。 .

例えば

JMeter: C:\Users\username\programs\apache-jmeter-2.13\bin\ApacheJMeter.jar

Schema: C:\Users\username\workspace\yourTest\schema\myschema.xsd

File Name: ..\\..\\..\workspace\yourTest\schema\myschema.xsd
于 2016-04-14T15:28:08.663 に答える