【问题标题】:Is there any way to send arguments/values to Robot test cases from jenkins?有没有办法从詹金斯向机器人测试用例发送参数/值?
【发布时间】:2015-08-16 23:52:20
【问题描述】:

我有自动化测试,它接受用户的输入并运行测试。 关于我们是否可以为机器人测试用例提供 jenkins 的参数并运行测试有什么想法吗?

例如: 场景:测试照明设备是否正常工作。 步骤:

  1. ssh 登录到轻型设备,
  2. 运行一些预定义的命令集,
  3. 验证 Lighting_flag 设置为 0 还是 1,
  4. ssh 从设备注销

在这种情况下, 我需要将轻型设备用户名和密码作为用户的输入。 是否可以从 jenkins 获取(使用参数构建)并运行机器人测试用例?

【问题讨论】:

    标签: jenkins jenkins-plugins robotframework testcasesource


    【解决方案1】:

    您可以使用变量。例如,连接和登录的用户关键字可能是这样的:

    Connect To Device   
        [Arguments]    ${HOST}
        Open Connection     ${HOST}
        Login    ${USERNAME}    ${PASSWORD}
    

    现在,如果你的 Jenkins 参数是 usernamepassword,你可以像这样使用执行 shell 任务:

     pybot --variable USERNAME:[username] --variable PASSWORD:[password] <path/to/tests>
    

    这将为测试执行设置全局变量 ${USERNAME} 和 ${PASSWORD}。

    更多信息请关注user guide

    【讨论】:

    • 非常感谢。我会试试的。
    • 这适用于我使用机器人命令和相同的参数。 pybot 是机器人命令的同义词吗?
    • @dave_g_ 是的,可以称它们为同义词。其实pybot是robot command的前身(至少计划是这样)
    【解决方案2】:

    从 Jenkins 传递参数。

    1. 转到 Jenkins Job_Name -> 配置,在 Job Notification 区域中,您可以找到一个名为“This build is parameterised”的复选框。
    2. 单击“添加参数”,在选项中选择“字符串参数”。
    3. 现在您可以找到名称、默认值、描述(可选)。

    姓名:用户名

    默认值:user1

    对密码重复相同的操作。 在执行外壳中:

    导出用户名=$USERNAME

    导出密码=$PASSWORD

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 2018-01-07
      • 2016-09-03
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多