httprunner
httprunner copied to clipboard
通过定义测参数变量传递给自定义函数出现了参数传递异常,未能执行函数---"${to_upper($actKey)}",
问题描述
全局WithVariables 定义一个变量,给step 中变量使用时,出错了。当不使用 函数to_upper , 直接
"actKey":"$actKey"是可以正常传递的
Config: NewConfig("查看staff 是否拥有权限").
WithVariables(map[string]interface{}{
"actName": "${sec_time()}", //权限名称: 产线自定义权限名称
"actKey": "${first_name()}_${last_name()}", //权限标识
}).
hrp.NewStep("验证staff是否拥有权限").
WithVariables(map[string]interface{}{
"staffOid": "$staff_oid",
"actKey": "${to_upper($actKey)}", //权限 key
"hasPermission": true,
}).
CallRefCase(searchStaffIsOwnPermissions()),
error:
{"level":"info","step":"验证staff是否拥有权限","type":"testcase","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
{"level":"error","variables":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTM3NDE2ODEzNjQ1MjAwMDAsImp0aSI6IjYxZGNmY2E5YmJmNzc3MDAwMWRmNTdlYiIsImlhdCI6MTY1MTE0OTY4MTM2NDUyMDAwMCwiaXNzIjoiaWFtLnJjcmFpLmNvbSJ9.e5qBCYEZk47XuMDaCHYyBGwLsFuzka7r_fb-Q55jQt8","actKey":"$to_upper($actKey)","actName":"1651149681","bid":"61dcfca9bbf7770001df57e9","hasPermission":true,"permission_id":"626a8b71e00c58233f34dbcb","product_id":"625e62ca07ae44452708ea70","product_name":"KIRLIN","resource_id":"626a8b71e00c58233f34dbca","role_id":"626a8b71e00c58233f34dbcc","staffOid":"$staff_oid","staff_oid":"626a8b71e00c58233f34dbcd"},"time":"2022-04-28T20:41:21+08:00","message":"[parseVariables] variable self reference error"}
{"level":"error","variables":{"actKey":"Misael_Dietrich","actName":"1651149681"},"error":"variable self reference: actKey","time":"2022-04-28T20:41:21+08:00","message":"parse step variables failed"}
{"level":"error","step":"验证staff是否拥有权限","type":"testcase","success":false,"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","step":"验证staff是否拥有权限","type":"testcase","success":false,"exportVars":null,"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
debugtalk.go
全部case和log
func CheckStaffPermissions() *hrp.TestCase {
testcase := &hrp.TestCase{
Config: NewConfig("查看staff 是否拥有权限").
WithVariables(map[string]interface{}{
"actName": "${sec_time()}",
"actKey": "${first_name()}_${last_name()}",
}).
SetHeaders(map[string]string{
"Content-Type": "application/json",
"Rcrai-Bid": "${env(GLOBAL_BID)}",
}).
SetBaseURL("${env(IAM_HOST)}").
SetVerifySSL(false).
ExportVars(),
TestSteps: []hrp.IStep{
hrp.NewStep("管理员登录").
CallRefCase(Login()).
Export("staffOid"),
hrp.NewStep("获取产线列表").
GET("/v1/product").
Extract().
WithJmesPath("body.products[0].id", "product_id").
WithJmesPath("body.products[0].productName", "product_name").
Validate().
AssertEqual("status_code", 200, "check status code"),
hrp.NewStep("新增资源").
WithVariables(map[string]interface{}{
"productId": "$product_id",
}).
CallRefCase(addResources()).
Export("resource_id"),
hrp.NewStep("创建权限").
WithVariables(map[string]interface{}{
"actName": "$actName",
"actKey": "$actKey",
"resId": "$resource_id",
}).CallRefCase(addPermissions()).
Export("permission_id"),
hrp.NewStep("创建角色-SELF").
WithVariables(map[string]interface{}{
"code": 200,
"roleName": "SELF_${get_timestamp()}", //角色名
"actIds": "$permission_id",
"customDeptPermission": "${uuid()}",
"dataPermission": "SELF",
"staff_oid": "$staffOid",
}).
CallRefCase(addRole()).
Export("role_id"),
hrp.NewStep("创建staff").
WithVariables(map[string]interface{}{
"name": "staff_${get_timestamp()}",
"externalId": "${uuid()}",
}).
POST("/v1/staff").
WithBody(map[string]interface{}{
"roleIds": []interface{}{
"$role_id",
},
"name": "$name",
"externalId": "$externalId",
}).
Extract().
WithJmesPath("body.oid", "staff_oid").
Validate().
AssertEqual("status_code", 200, "check status code"),
hrp.NewStep("验证staff是否拥有权限").
WithVariables(map[string]interface{}{
"staffOid": "$staff_oid",
"actKey": "$to_upper($actKey)", //权限 key
"hasPermission": true,
}).
CallRefCase(searchStaffIsOwnPermissions()),
},
}
return testcase
}
func searchStaffIsOwnPermissions() *hrp.TestCase {
testcase := &hrp.TestCase{
Config: NewConfig("查询staff是否拥有权限").
WithVariables(map[string]interface{}{
"staffOid": "${uuid()}",
"actKey": "${uuid()}", //权限 key
"hasPermission": true,
"status_code": 200,
}).
SetHeaders(map[string]string{
"Content-Type": "application/json",
"Rcrai-Bid": "${env(GLOBAL_BID)}",
}).
SetBaseURL("${env(IAM_HOST)}").
SetVerifySSL(false),
TestSteps: []hrp.IStep{
hrp.NewStep("查询staff是否拥有权限").
GET("/v1/action/permission").
WithParams(map[string]interface{}{
"staffOid": "$staffOid",
"actKey": "$actKey",
}).
Validate().
AssertEqual("status_code", "$status_code", "check status code").
AssertEqual("body.hasPermission", "$hasPermission", "check hasPermission"),
},
}
return testcase
}
GOROOT=/usr/local/go #gosetup
/usr/local/go/bin/go test -c -o /private/var/folders/d8/pdlv9w0164x2z04xsvy_b47h0000gn/T/GoLand/___TestCheckStaffPermissions_in_GoApiTest_internal_testcase.test GoApiTest/internal/testcase #gosetup
/usr/local/go/bin/go tool test2json -t /private/var/folders/d8/pdlv9w0164x2z04xsvy_b47h0000gn/T/GoLand/___TestCheckStaffPermissions_in_GoApiTest_internal_testcase.test -test.v -test.paniconexit0 -test.run ^\QTestCheckStaffPermissions\E$
=== RUN TestCheckStaffPermissions
{"level":"info","time":"2022-04-28T20:41:20+08:00","message":"os set env GLOBAL_PASSWORD=1234qwerASDF!@#$"}
{"level":"info","time":"2022-04-28T20:41:20+08:00","message":"os set env DISABLE_GA=true"}
{"level":"info","time":"2022-04-28T20:41:20+08:00","message":"os set env [email protected]"}
{"level":"info","time":"2022-04-28T20:41:20+08:00","message":"[init] build hashicorp go plugin"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"[init] SetRequestsLogOn"}
{"level":"info","failfast":false,"time":"2022-04-28T20:41:21+08:00","message":"[init] SetFailfast"}
{"level":"info","genHTMLReport":true,"time":"2022-04-28T20:41:21+08:00","message":"[init] SetgenHTMLReport"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"[init] SetPluginLogOn"}
{"level":"info","count":1,"time":"2022-04-28T20:41:21+08:00","message":"load testcases successfully"}
2022-04-28T20:41:21.216+0800 [DEBUG] grpc-go.debugtalk.bin: 2022/04/28 20:41:21 plugin init function called 1111111111
2022-04-28T20:41:21.217+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","time":"2022-04-28T20:41:21+08:00","message":"start plugin server in gRPC mode"}
2022-04-28T20:41:21.217+0800 [DEBUG] grpc-go: using plugin: version=1
2022-04-28T20:41:21.217+0800 [DEBUG] grpc-go.debugtalk.bin: plugin address: address=/var/folders/d8/pdlv9w0164x2z04xsvy_b47h0000gn/T/plugin3579410216 network=unix timestamp="2022-04-28T20:41:21.217+0800"
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.220+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"sec_time","funcArgs":[],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.221+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"sec_time","args":"W10="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"sec_time","arguments":[],"output":"1651149681","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.222+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"first_name","funcArgs":[],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.223+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"first_name","args":"W10="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"first_name","arguments":[],"output":"Misael","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"debug","parsedString":"Misael","matchStartPosition":15,"time":"2022-04-28T20:41:21+08:00","message":"[parseString] parse function"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.223+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"last_name","funcArgs":[],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.223+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"last_name","args":"W10="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"last_name","arguments":[],"output":"Dietrich","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"debug","parsedString":"Misael_Dietrich","matchStartPosition":30,"time":"2022-04-28T20:41:21+08:00","message":"[parseString] parse function"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.223+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"env","funcArgs":["IAM_HOST"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.224+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJJQU1fSE9TVCJd"},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["IAM_HOST"],"output":"http://127.0.0.1:80","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"level":"info","testcase":"查看staff 是否拥有权限","time":"2022-04-28T20:41:21+08:00","message":"run testcase start"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"level":"info","step":"管理员登录","type":"testcase","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
2022-04-28T20:41:21.238+0800 [DEBUG] grpc-go.debugtalk.bin: 2022/04/28 20:41:21 plugin init function called 1111111111
2022-04-28T20:41:21.238+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","time":"2022-04-28T20:41:21+08:00","message":"start plugin server in gRPC mode"}
2022-04-28T20:41:21.239+0800 [DEBUG] grpc-go.debugtalk.bin: plugin address: address=/var/folders/d8/pdlv9w0164x2z04xsvy_b47h0000gn/T/plugin3519572762 network=unix timestamp="2022-04-28T20:41:21.239+0800"
2022-04-28T20:41:21.239+0800 [DEBUG] grpc-go: using plugin: version=1
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.241+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"env","funcArgs":["GLOBAL_EMAIL"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.242+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJHTE9CQUxfRU1BSUwiXQ=="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["GLOBAL_EMAIL"],"output":"[email protected]","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","funcName":"env","funcArgs":["GLOBAL_PASSWORD"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.244+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJHTE9CQUxfUEFTU1dPUkQiXQ=="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["GLOBAL_PASSWORD"],"output":"1234qwerASDF!@#$","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","funcName":"env","funcArgs":["IAM_HOST"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.245+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJJQU1fSE9TVCJd"},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["IAM_HOST"],"output":"http://127.0.0.1:80","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"manual_add":false,"pass":"1234qwerASDF!@#$","roles":["管理员"]},"roles":[{"id":"62652c8e4f656721550625be","bid":"61dcfca9bbf7770001df57e9","name":"ADMIN","roleType":"ADMIN"}],"role":{"bid":"61dcfca9bbf7770001df57e9","id":"62652c8e4f656721550625be","oid":"62652c8e4f656721550625be","name":"ADMIN","pageAuth":null,"operationAuth":null,"dataAuth":null,"createdAt":null,"updatedAt":null},"department":{"bid":"61dcfca9bbf7770001df57e9","id":"82d2dd18-7290-11ec-aa8a-22d7afb7822d","oid":"61dcfca9b7276d6ec7e381db","externalId":"root","name":"root","createdAt":"2022-01-11T03:42:33.736Z","updatedAt":"2022-01-11T03:42:33.736Z"},"createdAt":"2022-01-11T03:42:33.176Z","updatedAt":"2022-04-25T07:02:16.689Z"}}
--------------------------------------------------
{"level":"info","from":"body.token.accessToken","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTM3NDE2ODEzNjQ1MjAwMDAsImp0aSI6IjYxZGNmY2E5YmJmNzc3MDAwMWRmNTdlYiIsImlhdCI6MTY1MTE0OTY4MTM2NDUyMDAwMCwiaXNzIjoiaWFtLnJjcmFpLmNvbSJ9.e5qBCYEZk47XuMDaCHYyBGwLsFuzka7r_fb-Q55jQt8","time":"2022-04-28T20:41:21+08:00","message":"extract value"}
{"level":"info","variable":"accessToken","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTM3NDE2ODEzNjQ1MjAwMDAsImp0aSI6IjYxZGNmY2E5YmJmNzc3MDAwMWRmNTdlYiIsImlhdCI6MTY1MTE0OTY4MTM2NDUyMDAwMCwiaXNzIjoiaWFtLnJjcmFpLmNvbSJ9.e5qBCYEZk47XuMDaCHYyBGwLsFuzka7r_fb-Q55jQt8","time":"2022-04-28T20:41:21+08:00","message":"set variable"}
{"level":"info","from":"body.token.bid","value":"61dcfca9bbf7770001df57e9","time":"2022-04-28T20:41:21+08:00","message":"extract value"}
{"level":"info","variable":"bid","value":"61dcfca9bbf7770001df57e9","time":"2022-04-28T20:41:21+08:00","message":"set variable"}
{"level":"info","from":"body.token.staffOid","value":"61dcfca9bbf7770001df57eb","time":"2022-04-28T20:41:21+08:00","message":"extract value"}
{"level":"info","variable":"staffOid","value":"61dcfca9bbf7770001df57eb","time":"2022-04-28T20:41:21+08:00","message":"set variable"}
{"level":"info","from":"body.staff.externalId","value":"61dcfca9bbf7770001df57ec","time":"2022-04-28T20:41:21+08:00","message":"extract value"}
{"level":"info","variable":"externalId","value":"61dcfca9bbf7770001df57ec","time":"2022-04-28T20:41:21+08:00","message":"set variable"}
{"level":"info","checkExpr":"status_code","assertMethod":"equals","expectValue":200,"expectValueType":"int64","checkValue":200,"checkValueType":"int64","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate status_code"}
{"level":"info","step":"登录","type":"request","success":true,"exportVars":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTM3NDE2ODEzNjQ1MjAwMDAsImp0aSI6IjYxZGNmY2E5YmJmNzc3MDAwMWRmNTdlYiIsImlhdCI6MTY1MTE0OTY4MTM2NDUyMDAwMCwiaXNzIjoiaWFtLnJjcmFpLmNvbSJ9.e5qBCYEZk47XuMDaCHYyBGwLsFuzka7r_fb-Q55jQt8","bid":"61dcfca9bbf7770001df57e9","externalId":"61dcfca9bbf7770001df57ec","staffOid":"61dcfca9bbf7770001df57eb"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
eckExpr":"status_code","assertMethod":"equals","expectValue":200,"expectValueType":"int64","checkValue":200,"checkValueType":"int64","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate status_code"}
{"level":"info","step":"获取产线列表","type":"request","success":true,"exportVars":{"product_id":"625e62ca07ae44452708ea70","product_name":"KIRLIN"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","step":"新增资源","type":"testcase","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
2022-04-28T20:41:21.387+0800 [DEBUG] grpc-go.debugtalk.bin: 2022/04/28 20:41:21 plugin init function called 1111111111
2022-04-28T20:41:21.387+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","time":"2022-04-28T20:41:21+08:00","message":"start plugin server in gRPC mode"}
2022-04-28T20:41:21.388+0800 [DEBUG] grpc-go.debugtalk.bin: plugin address: address=/var/folders/d8/pdlv9w0164x2z04xsvy_b47h0000gn/T/plugin1215803598 network=unix timestamp="2022-04-28T20:41:21.388+0800"
2022-04-28T20:41:21.388+0800 [DEBUG] grpc-go: using plugin: version=1
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.390+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"last_name","funcArgs":[],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.390+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"last_name","args":"W10="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"last_name","arguments":[],"output":"Rogahn","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.391+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"env","funcArgs":["IAM_HOST"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.391+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJJQU1fSE9TVCJd"},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["IAM_HOST"],"output":"http://127.0.0.1:80","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"level":"info","testcase":"新增资源","time":"2022-04-28T20:41:21+08:00","message":"run testcase start"}
{"level":"info","parameters":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTM3NDE2ODEzNjQ1MjAwMDAsImp0aSI6IjYxZGNmY2E5YmJmNzc3MDAwMWRmNTdlYiIsImlhdCI6MTY1MTE0OTY4MTM2NDUyMDAwMCwiaXNzIjoiaWFtLnJjcmFpLmNvbSJ9.e5qBCYEZk47XuMDaCHYyBGwLsFuzka7r_fb-Q55jQt8","actKey":"Misael_Dietrich","actName":"1651149681","bid":"61dcfca9bbf7770001df57e9","productId":"625e62ca07ae44452708ea70","product_id":"625e62ca07ae44452708ea70","product_name":"KIRLIN","staffOid":"61dcfca9bbf7770001df57eb"},"time":"2022-04-28T20:41:21+08:00","message":"update config variables"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"level":"info","step":"新增资源","type":"request-POST","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
{"level":"info","funcName":"env","funcArgs":["GLOBAL_BID"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.391+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJHTE9CQUxfQklEIl0="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["GLOBAL_BID"],"output":"61dcfca9bbf7770001df57e9","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
-------------------- request --------------------
POST /v1/resource HTTP/1.1
Host: 127.0.0.1:80
Content-Type: application/json
Rcrai-Bid: 61dcfca9bbf7770001df57e9
{"productId":"625e62ca07ae44452708ea70","resName":"Rogahn"}
==================== response ====================
HTTP/1.1 200 OK
Content-Length: 175
Content-Type: application/json
Date: Thu, 28 Apr 2022 12:41:21 GMT
Grpc-Metadata-Content-Type: application/grpc
Grpc-Metadata-Traceid: 8f0c1cb2b385309fc8843f5860931832
{"id":"626a8b71e00c58233f34dbca","productId":"625e62ca07ae44452708ea70","resName":"Rogahn","createdAt":"2022-04-28T12:41:21.394808Z","updatedAt":"2022-04-28T12:41:21.394808Z"}
--------------------------------------------------
{"level":"info","from":"body.id","value":"626a8b71e00c58233f34dbca","time":"2022-04-28T20:41:21+08:00","message":"extract value"}
{"level":"info","variable":"resource_id","value":"626a8b71e00c58233f34dbca","time":"2022-04-28T20:41:21+08:00","message":"set variable"}
{"level":"info","checkExpr":"status_code","assertMethod":"equals","expectValue":200,"expectValueType":"int64","checkValue":200,"checkValueType":"int64","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate status_code"}
{"level":"info","checkExpr":"body.resName","assertMethod":"equals","expectValue":"Rogahn","expectValueType":"string","checkValue":"Rogahn","checkValueType":"string","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate body.resName"}
{"level":"info","checkExpr":"body.productId","assertMethod":"equals","expectValue":"625e62ca07ae44452708ea70","expectValueType":"string","checkValue":"625e62ca07ae44452708ea70","checkValueType":"string","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate body.productId"}
{"level":"info","step":"新增资源","type":"request","success":true,"exportVars":{"resource_id":"626a8b71e00c58233f34dbca"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","testcase":"新增资源","time":"2022-04-28T20:41:21+08:00","message":"run testcase end"}
{"level":"info","step":"新增资源","type":"testcase","success":true,"exportVars":{"resource_id":"626a8b71e00c58233f34dbca"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","step":"创建权限","type":"testcase","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
2022-04-28T20:41:21.408+0800 [DEBUG] grpc-go.debugtalk.bin: 2022/04/28 20:41:21 plugin init function called 1111111111
2022-04-28T20:41:21.408+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","time":"2022-04-28T20:41:21+08:00","message":"start plugin server in gRPC mode"}
2022-04-28T20:41:21.409+0800 [DEBUG] grpc-go.debugtalk.bin: plugin address: address=/var/folders/d8/pdlv9w0164x2z04xsvy_b47h0000gn/T/plugin2682641947 network=unix timestamp="2022-04-28T20:41:21.408+0800"
2022-04-28T20:41:21.409+0800 [DEBUG] grpc-go: using plugin: version=1
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.411+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"env","funcArgs":["IAM_HOST"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.412+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJJQU1fSE9TVCJd"},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["IAM_HOST"],"output":"http://127.0.0.1:80","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"level":"info","testcase":"创建权限","time":"2022-04-28T20:41:21+08:00","message":"run testcase start"}
{"level":"info","parameters":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTM3NDE2ODEzNjQ1MjAwMDAsImp0aSI6IjYxZGNmY2E5YmJmNzc3MDAwMWRmNTdlYiIsImlhdCI6MTY1MTE0OTY4MTM2NDUyMDAwMCwiaXNzIjoiaWFtLnJjcmFpLmNvbSJ9.e5qBCYEZk47XuMDaCHYyBGwLsFuzka7r_fb-Q55jQt8","actKey":"Misael_Dietrich","actName":"1651149681","bid":"61dcfca9bbf7770001df57e9","product_id":"625e62ca07ae44452708ea70","product_name":"KIRLIN","resId":"626a8b71e00c58233f34dbca","resource_id":"626a8b71e00c58233f34dbca","staffOid":"61dcfca9bbf7770001df57eb"},"time":"2022-04-28T20:41:21+08:00","message":"update config variables"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"level":"info","step":"创建权限","type":"request-POST","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
{"level":"info","funcName":"env","funcArgs":["GLOBAL_BID"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.413+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJHTE9CQUxfQklEIl0="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["GLOBAL_BID"],"output":"61dcfca9bbf7770001df57e9","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
-------------------- request --------------------
POST /v1/action HTTP/1.1
Host: 127.0.0.1:80
Content-Type: application/json
Rcrai-Bid: 61dcfca9bbf7770001df57e9
{"actKey":"Misael_Dietrich","actName":"1651149681","resId":"626a8b71e00c58233f34dbca"}
==================== response ====================
HTTP/1.1 200 OK
Content-Length: 202
Content-Type: application/json
Date: Thu, 28 Apr 2022 12:41:21 GMT
Grpc-Metadata-Content-Type: application/grpc
Grpc-Metadata-Traceid: aa386ad4275de8e31a9bdc35f0a1c840
{"id":"626a8b71e00c58233f34dbcb","resId":"626a8b71e00c58233f34dbca","actName":"1651149681","actKey":"MISAEL_DIETRICH","createdAt":"2022-04-28T12:41:21.416563Z","updatedAt":"2022-04-28T12:41:21.416563Z"}
--------------------------------------------------
{"level":"info","from":"body.id","value":"626a8b71e00c58233f34dbcb","time":"2022-04-28T20:41:21+08:00","message":"extract value"}
{"level":"info","variable":"permission_id","value":"626a8b71e00c58233f34dbcb","time":"2022-04-28T20:41:21+08:00","message":"set variable"}
{"level":"info","checkExpr":"status_code","assertMethod":"equals","expectValue":200,"expectValueType":"int64","checkValue":200,"checkValueType":"int64","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate status_code"}
{"level":"info","checkExpr":"body.actName","assertMethod":"equals","expectValue":"1651149681","expectValueType":"string","checkValue":"1651149681","checkValueType":"string","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate body.actName"}
{"level":"info","checkExpr":"body.resId","assertMethod":"equals","expectValue":"626a8b71e00c58233f34dbca","expectValueType":"string","checkValue":"626a8b71e00c58233f34dbca","checkValueType":"string","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate body.resId"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.422+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"to_upper","funcArgs":["Misael_Dietrich"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.423+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"to_upper","args":"WyJNaXNhZWxfRGlldHJpY2giXQ=="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"to_upper","arguments":["$actKey"],"output":"MISAEL_DIETRICH","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","checkExpr":"body.actKey","assertMethod":"equals","expectValue":"MISAEL_DIETRICH","expectValueType":"string","checkValue":"MISAEL_DIETRICH","checkValueType":"string","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate body.actKey"}
{"level":"info","step":"创建权限","type":"request","success":true,"exportVars":{"permission_id":"626a8b71e00c58233f34dbcb"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","testcase":"创建权限","time":"2022-04-28T20:41:21+08:00","message":"run testcase end"}
{"level":"info","step":"创建权限","type":"testcase","success":true,"exportVars":{"permission_id":"626a8b71e00c58233f34dbcb"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","step":"创建角色-SELF","type":"testcase","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.423+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"get_timestamp","arguments":[],"output":1651149681423,"time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"debug","parsedString":"SELF_1651149681423","matchStartPosition":23,"time":"2022-04-28T20:41:21+08:00","message":"[parseString] parse function"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.424+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"uuid","funcArgs":[],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.424+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"uuid","args":"W10="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"uuid","arguments":[],"output":"bf3485d7-0f76-4afd-9d75-3f76f8e01f42","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
2022-04-28T20:41:21.434+0800 [DEBUG] grpc-go.debugtalk.bin: 2022/04/28 20:41:21 plugin init function called 1111111111
2022-04-28T20:41:21.434+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","time":"2022-04-28T20:41:21+08:00","message":"start plugin server in gRPC mode"}
2022-04-28T20:41:21.436+0800 [DEBUG] grpc-go.debugtalk.bin: plugin address: address=/var/folders/d8/pdlv9w0164x2z04xsvy_b47h0000gn/T/plugin522203911 network=unix timestamp="2022-04-28T20:41:21.436+0800"
2022-04-28T20:41:21.436+0800 [DEBUG] grpc-go: using plugin: version=1
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
2022-04-28T20:41:21.437+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
{"level":"info","funcName":"last_name","funcArgs":[],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.438+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"last_name","args":"W10="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"last_name","arguments":[],"output":"Oberbrunner","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"function GetNames called on host side"}
{"level":"info","funcName":"env","funcArgs":["IAM_HOST"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.439+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{},"time":"2022-04-28T20:41:21+08:00","message":"gRPC GetNames() called on plugin side"}
2022-04-28T20:41:21.439+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJJQU1fSE9TVCJd"},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["IAM_HOST"],"output":"http://127.0.0.1:80","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"level":"info","testcase":"创建角色-SELF","time":"2022-04-28T20:41:21+08:00","message":"run testcase start"}
{"level":"info","parameters":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTM3NDE2ODEzNjQ1MjAwMDAsImp0aSI6IjYxZGNmY2E5YmJmNzc3MDAwMWRmNTdlYiIsImlhdCI6MTY1MTE0OTY4MTM2NDUyMDAwMCwiaXNzIjoiaWFtLnJjcmFpLmNvbSJ9.e5qBCYEZk47XuMDaCHYyBGwLsFuzka7r_fb-Q55jQt8","actIds":"626a8b71e00c58233f34dbcb","actKey":"Misael_Dietrich","actName":"1651149681","bid":"61dcfca9bbf7770001df57e9","code":200,"customDeptPermission":"bf3485d7-0f76-4afd-9d75-3f76f8e01f42","dataPermission":"SELF","permission_id":"626a8b71e00c58233f34dbcb","product_id":"625e62ca07ae44452708ea70","product_name":"KIRLIN","resource_id":"626a8b71e00c58233f34dbca","roleName":"SELF_1651149681423","staffOid":"61dcfca9bbf7770001df57eb","staff_oid":"61dcfca9bbf7770001df57eb"},"time":"2022-04-28T20:41:21+08:00","message":"update config variables"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"reset session runner"}
{"level":"info","step":"新增角色","type":"request-POST","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
{"level":"info","funcName":"env","funcArgs":["GLOBAL_BID"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.440+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJHTE9CQUxfQklEIl0="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["GLOBAL_BID"],"output":"61dcfca9bbf7770001df57e9","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
-------------------- request --------------------
POST /v1/role HTTP/1.1
Host: 127.0.0.1:80
Content-Type: application/json
Rcrai-Bid: 61dcfca9bbf7770001df57e9
Rcrai-Staff-Id: 61dcfca9bbf7770001df57eb
{"actIds":["626a8b71e00c58233f34dbcb"],"customDeptPermission":["bf3485d7-0f76-4afd-9d75-3f76f8e01f42"],"dataPermission":"SELF","roleName":"SELF_1651149681423"}
==================== response ====================
HTTP/1.1 200 OK
Content-Length: 495
Content-Type: application/json
Date: Thu, 28 Apr 2022 12:41:21 GMT
Grpc-Metadata-Content-Type: application/grpc
Grpc-Metadata-Traceid: 3ecc390f1873e713fd391d666f9e20b5
{"id":"626a8b71e00c58233f34dbcc","bid":"61dcfca9bbf7770001df57e9","name":"SELF_1651149681423","roleType":"NORMAL","actions":[{"id":"626a8b71e00c58233f34dbcb","resId":"626a8b71e00c58233f34dbca","actName":"1651149681","actKey":"MISAEL_DIETRICH","createdAt":"2022-04-28T12:41:21.417Z","updatedAt":"2022-04-28T12:41:21.417Z"}],"dataPermission":"SELF","customDeptPermission":["bf3485d7-0f76-4afd-9d75-3f76f8e01f42"],"createdAt":"2022-04-28T12:41:21.448918Z","updatedAt":"2022-04-28T12:41:21.448918Z"}
--------------------------------------------------
{"level":"info","from":"body.id","value":"626a8b71e00c58233f34dbcc","time":"2022-04-28T20:41:21+08:00","message":"extract value"}
{"level":"info","variable":"role_id","value":"626a8b71e00c58233f34dbcc","time":"2022-04-28T20:41:21+08:00","message":"set variable"}
{"level":"info","checkExpr":"status_code","assertMethod":"equals","expectValue":200,"expectValueType":"int64","checkValue":200,"checkValueType":"int64","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate status_code"}
{"level":"info","checkExpr":"body.roleType","assertMethod":"equals","expectValue":"NORMAL","expectValueType":"string","checkValue":"NORMAL","checkValueType":"string","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate body.roleType"}
{"level":"info","checkExpr":"body.name","assertMethod":"equals","expectValue":"SELF_1651149681423","expectValueType":"string","checkValue":"SELF_1651149681423","checkValueType":"string","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate body.name"}
{"level":"info","step":"新增角色","type":"request","success":true,"exportVars":{"role_id":"626a8b71e00c58233f34dbcc"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","testcase":"创建角色-SELF","time":"2022-04-28T20:41:21+08:00","message":"run testcase end"}
{"level":"info","step":"创建角色-SELF","type":"testcase","success":true,"exportVars":{"role_id":"626a8b71e00c58233f34dbcc"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","step":"创建staff","type":"request-POST","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
{"level":"info","funcName":"uuid","funcArgs":[],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.464+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"uuid","args":"W10="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"uuid","arguments":[],"output":"2b26c86c-62d1-4858-b085-311fe72558b3","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"info","funcName":"get_timestamp","arguments":[],"output":1651149681464,"time":"2022-04-28T20:41:21+08:00","message":"call function success"}
{"level":"debug","parsedString":"staff_1651149681464","matchStartPosition":24,"time":"2022-04-28T20:41:21+08:00","message":"[parseString] parse function"}
{"level":"info","funcName":"env","funcArgs":["GLOBAL_BID"],"time":"2022-04-28T20:41:21+08:00","message":"call function via gRPC"}
2022-04-28T20:41:21.464+0800 [DEBUG] grpc-go.debugtalk.bin: {"level":"info","req":{"name":"env","args":"WyJHTE9CQUxfQklEIl0="},"time":"2022-04-28T20:41:21+08:00","message":"gRPC Call() called on plugin side"}
{"level":"info","funcName":"env","arguments":["GLOBAL_BID"],"output":"61dcfca9bbf7770001df57e9","time":"2022-04-28T20:41:21+08:00","message":"call function success"}
-------------------- request --------------------
POST /v1/staff HTTP/1.1
Host: 127.0.0.1:80
Content-Type: application/json
Rcrai-Bid: 61dcfca9bbf7770001df57e9
{"externalId":"2b26c86c-62d1-4858-b085-311fe72558b3","name":"staff_1651149681464","roleIds":["626a8b71e00c58233f34dbcc"]}
==================== response ====================
HTTP/1.1 200 OK
Content-Length: 771
Content-Type: application/json
Date: Thu, 28 Apr 2022 12:41:21 GMT
Grpc-Metadata-Content-Type: application/grpc
Grpc-Metadata-Traceid: 5b915449175ebbc93edfb7041be77fcd
{"bid":"61dcfca9bbf7770001df57e9","id":"81da3d5c-c6f0-11ec-92b1-acde48001122","oid":"626a8b71e00c58233f34dbcd","externalId":"2b26c86c-62d1-4858-b085-311fe72558b3","email":"[email protected]","phone":"","name":"staff_1651149681464","departmentExternalId":"root","managerExternalId":"","status":"NORMAL","profile":{},"roles":[{"id":"626a8b71e00c58233f34dbcc","bid":"61dcfca9bbf7770001df57e9","name":"SELF_1651149681423","roleType":"NORMAL"}],"role":{"bid":"61dcfca9bbf7770001df57e9","id":"626a8b71e00c58233f34dbcc","oid":"626a8b71e00c58233f34dbcc","name":"SELF_1651149681423","pageAuth":null,"operationAuth":null,"dataAuth":null,"createdAt":null,"updatedAt":null},"createdAt":"2022-04-28T12:41:21.465692Z","updatedAt":"2022-04-28T12:41:21.465692Z"}
--------------------------------------------------
{"level":"info","from":"body.oid","value":"626a8b71e00c58233f34dbcd","time":"2022-04-28T20:41:21+08:00","message":"extract value"}
{"level":"info","variable":"staff_oid","value":"626a8b71e00c58233f34dbcd","time":"2022-04-28T20:41:21+08:00","message":"set variable"}
{"level":"info","checkExpr":"status_code","assertMethod":"equals","expectValue":200,"expectValueType":"int64","checkValue":200,"checkValueType":"int64","result":true,"time":"2022-04-28T20:41:21+08:00","message":"validate status_code"}
{"level":"info","step":"创建staff","type":"request","success":true,"exportVars":{"staff_oid":"626a8b71e00c58233f34dbcd"},"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","step":"验证staff是否拥有权限","type":"testcase","time":"2022-04-28T20:41:21+08:00","message":"run step start"}
{"level":"error","variables":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTM3NDE2ODEzNjQ1MjAwMDAsImp0aSI6IjYxZGNmY2E5YmJmNzc3MDAwMWRmNTdlYiIsImlhdCI6MTY1MTE0OTY4MTM2NDUyMDAwMCwiaXNzIjoiaWFtLnJjcmFpLmNvbSJ9.e5qBCYEZk47XuMDaCHYyBGwLsFuzka7r_fb-Q55jQt8","actKey":"$to_upper($actKey)","actName":"1651149681","bid":"61dcfca9bbf7770001df57e9","hasPermission":true,"permission_id":"626a8b71e00c58233f34dbcb","product_id":"625e62ca07ae44452708ea70","product_name":"KIRLIN","resource_id":"626a8b71e00c58233f34dbca","role_id":"626a8b71e00c58233f34dbcc","staffOid":"$staff_oid","staff_oid":"626a8b71e00c58233f34dbcd"},"time":"2022-04-28T20:41:21+08:00","message":"[parseVariables] variable self reference error"}
{"level":"error","variables":{"actKey":"Misael_Dietrich","actName":"1651149681"},"error":"variable self reference: actKey","time":"2022-04-28T20:41:21+08:00","message":"parse step variables failed"}
{"level":"error","step":"验证staff是否拥有权限","type":"testcase","success":false,"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","step":"验证staff是否拥有权限","type":"testcase","success":false,"exportVars":null,"time":"2022-04-28T20:41:21+08:00","message":"run step end"}
{"level":"info","testcase":"查看staff 是否拥有权限","time":"2022-04-28T20:41:21+08:00","message":"run testcase end"}
{"level":"info","path":"reports","time":"2022-04-28T20:41:21+08:00","message":"create folder"}
{"level":"info","path":"reports/report-1651149681.html","time":"2022-04-28T20:41:21+08:00","message":"generate HTML report"}
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"quit hashicorp plugin process"}
2022-04-28T20:41:21.584+0800 [DEBUG] grpc-go.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2022-04-28T20:41:21.585+0800 [DEBUG] grpc-go: plugin exited
{"level":"info","time":"2022-04-28T20:41:21+08:00","message":"[teardown] remove hashicorp plugin"}
--- PASS: TestCheckStaffPermissions (1.50s)
PASS
Process finished with the exit code 0
版本信息
请提供如下版本信息:
- Go 版本: master 分支 github.com/httprunner/httprunner v1.5.16-0.20220421140208-5d7a77fbe1d8
项目文件内容(非必须)
如果可能,提供项目测试用例文件原始内容可加快 bug 定位和修复速度。
提示:请注意在去除项目敏感信息(IP、账号密码、密钥等)后再进行上传。
@JK-yan 你在运行测试之前,有对 debugtalk.go 做编译么?
@JK-yan 你在运行测试之前,有对
debugtalk.go做编译么?
编译了,包括这个函数在其他用例里面都可以正常使用, 就这出问题了,