Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >@karate如何在gatling模拟类中将参数传递给特征文件?

@karate如何在gatling模拟类中将参数传递给特征文件?
EN

Stack Overflow用户
提问于 2018-07-24 09:16:04
回答 1查看 2K关注 0票数 2

让我们考虑一个场景,我们必须运行"create“的性能测试,该测试将输入作为头/路径param "Auth token”,并输入数据,比如用户帐户名。因此,对于上面的场景,我们有两个特性文件,

要运行POST http://baseUrl/auth 1.一个特性(例如: generateAuth.feature)文件的性能测试,它将具有auth令牌2;第二个特性(createAccount.feature)文件,该文件以参数作为auth令牌,输入数据。

这是我的模拟课,

代码语言:javascript
代码运行次数:0
复制
class <MyClass> extends Simulation {

  before {
    println("Simulation is about to start!")
  }
  val generateAuthTest = scenario("generateAuth").exec(karateFeature("classpath:path/generateAuth.feature")) 
  val createAccountTest = scenario("test").exec(karateFeature("classpath:path/createAccount.feature"))
  setUp(
    createAccountTest.inject(rampUsers(1) over (10 seconds))).maxDuration(1 minutes)
  after {
    println("Simulation is finished!")
  }
}

这里,我可以从generateAuth.feature文件中读取auth,这是createAccount.feature文件的输入,这样就可以作为参数传递?请建议我在调用karateFeature方法时如何将参数传递给createAccount.feature。

让我在这里提出一个要求,

假设我们有一些针对特定数据的CRUD操作的特性文件。在这里,我如何编写功能场景,

  1. 我将创建新的特性文件来编写一个场景。
  2. 只需使用CRUD文件来测试单个流。

现在,如果我对单个操作进行性能测试,我觉得有两种方法,

  1. 创建新的4个性能测试特性文件(每个CRUD方法一个),并在相应的测试特性文件中调用这些CRUD特性文件。最后,我们在相应的gatling仿真类中调用测试特征文件。** (在本例中,我将创建更多的测试特性文件以及性能模拟类,这是我想避免的)**
  2. 只需在相应的gatling模拟类中调用CRUD文件并将所需的参数传递给它们。(在本例中,我们只需要创建4个模拟类并在创建、读取、删除等操作的基础上运行它们)

这里只想知道第二种测试方法,它是否可以在空手道上实现,如果是,请告诉我如何做?

总结-我认为它可以使用第三个特性文件(额外)用于个别用例,但我不想为每个案例制作一个额外的特性文件,这样我就可以避免维护工作,并且可以利用现有功能文件从功能测试到性能测试的可重用性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 11:03:07

只需使用普通的空手道概念,如karate-config.js

您可以通过设置开关环境系统属性轻松地进行karate.env

例如:

mvn test -DargLine="-Dkarate.env=e2e"

编辑:在你编辑完你的问题后,很明显你有一个你想要测试的流程。请使用单一功能。我建议您将generateAuth移到特性的Background中。还请参阅callSingle()上的文档以获得高级选项。

如果您期望有两个功能文件能够神奇地共享数据,如果您的测试结构正确,那么这是不可能的,也是不需要的。

如果您真的需要这样做,请创建一个Java单例并从每个特性访问它。不过,绝对不要推荐这个。

编辑:在空手道0.9.0开始,你可以如果有标记,则调用功能中的单个场景。

代码语言:javascript
代码运行次数:0
复制
classpath:animals/cats/create.feature@sometagname
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51504264

