空手道框架中如何使用“ faker”库?

时间:2018-08-30 14:52:37

标签: javascript karate

我想使用“ faker”库在JSON文件中生成伪数据,如下所示。

在karate-config.js中,我执行以下操作:

var faker = require('faker');

在sample.json中:

{
    'firstName': '#(faker.name.firstName)'
    'city'     : '#(faker.address.city)'
}

但是我遇到类似“无法在'karate-config.js'中找到'require'关键字”之类的错误消息

请对此提供帮助。

4 个答案:

答案 0 :(得分:2)

首先在pom.xml中添加以下依赖项

<dependency>
        <groupId>com.github.javafaker</groupId>
        <artifactId>javafaker</artifactId>
        <version>1.0.2</version>
</dependency>

有关依赖项click here的最新版本

在karate-config.js中使用以下代码:

config.faker = Java.type('com.github.javafaker.Faker');

在功能文件中,使用以下代码:

* def fakerObj =  new faker()
* def fName = fakerObj.name().firstName()
* def lName = fakerObj.name().lastName()
* def mailId = fName+'.'+lName+'@test.com'

您可以在JSON正文中使用相同的内容,如下所示:

"emailAddress":"#(mailId)",
"firstName":"#(fName)",
"lastName":"#(lName)",
   "address":{
          line1:"#(fakerObj.address().streetAddress())"}

click here了解伪造者软件包的类和方法

答案 1 :(得分:1)

空手道不支持NPM或require关键字。对于复杂的自定义逻辑,建议使用Java互操作。

我的建议是,您应该找到一个可以执行“ faker”功能的Java库并将其集成。

答案 2 :(得分:1)

据我所知,空手道仅支持基于Java的依赖项。因此,请尝试为您的JS库找到等效的Java。

答案 3 :(得分:0)

感谢您的回答和建议,请在下面尝试并正常运行。

在karate-config.js中:

  

var faker = Java.type('。FakerClass');

     

......

     

config.faker =伪造者;

在sample.json中:

  

{'name':'#(faker.address.city)'}