プログラミングとSoapUI(1週間前のようなもの)は初めてだと言うことから始めてもいいですか。質問をすることを前もってお詫びします。
問題
基本的に、私はWebサービスを自動化しようとしています。SOAPUIでGroovyを使用してxmlを作成し、それをリクエスト本文の一部としてWebサービス(SOAPではなくREST)に送信し、受信した応答に対して何らかのアサーションを実行する必要があります。私はかなりの数のリクエストを送信するので、自動化する理由があります。
私の提案した解決策(私にはわかりません)
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.ContentType
import groovyx.net.http.Method
class XmlGenerator {
// I created a class i.e. called XmlGenerator with a
// static method called GetXML() which looks like this:
public static def GetXML()
{
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
xml.GetDMessage() //creating the xml message
{
PrescribedItems
{
PrescribedMethod(xml,'Some Value','Some Value','Some Value')
PrescribedItem
{
PrescribedMethod(xml,'Some Value','Some Value','Some Value')
}
}
}
return writer
}
// This method creates the XML needed but then i need to
// pass the xml generated to a request boy; so i
//create another method within the same class:
static def postXML(String baseUrl, String path)
{
def RequestBody = XmlGenerator.GetXML() // i am not sure if this will work
try
{
def ret = null
def http = new HTTPBuilder(baseUrl)
http.request(Method.POST, ContentType.XML)
{
uri.path = path
body = RequestBody
}
}
catch (groovyx.net.http.HttpResponseException ex)
{
ex.printStackTrace()
return null
}
catch (java.net.ConnectException ex)
{
ex.printStackTrace()
return null
}
}
}
概要
XmlGenerator()
2つのメソッドで呼び出されるクラス。GetXML()
(XMLの生成に使用)およびpostXML()
(によって生成されたXMLをWebサービスに送信するために使用されますGetXML()
。)
質問
GetXML()
この2つのメソッド(および)が他のリクエストメッセージで使用されていることを確認するにはどうすればよいですか?postXML()
つまり、Groovyスクリプトをインポートする必要がありますか?インポートを実行しますか...GroovyScriptName、はいの場合、どのようにお願いしますか?どうすればxmlを作成し、後続のリクエストメッセージでリクエストを実行できますか?例えば; 私はこれをしますか;
XmlGenerator() gen = new XmlGenerator()
、次に実行しgen.GetXML()
、gen.postXML()
リクエストを作成して実行します。また、このすべてにおいてtestRunnerはどのような役割を果たすことができますかHTTPBuilder, ContentType , Method can not be resolved
スクリプトにコードをインポートしたにもかかわらず、コードを実行すると現在スローされます(上記を参照)最後に、このフレームワークを構築する上でプロパティはどのような役割を果たすことができますか?各リクエストは他のリクエストから独立していることを念頭に置いてください。つまり、テストの実行中に1つのリクエストから別のリクエストに何も渡されません。