soapUIを使用してRESTAPIフレームワークをテストします。
soapUIツールを使用してファイルタイプ(csv、txtなど)のデータでMongoDB内にレコードを挿入/更新する方法はありますか?
私がやろうとしているのは、API呼び出しを検証し、データファイルからデータベースを更新することです。
Groovyスクリプトを使用する場合は、これを非常に簡単に行うことができます。
jdbcドライバーをSoapUIのbin\extディレクトリに配置します。
https://github.com/mongodb/mongo-java-driver/downloads (おそらくmongodbで可能な場所)
次に、スクリプトで大まかに次のことを行う必要があります。
import groovy.sql.Sql
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
groovyUtils.registerJdbcDriver("org.postgresql.Driver") // NOT SURE WHAT STRING FOR MONGODB
def connectString = "....."
sql = Sql.newInstance(connectString) // TEST YOUR CONNECT STRING IN A SQL BROWSER
def misc = sql.firstRow("SELECT * from table")
groovy.sql.Sqlはとてもいいです!
テストケースの「Groovyテストステップ」で以下のGroovyコードを簡単に使用して、mongodbに接続できます。その前に、mongodbjavaクライアントのjarファイルとgmongoがsoapUIインストールの{インストールディレクトリ}\ bin\extフォルダにあることを確認してください。
Gmongo: http: //mvnrepository.com/artifact/com.gmongo/gmongo/1.5
Mongodb Javaクライアント:http ://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/3.2.2
import com.gmongo.GMongoClient
import com.gmongo.GMongo
import com.mongodb.MongoCredential
import com.mongodb.ServerAddress
//def credentials = MongoCredential.createMongoCRCredential('admin', 'students', 'admin' as char[])
//def client = new GMongoClient(new ServerAddress("127.0.0.1:27017"))
context.gmongo=new GMongo()
def db=context.gmongo.getDB("test")
log.info db.fruit.find().count()
db.fruit.find().each{
doc->log.info doc
}