【问题标题】:When run the Connect to Oracle Database using jybot getting the error cx_Oracle is not found使用 jybot 运行 Connect to Oracle Database 时出现错误 cx_Oracle is not found
【发布时间】:2017-06-16 15:53:36
【问题描述】:

我尝试使用 jybot 选项从 Oracle 数据库运行查询,因为我有一些 java 自定义代码,在我的测试脚本中需要这些代码以及来自 oracle 数据库的查询。

我收到了错误cx_Oracle is not found

当使用 pybot 运行相同的程序(删除了 java 自定义代码)时,我没有收到任何错误。

如果我使用 jybot 单独运行 java 自定义代码,那么也没有错误。

我安装数据库的步骤如下:

安装 Visual C++ 编译器

  1. 下载并安装 VCForPython27.msi(如果没有可执行文件,请查看重要 URL 部分以获取下载链接)

  2. 如果尚未设置,请设置环境变量 ORACLE_HOME、TNS_ADMIN。

安装数据库

打开命令提示符并运行以下命令

pip install robotframework-databaselibrary

安装 cx_Oracle

打开命令提示符并运行以下命令

pip install cx_Oracle

连接到 Oracle 数据库代码:

Connect To Database Using Custom Params    cx_Oracle    '${Username}/${Password}@${Host}:${Port}/${DatabaseName}'

@{Numbers}    Query    SELECT NUMBER_V from MASTER_DB WHERE STATUS_V='F' and ROWNUM <= 10

Log    ${Numbers[0]}

任何人,请帮助我如何使用 jybot 从 oracle 数据库运行查询。

谢谢 萨拉达

【问题讨论】:

  • 貌似是jybot的配置问题。看不到你安装的oracle实例。

标签: robotframework


【解决方案1】:

cx_Oracle在jybot下无法成功使用

这是我的解决方案:

  1. 安装DatabaseLibrary模块

    pip install robotframework-databaselibrary
    
  2. 安装JayDeBeApi模块

    pip install JayDeBeApi
    
    • 现在您可以将这些库放在您喜欢的任何位置 - 只需从 Python\Lib\site-packages 复制它们
  3. 这就是诀窍! DatabaseLibrary 的 jaydebeapi 连接使用示例如下:

    Connect To Database Using Custom Params | JayDeBeApi | 'oracle.jdbc.driver.OracleDriver', 'my_db_test', 'system', 's3cr3t'
    

然而这是错误!您必须在用户名-密码对上使用方括号!像这样:

Connect To Database Using Custom Params | JayDeBeApi | 'oracle.jdbc.driver.OracleDriver', 'my_db_test', ['system', 's3cr3t']

请不要忘记使用 URL 连接而不是 my_db_test!应该是这样的:

jdbc:oracle:thin:@//127.0.0.1:1521/my_db_test

问候

【讨论】:

  • 感谢回复,以上解决方案是否适用于 pybot 和 jybot?
  • 是的。我们公司的测试是从 RF 的 Java 版本开始的,所以我不得不在上面做这个技巧
猜你喜欢
  • 2017-11-25
  • 2017-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-05
  • 2016-10-05
  • 1970-01-01
相关资源
最近更新 更多