我有一个JSON数据文件,其数据类似于
private Bitmap getAlbumImage(String path) {
android.media.MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(path);
byte[] data = mmr.getEmbeddedPicture();
if (data != null) return BitmapFactory.decodeByteArray(data, 0, data.length);
return null;
}
首先,我想读取此数据,然后当Wheels.value ==是时,我想点击一个API,否则点击另一个API 另外,我想知道如何在请求后或从文件中传递多个参数。
发布请求数据如下:
{
"Status": "Pending",
"role": "manager",
"client": "android",
"user": "test@abc.com",
"eTyres":
{
"Wheels": {
"title": "Alloy Wheel",
"value": "Yes"
}
}
}
我正在通过邮递员中的“表单数据”传递数据。
预先感谢
答案 0 :(得分:1)
您的问题很难理解,我假设您想遍历某些给定的JSON数组并执行一些操作。听起来您不是在“测试”并且滥用空手道!
要遍历JSON数组,请使用* def data = { "Status": "Pending", "role": "manager", "client": "android", "user": "test@abc.com", "eTyres": { "Wheels": { "title": "Alloy Wheel", "value": "Yes" } } }
* eval data.eTyres.Wheels.value == 'Yes' ? karate.call('api1.feature') : karate.call('api2.feature')
。请参阅文档:https://github.com/intuit/karate#data-driven-features
要执行条件操作,请阅读文档的这一部分:https://github.com/intuit/karate#conditional-logic
要执行“表单数据”,请阅读以下内容:https://github.com/intuit/karate#form-field
api1.feature
如何实现api2.feature
和data
是您的功课。请记住,在这两种方法中,您仍然都可以访问contextObject.googleRefreshToken = refreshToken
变量。并且请阅读文档和示例!