【问题标题】:Robot Framework Requests could not find cert path机器人框架请求找不到证书路径
【发布时间】:2020-11-06 04:34:18
【问题描述】:

我在下面运行以下关键字来创建客户端证书会话,它可以完美地创建它:

Create Client Cert Session  alias=${alias}  url=${url}  client_certs=(${cert_path},${key_path})  verify=${False}

${cert_path} = /path/to/cert.pem

${key_path} = /path/to/key.pem

但是,当我尝试使用以下关键字执行获取请求时,会出现以下错误:

Get Request alias=${alias} uri=${Enrollment_URI}

错误:

OSError: Could not find the TLS certificate file, invalid path: (

我从 python 请求库中的 session 对象打印出证书的路径,它打印出来是这样的:

('(', '/', 'p', 'a', 't', 'h', '/', 't', 'o', '/', 'c', 'e', 'r', 't', '.', 'p', 'e', 'm',')')

这是从发送 get 请求的函数打印出来的,而不是会话创建。

从错误来看,get 请求中的函数似乎只读取了上面路径中的第一个 ( 而无法识别它。我不确定在将路径传递给关键字之前是否应该对路径做些什么。

【问题讨论】:

    标签: ssl python-requests robotframework get-request rest


    【解决方案1】:

    机器人不是蟒蛇。 client_certs=(${cert_path},${key_path}) 不会将元组作为 client_certs 值传递。它正在传递一个字符串,该字符串实际上是以( 作为第一个字符。这就是您收到invalid path '(' 错误的原因。

    如果您需要将列表传递给Create client cert session,则必须在单独的步骤中创建列表:

    @{client certs}=  create list  ${cert_path}  ${key_path}
    Create Client Cert Session  alias=${alias}  url=${url}  client_certs=${client certs}  verify=${False}
    

    【讨论】:

      猜你喜欢
      • 2015-07-16
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 2020-11-11
      • 2011-10-18
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多