复制
相关文章
如何在 Python 中将分类特征转换为数字特征?
在机器学习中,数据有不同的类型,包括数字、分类和文本数据。分类要素是采用一组有限值(如颜色、性别或国家/地区)的特征。但是,大多数机器学习算法都需要数字特征作为输入,这意味着我们需要在训练模型之前将分类特征转换为数字特征。
很酷的站长
2023/08/11
7340
如何在 Python 中将分类特征转换为数字特征?
LoadRunner参数传递给参数
需求:使用随机函数时,需要参数化某个参数,并且后面的步骤需要使用这个参数。 方法: 1 lr_save_string 该函数主要是将程序中的常量或变量保存为lr中的参数 2 lr_eval_string 从参数中取得对应的值,并且转换为一个字符串 测试: 在action里写: 1 lr_output_message("*****参数:%s********",lr_save_string(lr_eval_string("{NewParam}"),"name")); 2 lr_output_messag
全栈测试开发日记
2023/02/18
2.9K0
如何在 Linux 中将 CSV 文件转换为 TSV 文件?
在Linux操作系统中,可以使用各种命令和工具来处理和转换文本文件。当需要将以逗号分隔的CSV文件转换为以制表符分隔的TSV文件时,可以使用一些简单的命令和技巧来实现。本文将详细介绍如何在Linux中将CSV文件转换为TSV文件。
网络技术联盟站
2023/06/20
1.1K0
如何在 Linux 中将 CSV 文件转换为 TSV 文件?
如何在Linux中将文本内容追加到文件末尾?
在Linux中处理配置文件时,有时您需要将诸如配置参数之类的文本附加到现有文件中。追加只是意味着将文本添加到文件的末尾。
用户6543014
2020/03/06
14.6K0
如何在Linux中将文本内容追加到文件末尾?
原 js页面传值参数打包类
代码:   var PageState = { MakeParams: function (valueState) { var params ={}; var controlState={}; //获取控件中的值 var inputs = document.getElementsByClassName("controlKeep").getElementsByTagName("input"); var selects =
魂祭心
2018/05/17
2.4K0
linux/bash:map作为参数传递给function
在linux bash中map是作为数组处理的,不能作为参数直接传递函数,如果一定要传递给函数,要做一些变通处理,示例如下:
10km
2019/08/14
2.7K0
iframe怎么将参数传递给vue 父组件
在子页面的iframe中想将参数传递给Vue父组件,可以使用postMessage()方法将数据发送给父窗口。父组件可以通过监听message事件来接收并处理这些数据。
王小婷
2023/08/10
1.4K0
SAP RETAIL 特征参数文件(Characteristic Profile) III
SAP RETAIL 特征参数文件(Characteristic Profile) III
SAP虾客
2021/10/27
3760
SAP RETAIL 特征参数文件(Characteristic Profile) I
SAP RETAIL 特征参数文件(Characteristic Profile) I
SAP虾客
2021/10/27
3620
SAP RETAIL 特征参数文件(Characteristic Profile) II
SAP RETAIL 特征参数文件(Characteristic Profile) II
SAP虾客
2021/10/27
3000
如何在js中将统计代码图标隐藏
  建站时我们都会加一下网站统计,方便把控内容的内容的运营。大部分站长安装的站点统计是第三方统计代码,js形式的,很少用以服务器日志为基础分析的统计。(当然能通过网站日志来分析网站的运营者比一般的站长水平相对要高一些,也更会折腾。因为很多统计都没记录蜘蛛的轨迹)普通的js统计代码就能满足大多数的需求。安装统计代码想必大家闭着眼睛都会,但如果网站是静态页面的话,那每个页面都要添加到,即使安装在统一调用的页脚,那生成页面也需要一定的时间。有没更便捷的办法呢?将统计代码写进常用的js文件中。   将统计代码写进j
ytkah
2018/03/05
13.4K0
如何在js中将统计代码图标隐藏
如何在 Python 中将数字转换为字母?
在编程中,有时我们需要将数字转换为字母,例如将数字表示的年份转换为对应的字母表示,或者将数字编码转换为字母字符。Python 提供了多种方法来实现这种转换。本文将详细介绍在 Python 中将数字转换为字母的几种常用方法,并提供示例代码帮助你理解和应用这些方法。
网络技术联盟站
2023/06/01
1.9K0
Jmeter之BeanShell取出需要参数,传递给下个请求
这块我要吐槽几句,因为好久不写了,主要我单词总写错,英语不好,这个地方没有编译器,报错不好查,少个分号,我特么查了好久,我只想说shift,这个写beanshell的地方鸡肋呀,但是没办法,我还得用!
软件测试君
2022/12/05
1.3K0
Jmeter之BeanShell取出需要参数,传递给下个请求
Karate-让WebService的测试变的更简单![通俗易懂]
karate的github项目地址:https://github.com/intuit/karate
全栈程序员站长
2022/11/17
1.3K0
如何将多个参数传递给 React 中的 onChange?
在 React 中,一些 HTML 元素,比如 input 和 textarea,具有 onChange 事件。onChange 事件是一个非常有用、非常常见的事件,用于捕获输入框中的文本变化。有时候,我们需要将多个参数同时传递给 onChange 事件处理函数,在本文中,我们将介绍如何实现这一目标。
网络技术联盟站
2023/06/07
2.7K0
负载,性能测试工具-Gatling
Gatling是一款功能强大的负载测试工具,它为易于使用,高可维护性和高性能而设计。
sanshengshui
2019/09/11
3.7K0
负载,性能测试工具-Gatling
如何在 .Net 7 中将 Query 绑定到数组
在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。
newbe36524
2023/08/23
1430
vue路由跳转传参数
1. router-link <router-link :to="{ path: 'yourPath', params: { name: 'name', dataObj: data }, query: { name: 'name', dataObj: data } }"> </router-link> 1
庞小明
2018/03/29
1.7K0
点击加载更多

相似问题

如何在gatling模拟中运行多个空手道特征文件?

126

如何在Python中将参数传递给类?

11

如何在Gatling脚本中将变量传递给.get方法

10

如何在laravel中将数组传递给特征?

16

如何在Gatling中将地图列表传递给pebble模板?

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文