複数のXMLファイルをSoapUIにインポートします

アレックスクック

数か月前に新しいジョブを開始し、視覚的な検証が必要なテストのバッチを実行するには、SoapUIの基本的な日常的な使用が必要です(視覚的な部分はまだ自動化されていません)。

しかし、今ではプロジェクトにインポートする必要のある新しいxmlファイルがたくさんあり、ファイルをインポートしてファイル内のコンテンツをxmlテキストとして使用するために誰かがGroovyスクリプトなどを持っているかどうか疑問に思っていました。パス、。HTTPリクエスト経由。

基本的に、私albciffここで何をしたかを知りたいですしかし、私のxmlファイルをHTTPステップに変えてください。

HTTPの正しいクラスを含めるように彼のスクリプトを変更しようとしましたが、修正できない例外が発生します

更新28/01

SoapUIの無料/標準版を使用しています。私は単なる機能テスターなので、コーディング/スクリプトの知識は限られています:(

私の現在のGroovyスクリプトは

import com.eviware.soapui.impl.wsdl.teststeps.registry.WsdlTestRequestStepFactory
import com.eviware.soapui.impl.wsdl.teststeps.registry.HttpRequestStepFactory
import groovy.io.FileType

// get the current testCase to add testSteps later
def tc = testRunner.testCase
// get the testStep as template to create the other requests
def tsTemplate = tc.getTestStepByName("Template")
// create the factory to create testSteps
def testStepFactory = new HttpRequestStepFactory()

def requestDir = new File("C://directory//..//final_dir")
// for each xml file in the directory
requestDir.eachFileRecurse (FileType.FILES) { file ->
  def newTestStepName = file.getName()
  // create the config
  def testStepConfig = testStepFactory.createConfig( tsTemplate.getOperation(), newTestStepName )
  // add the new testStep to current testCase
  def newTestStep = tc.insertTestStep( testStepConfig, -1 )
  // set the request which just create with the file content
  newTestStep.getTestRequest().setRequestContent(file.getText())
}

そして、私が実行しているときに私が得る例外は

groovy.lang.MissingMethodException:メソッドの署名がありません:com.eviware.soapui.impl.wsdl.teststeps.HttpTestRequestStep.getOperation()は引数タイプに適用できます:()値:[]考えられる解決策:次の行でgetAssertions()エラー: 14

albciff

あなたはほとんどそこ:)います、この方法を試してください(HttpRequestStepFactory.createNewTestStep代わりに使用してくださいHttpRequestStepFactory.createConfig):

import com.eviware.soapui.impl.wsdl.teststeps.registry.WsdlTestRequestStepFactory
import com.eviware.soapui.impl.wsdl.teststeps.registry.HttpRequestStepFactory
import groovy.io.FileType

// get the current testCase to add testSteps later
def tc = testRunner.testCase
// get the testStep as template to create the other requests
def tsTemplate = tc.getTestStepByName("Template")
// create the factory to create testSteps
def testStepFactory = new HttpRequestStepFactory()
def requestDir = new File("C://directory//..//final_dir")
// for each xml file in the directory
requestDir.eachFileRecurse(FileType.FILES){ file ->
  def newTestStepName = file.getName()
  // get the template endpoint
  def endpoint = tsTemplate.getPropertyValue('Endpoint')
  // create the config using endpoint and your method (post in your case)
  def testStepConfig  = testStepFactory.createNewTestStep(tc,newTestStepName,endpoint,'POST')
  // add the new testStep to current testCase
  def newTestStep = tc.insertTestStep( testStepConfig, -1 )
  // set the request which just create with the file content
  def testRequest = newTestStep.getTestRequest()
  testRequest.setRequestContent(file.getText())

  // UPDATED CODE BELOW BASED ON COMMENT

  // you can use in this case HttpRequestConfig (due the type of your
  // testStep you can use this class) to set some additional properties 
  // in your TestStep
  def httpReqCfg = testRequest.getConfig();
  // for example for mediaType as you said in your comment
  httpReqCfg.setMediaType('application/json');

}

HttpTestRequestStep.cloneメソッドを使用する方が便利に見えることに注意してくださいただし、これをgroovyで呼び出すと、testStepが作成されますが、groovyは次の例外をスローします(ここでは、SOAPUI APIに問題があると思います)。

java.lang.ClassCastException:com.eviware.soapui.impl.wsdl.teststeps.HttpTestRequestStepをcom.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStepにキャストできません

ただし、ファイルコンテンツを使用してリクエストを設定することだけに興味があると思うので、上記の提案されたコードで十分です。

コメントに基づいて編集:

コメントで必要に応じてパラメータHttpRequestConfigを設定mediaTypeまたは追加するために使用することもできHttpRequestConfigます。APIを確認してください。また、上記のコードを更新して、このオブジェクトを取得して確認する方法の例を示しますsetMediaType

お役に立てれば、

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数のtxtファイルをRにインポートします

分類Dev

