我将使用soapUI 来测试REST API 框架。
有没有一种方法可以使用soapUI工具在MongoDB中插入/更新带有文件类型(csv、txt等)数据的记录?
我想做的是验证 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。在此之前,请确保 mongodb java 客户端 jar 文件和 gmongo 在您的 soapUI 安装的 {Installation Directory}\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
}