Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用 hrun 或者 hrp pytest 运行参数化测试用例读取不到 config.variables 中的变量 #1749

Open
gq-guo opened this issue May 8, 2024 · 0 comments
Labels
pending pending for confirmation

Comments

@gq-guo
Copy link

gq-guo commented May 8, 2024

问题描述

请对 bug 进行简要描述;
尽量附带运行的命令和报错时的堆栈信息

用例文件
官方示例:
https://github.com/httprunner/httprunner/blob/master/examples/hrp/parameters_test.yaml

config:
  name: "request methods testcase: validate with parameters"
  parameters:
    user_agent: [ "iOS/10.1", "iOS/10.2" ]
    username-password: ${parameterize($file)}
  parameters_setting:
    pick_order: "random"
    strategies:
      user_agent:
        name: "user-identity"
        pick_order: "sequential"
      username-password:
        name: "user-info"
    limit: 6
  variables:
    app_version: v1
    user_agent: iOS/10.3
    file: testcases/jobs/accounts.csv
  base_url: "https://postman-echo.com"
  verify: False

teststeps:
  - name: "get with user: $username"
    variables:
      foo1: $username
      foo2: $password
      foo3: $user_agent
    request:
      method: GET
      url: /get
      params:
        foo1: $foo1
        foo2: $foo2
        foo3: $foo3
      headers:
        User-Agent: $user_agent,$app_version
    validate:
      - check: status_code
        assert: equals
        expect: 200
        msg: check status code
      - check: body.args.foo3
        assert: not_equal
        expect: iOS/10.3
        msg: check app version

使用命令 hrp run 执行 go 引擎测试,正常运行
使用命令 hrun 或者 hrp pytest 执行 python 引擎测试,提示找不到变量
错误如下:

../../../../.hrp/venv/lib/python3.11/site-packages/httprunner/parser.py:415: in parse_data
    return parse_string(raw_data, variables_mapping, functions_mapping)
../../../../.hrp/venv/lib/python3.11/site-packages/httprunner/parser.py:346: in parse_string
    parsed_args = parse_data(args, variables_mapping, functions_mapping)
../../../../.hrp/venv/lib/python3.11/site-packages/httprunner/parser.py:418: in parse_data
    return [
../../../../.hrp/venv/lib/python3.11/site-packages/httprunner/parser.py:419: in <listcomp>
    parse_data(item, variables_mapping, functions_mapping) for item in raw_data
../../../../.hrp/venv/lib/python3.11/site-packages/httprunner/parser.py:415: in parse_data
    return parse_string(raw_data, variables_mapping, functions_mapping)
../../../../.hrp/venv/lib/python3.11/site-packages/httprunner/parser.py:375: in parse_string
    var_value = get_mapping_variable(var_name, variables_mapping)
../../../../.hrp/venv/lib/python3.11/site-packages/httprunner/parser.py:241: in get_mapping_variable
    raise exceptions.VariableNotFound(
E   httprunner.exceptions.VariableNotFound: file not found in {}

版本信息

请提供如下版本信息:

  • 操作系统类型: [macOS]
  • Python 版本: [3.11]
  • Go 版本: [1.20.5]
  • HttpRunner 版本 [4.3.5]

项目文件内容(非必须)

如果可能,提供项目测试用例文件原始内容可加快 bug 定位和修复速度。

提示:请注意在去除项目敏感信息(IP、账号密码、密钥等)后再进行上传。

@gq-guo gq-guo added the pending pending for confirmation label May 8, 2024
@gq-guo gq-guo changed the title 使用 hrun 或者 hrp pytest 运行用例读取不到 config.variables 中的变量 使用 hrun 或者 hrp pytest 运行参数化测试用例读取不到 config.variables 中的变量 May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pending pending for confirmation
Projects
None yet
Development

No branches or pull requests

1 participant