当前位置: 首页 > 知识库问答 >
问题:

如何在空手道框架中使用“伪造”库?

司徒阳曜
2023-03-14

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

空手道配置。js,我做了以下工作:

var faker = require('faker');

在sample.json:

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

但我在“空手道配置”中遇到了类似“找不到”require“关键字的错误。js'

请帮忙。

共有3个答案

文德曜
2023-03-14

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

公良莫希
2023-03-14

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

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

有关依赖项的最新版本,请单击此处

在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())"}

请点击此处查看faker软件包的类和方法

唐阳飇
2023-03-14

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

我的建议是你应该找到一个Java库,做“骗子”做的事情,并整合它。

 类似资料:
  • 英文版的情景工作完美。但是在俄文版本中,它看起来像是空手道FeatureParser不知道本地化的标记而失败了。以下是错误日志: 特征文件的英文版本: 特写文件的俄文版本: 我该怎么做才能修好它?

  • 我们有Web服务开发使用。NET和一些服务使用basicHttpBinding-和一些使用wsHttpBinding-。 通过使用空手道框架,使用basicHttpBinding的服务可以很好地执行,但不会执行wsHttpBinding。正在获取响应代码415。 通过在SoapUI端执行以下操作,使用wsHttpBind的相同服务在另一个工具(如SoapUI)中执行得很好。 选中启用WS-A寻址

  • 我95%的自动化框架是在空手道,工作得很好。我们需要检查应用程序日志中显示的中间结果的功能很少(不在Json响应中)。我写了一个外壳脚本,它在从邮递员手动发送请求后验证Linux机器上的应用程序日志。我使用eclipse的JSCH库调用这个脚本。 有没有什么方法可以让我从空手道发送请求,然后调用我的JSCH类进行验证,这样就可以避免手动发送请求的步骤? 谢谢,阿比

  • 我在空手道测试中使用并行执行。我试图在文件夹中生成一个cucumber.json文件。使用当前的设置,我在surefire-reports文件夹中有不同的json和xml文件。有没有一种方法可以生成一个带有特性结果的json文件?

  • 问题陈述:每个服务都有一个单独的存储库。跨几个服务存储库使用公共框架的最佳方式是什么? 我们试图使用“空手道”创建一个应用编程接口测试自动化框架。在这里,我们希望创建一个框架(它可以被分发(例如:jar)),这样它就可以在所有的微服务项目存储库中使用。

  • 我需要将纪元时间转换为人类可读的日期 时间戳值为:='1685595600' 需要像这样转换上面的时间戳 日期=01月=06年=2023年 应该怎么做?