複数のcsvファイルをインポートし、各ファイルに年を追加します

分類Dev

Rデータフレームに複数のテーブルを含むxmlファイルをインポートします

分類Dev

PowerShell-複数のCSVファイルを複数のワークシートのExcelファイルにインポートします

分類Dev

R複数のcsvファイルをインポートします

分類Dev

.tsファイルから複数の変数をエクスポートし、Angular4で別のファイルにインポートします

分類Dev

複数のテキストファイルの2行目をExcelにインポートします

分類Dev

複数のテキストファイルをSQLServerにインポートします

分類Dev

app.xamlwpfに複数のリソースファイルをインポートします

分類Dev

複数のファイルのprocインポートログをPDFに生成します

分類Dev

SQLServerにインポートされた複数のXMLの特定のフィールドを取得します

分類Dev

React Native:ファイルを複数のファイルに分割してインポートする方法は?

分類Dev

Accessで複数のXMLファイルをインポートする

分類Dev

Accessで複数のXMLファイルをインポートする

分類Dev

一度に複数のluaファイルをインポートしますか?

分類Dev

複数の.csvファイルをRにインポートし、ファイル名で新しい列を追加します

分類Dev

複数のファイルをインポートして、計算を1つのファイルに出力します

分類Dev

SSISは複数のファイルをインポートし、テーブルを作成します

分類Dev

名前を保持したまま、Rで複数のcsvファイルをインポートします

分類Dev

SQL ServerT-SQL-ループ内の複数のJSONファイルをインポートします

分類Dev

複数のcsvファイルをパンダにインポートし、1つのDataFrameに連結する

分類Dev

複数のExcelファイルをPythonパンダにインポートし、それらを1つのデータフレームに連結します

分類Dev

sparklyrに複数のファイルをインポートする

分類Dev

複数の.txtファイルをインポートしてマージします

分類Dev

Vueは、単一の.jsファイルから複数のファイルにコンポーネントを分割します

分類Dev

Pythonでパンダの変数として複数の列のファイルを含むファイルをインポートします

分類Dev

Pythonでパンダの変数として複数の列のファイルを含むファイルをインポートします

分類Dev

VBAを使用してExcelの1つのセルと新しい行に複数のテキストファイルをインポートしますか?

分類Dev

SSISを使用して、複数のテーブルを含む単一のmdbファイルをSQL Serverに動的にインポートしますか?

Related 関連記事

  1. 1

    複数のtxtファイルをRにインポートします

  2. 2

    複数のcsvファイルをインポートし、各ファイルに年を追加します

  3. 3

    Rデータフレームに複数のテーブルを含むxmlファイルをインポートします

  4. 4

    PowerShell-複数のCSVファイルを複数のワークシートのExcelファイルにインポートします

  5. 5

    R複数のcsvファイルをインポートします

  6. 6

    .tsファイルから複数の変数をエクスポートし、Angular4で別のファイルにインポートします

  7. 7

    複数のテキストファイルの2行目をExcelにインポートします

  8. 8

    複数のテキストファイルをSQLServerにインポートします

  9. 9

    app.xamlwpfに複数のリソースファイルをインポートします

  10. 10

    複数のファイルのprocインポートログをPDFに生成します

  11. 11

    SQLServerにインポートされた複数のXMLの特定のフィールドを取得します

  12. 12

    React Native:ファイルを複数のファイルに分割してインポートする方法は?

  13. 13

    Accessで複数のXMLファイルをインポートする

  14. 14

    Accessで複数のXMLファイルをインポートする

  15. 15

    一度に複数のluaファイルをインポートしますか?

  16. 16

    複数の.csvファイルをRにインポートし、ファイル名で新しい列を追加します

  17. 17

    複数のファイルをインポートして、計算を1つのファイルに出力します

  18. 18

    SSISは複数のファイルをインポートし、テーブルを作成します

  19. 19

    名前を保持したまま、Rで複数のcsvファイルをインポートします

  20. 20

    SQL ServerT-SQL-ループ内の複数のJSONファイルをインポートします

  21. 21

    複数のcsvファイルをパンダにインポートし、1つのDataFrameに連結する

  22. 22

    複数のExcelファイルをPythonパンダにインポートし、それらを1つのデータフレームに連結します

  23. 23

    sparklyrに複数のファイルをインポートする

  24. 24

    複数の.txtファイルをインポートしてマージします

  25. 25

    Vueは、単一の.jsファイルから複数のファイルにコンポーネントを分割します

  26. 26

    Pythonでパンダの変数として複数の列のファイルを含むファイルをインポートします

  27. 27

    Pythonでパンダの変数として複数の列のファイルを含むファイルをインポートします

  28. 28

    VBAを使用してExcelの1つのセルと新しい行に複数のテキストファイルをインポートしますか?

  29. 29

    SSISを使用して、複数のテーブルを含む単一のmdbファイルをSQL Serverに動的にインポートしますか?

ホットタグ

アーカイブ