草庐IT

全栈式测试平台RunnerGo核心功能模块-接口管理

ifmeme 2023-03-28 原文

全栈式测试平台RunnerGo相对于市面上其他性能测试产品来说更简单,它不用其他相关配件,天然支持分布式,有单独的机器做分布式的负载均衡,自有一套智能算法算压力机的配置从而平均分配,并从场景链路的流程上做了优化,多线的RunnerGo图标和数据更丰富,对初学者来说更容易上手,对有一定经验的测试来说也更容易分析问题。

 

RunnerGo目前主要的功能模块有:接口管理场景管理性能测试(计划管理、报告管理)、自动化测试(计划管理、报告管理)

本篇主要说明接口管理模块如何使用以及该模块与其他模块的关系。
首先,进入接口管理模块后,左侧栏是管理全部接口的目录区:
  1. 搜索:输入接口或目录名称,支持模糊搜索、完全匹配
  2. 新建接口: 点击新建接口后,会在右侧接口区tab栏新打开一个接口框,默认名称为新建接口(由于不允许接口名称重复,所以如果已经存在相同名称,需要修改接口名称后,才可对接口进行操作)
  3. 新建目录:点击新建目录后,会出现下图弹窗:
可以选择父级目录(即把该目录建在哪个目录之下)。默认有一个根目录,就是我们的目录区。目录名称唯一不可重复
  1. 导入接口:导入接口需要导入相应的文件,可以导入的接口来源支持:
postman、swagger、swaggerUrl、apifox、apizza、eolink、yapi、apipost等工具
  1. 折叠:主要是将目录区所有的目录打开与收起
  2. 回收站:删除过的接口和目录都会存放于此,可进行恢复或彻底删除操作
其次,接口管理右侧区域主要进行接口调试与保存操作
  1. 接口名称:可以随时修改接口名称,最大支持25个字符
  2. 保存按钮:可以直接保存在此时接口所在的目录或者点击后面的箭头选择要保存到的目录
  3. 接口URL区域:可以选择接口方法,支持: POST、GET、PUT、PATCH、DELETE、COPY、HEAD、OPTIONS、LINK、UNLINK、PURGE等HTTP协议方法
  4. 前置URL:由于我们有多个环境、多个服务,所以我们可以提前定义好不同的服务对应不同的域名(环境管理模块)再次引用或者直接输入,方便我们调试不同环境的接口。
  5. url输入区:可以输入全部url或者使用前置url+url的模式。默认url前缀为http://, 如图:
  1. 请求区包含:
Header:采用键值对模式,每一列代表一个请求头参数,包含是否启用该参数、参数名称、参数值(支持参数化变量操作,使用方法为:{{变量名}}, 也可使用公共函数生成相应的值,使用方法:{{__方法名()__}}, 公共方法定义及使用在公共方法模块)
自定义全局变量:
公共函数及使用方法:
Query同Header
Body:body包含多种body格式,包括:none、form-data、x-www-from-urlencoded、raw等,raw又包括:json、xml、javascript、plain、html等。在使用时均可使用全局变量和公共函数
form-data格式下,可以上传文件, 如图:
可以在参数名中选择是否为文件类型,并在参数值里选择上传文件。
认证:目前支持私密键值对认证、Bearer auth认证、Basic auth认证、Digest auth认证
断言:支持被断言的地方分别为响应头、响应码、响应体
选择响应码后,则字段列无需填写,只需要选择条件及填写值即可,条件只可选择等于或不等于
选择响应头后,则字段列无需填写,只需选择条件及填写值即可,条件只可选择包含、不包含、为空、不为空
选择响应体后,则需填写字段、选择条件、填写值
当条件为为空和不为空时,值不用填写。
断言结果在响应区查看。
关联提取:关联提取可以提取响应码、响应头、响应体, 类型有:响应码、响应头、json(从响应体中提取)、正则(从响应体中提取),具体方法如下
 

有关全栈式测试平台RunnerGo核心功能模块-接口管理的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - 在 Ruby 中使用匿名模块 - 2

    假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于

  3. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  4. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  5. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  6. ruby - Ruby 的 Hash 在比较键时使用哪种相等性测试? - 2

    我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。

  7. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  8. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  9. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

  10. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

随机推荐