我需要在使用 Squish(Python) 进行的自动化过程中访问远程 Oracle 数据库。作为一个独立的 python 使用 cx_oracle 来访问 Oracle 数据库。
问问题
138 次
2 回答
2
重定向 Squish 以使用外部安装的 Python 文件夹(在两个位置 -LibraryPath -Scripting/PythonHome 的 'etc' 文件夹中的 path.ini 文件中将 python 地址编辑到外部 python 文件夹)。确保使用外部 python 应该与您的 squish 中安装的版本完全相同
安装 Oracle 客户端 64 位(从 oracle 下载并将 Lib 路径添加到环境变量)。
从这里安装 cx_oracle ' https://pypi.python.org/pypi/cx_Oracle/5.2.1 '
使用了以下脚本
import cx_Oracle
def main():
ip = 'xxxxx.xxx.xxxx.xxx'
port = xxxx
SID = 'xxxxxx'
dsn_tns = cx_Oracle.makedsn(ip, port, SID)
conn = cx_Oracle.connect('username', 'password', dsn_tns)
curs = conn.cursor()
curs.arraysize=50
curs.execute('SELECT * from tablename')
print "Student No\tModule\tMarks\n"
for column_1, column_2, column_3 in curs.fetchall():
print column_1, "\t", column_2, "\t", column_3
curs.close()
conn.close()
main()
此外,在 Squish 中更改SQUISH_DIR/lib/python*.dll
为SQUISH_DIR/lib/python*_off.dll
于 2017-11-22T09:10:21.157 回答
0
如果您的目的是执行查询/验证 AUT 已经有权访问的数据库中的值,您可以插入一个新的专用方法来执行 SQL(插入/更新/删除、选择等)到源代码中你的 AUT。然后,您可以通过创建对它们的引用来调用这些方法。
例如,getSQLResult(sql_as_a_string) 将结果集作为数组返回,以便您可以在脚本中对其进行验证。
于 2018-03-28T02:15:04.317 回答