全局变量可以在测试过程中动态取值以及赋值,比如:使用登录接口获取token,将token值赋值给自定义全局变量 global_token ,然后在另一个需要使用该token的接口中,使用{{global_token}}或者代码来引用该全局变量,实现token参数的跨API传递。在界面上引用全局变量非常简单,只需要输入:{{全局变量参数名}},在测试的时候系统会自动替换成相应全局变量的值。
变量类型区分
系统中变量有两类:全局变量和环境变量
全局变量
-
全局变量的脚本函数对应
eo.globals.set("key",value)
-
对项目内全局有效,但优先级低于环境变量。即若全局变量和环境变量的变量名均为token,则取环境变量值
-
不依赖于环境,即使没有选择环境也可以使用
环境变量
-
环境变量的脚本函数对应
eo.env.param.set("key",value)
-
仅使用项目下某环境测试时有效,优先级高于全局变量。即若全局变量和环境变量的变量名均为token,则取环境变量值
-
依赖环境,仅在选中该环境测试时方可使用
初始值与本地值
无论全局变量还是环境变量,均有初始值和本地值的两种值类型。
-
初始值
-
存储在云端,可与团队之间进行共享。自动化测试用例的定时任务仅会使用初始值。
-
本地值
-
仅存储在浏览器或PC客户端中,不会在团队之间共享,并且清除浏览器缓存时会把变量的本地值清除。
使用规则
在使用快速测试、API文档测试、测试用例测试、和自动化测试用例测试时,若变量有本地值,则使用本地值;若没有本地值,则使用初始值。
在自动化测试用例的定时任务中,无论全局变量和环境变量是否有本地值,仅会使用初始值进行测试。
在API研发管理中,可以通过点击页面右上角预览环境按钮来查看当前的自定义全局变量值,如下图
在代码中,可以通过以下语句对自定义全局变量操作:
eo.globals.get(“variable_key”); //获取某个全局变量的值
eo.globals.set(“variable_key”,”variable_value”); //为某个全局变量赋值,注意值的类型只能是string、number、bool,除此之外会报错。
eo.globals.unset(“variable_key”); //清除某个全局变量
eo.globals.clear; //清除所有全局变量
在脚本中设置全局变量
获取某个全局变量的值
函数名
eo.globals.get(“variable_key”);
参数说明
data:待输出信息,只能是文本信息
示例
eo.globals.get("token");
为某个全局变量赋值
函数名
eo.globals.set(“variable_key”,”variable_value”)
参数说明
variable_key:全局变量名
variable_value:变量值,值的类型只能是string、number、bool,除此之外会报错。
示例
eo.globals.set("token","123456")
删除某个全局变量
函数名
eo.globals.unset(“variable_key”)
参数说明
variable_key:全局变量名
示例
eo.globals.unset("variable_key")
清空全局变量
函数名
eo.globals.clear()
示例
eo.globals.clear()
在界面中使用全局变量
在测试界面的各个输入框中,如URL、请求参数名、参数值等,使用 {{全局变量名}} 即可引用相应的全局变量值。
如下图使用 {{token}} 即可引用全局变量 token 的值。
在引用全局变量前,请先使用脚本对全局变量进行赋值,否则引用的内容为空。
您可以在右上角点击环境菜单旁的按钮查看当前生效的全局变量值。可以在弹窗中编辑全局变量和环境变量的本地值。
使用示例
-
在预处理中使用eo.globals.set(“token”,”123456”)语句,设置一个自定义全局变量token,赋值为123456。
-
在请求体界面的表格中使用 {{token}} 即可引用该token值,即123456。