传递表以调用read()JavaScript函数的语法
将表作为参数传递给外部JavaScript函数,并将返回值存储在变量中的语法是什么传递表以调用read()JavaScript函数的语法,javascript,karate,Javascript,Karate,将表作为参数传递给外部JavaScript函数,并将返回值存储在变量中的语法是什么 * table user | UserId | UserType | UserRoles | | 123 | 'Regional' | { Role : Ninja } | 我在想*defuid=callread('base64-encoder.js'){user},其中函数定义为 function(uid) { var Base64 = Java.type('java.util
* table user
| UserId | UserType | UserRoles |
| 123 | 'Regional' | { Role : Ninja } |
我在想*defuid=callread('base64-encoder.js'){user}
,其中函数定义为
function(uid) {
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(uid.bytes);
}
但这给出了一个:
ParserException:意外的文件结尾位置7:null
如果要在数据库表中保存JavaScript对象,可以将JavaScript值转换为JSON。JSON内容是一个可以轻松保存的字符串。例如:
// Convert to JSON
var jsonDatas = JSON.stringify(yourDatas);
// Convert to a JavaScript value
var javascriptDatas = JSON.parse(jsonDatas);
它可以工作,但我不建议将JSON内容保存在数据库中。如果要在数据库表中保存JavaScript对象,可以将JavaScript值转换为JSON。JSON内容是一个可以轻松保存的字符串。例如:
// Convert to JSON
var jsonDatas = JSON.stringify(yourDatas);
// Convert to a JavaScript value
var javascriptDatas = JSON.parse(jsonDatas);
它可以工作,但我不建议将JSON内容保存在数据库中。在这种情况下,将空手道表传递给外部JavaScript函数的语法是
* def uid = call read('base64-encoder.js') user
只需为函数参数添加一个空格
JavaScript只是不知道如何处理它得到的列表项。因此,为了使此函数在类型检查中不失败,必须首先将表行转换为如下字符串:
* string me = user[0]
* def uid = call read('base64-encoder.js') me
这样,java就不会阻塞表,您将从编码字符串中获得格式良好的JSON字符串:
function(uid) {
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(uid.bytes);
return encoded;
}
在本例中,将空手道表传递给外部JavaScript函数的语法是
* def uid = call read('base64-encoder.js') user
只需为函数参数添加一个空格
JavaScript只是不知道如何处理它得到的列表项。因此,为了使此函数在类型检查中不失败,必须首先将表行转换为如下字符串:
* string me = user[0]
* def uid = call read('base64-encoder.js') me
这样,java就不会阻塞表,您将从编码字符串中获得格式良好的JSON字符串:
function(uid) {
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(uid.bytes);
return encoded;
}
不,我想把一个KarateDSL表传递给一个javascript函数。啊,很抱歉。我真的不懂Java。你的问题有一个标签
javascript
,但我认为这是Java的问题。您可以添加标签java
,这样可以更好地帮助您获得解决方案。空手道标签可能没问题。空手道是基于CucumberJVM的,但它本身就是一个野兽:)不,我想把一个KarateDSL表传递给一个javascript函数。啊,我很抱歉。我真的不懂Java。你的问题有一个标签javascript
,但我认为这是Java的问题。您可以添加标签java
,这样可以更好地帮助您获得解决方案。空手道标签可能没问题。空手道是以黄瓜为基础的,但它本身就是一头野兽:)