目录
例如Post Request已经弃用,在0.8版本中用Post On Session替代;
一、安装
1、安装python;安装路径简洁,配置环境变量;
2、setuptools:python安装过程可选择自动安装setuptools,或者,https://pypi.python.org/pypi/setuptools 下载安装
3、pip:python安装过程可选择自动安装pip
3.1、robotframework:安装:pip install robotframework
3.2、wxPython:安装:pip install wxPython
3.3、robotframework-ride:安装:pip install robotframework-ride
3.4、selenium2library:安装:pip install robotframework-selenium2library;说明:selenium2测试库,基于webdriver驱动
3.5、cx_Oracle::安装:pip install cx_Oracle
3.6、databaselibrary:安装:pip install robotframework-databaselibrary
3.7、requests:安装:pip install requests
3.8、RequestsLibrary:安装:pip install -U robotframework-requests
3.9、bs4:安装:pip install bs4
3.10、pytz :安装:pip install pytz
3.11、redis:安装:pip install redis
二、各种小问题集锦
1、RequestsLibrary 库引入
RequestsLibrary库必须在[test suites]即".robot"文件下Settings区域引入:
2、运行日志输出中文乱码解决
2.1、修改
python安装目录:
C:\python\Lib\site-packages\robotide\contrib\testrunner下的testrunnerplugin.py文件;修改第565行, encoding[‘SYSTEM’]) 改为 encoding[‘OUTPUT’])
2.2、 重启ride工具,再运行,结果展示如下:
3、 RequestsLibrary 版本对比
RequestsLibrary当前最新版本为0.93版本,适配python2.x和python3.x:
安装命令:
pip install robotframework-requests
与历史v0.8版本相比,0.9的版本兼容了0.8版本的功能,并更进一步优化。
主要改变在以下方面:
3.1、请求关键字
所有请求关键字都已被重写,并在不久的将来允许在没有会话的情况下请求关键字。旧关键字* Request现已弃用,并将在 1.0.0 版本中删除。
例如Post Request已经弃用,在0.8版本中用Post On Session替代;
Post On Session关键字:
状态码上的隐式断言:Post On Session如果返回错误状态码,关键字会自动失败。expect_status=可用于指定状态代码
而在0.9版本中可以只用POST,不需要一个会话时:
3.2、${resp.json()} 代替 To Json
4、python使用包cx_Oracle连接Oracle报错:版本不支持
DatabaseError: DPI-1072: the Oracle Client library version is unsupported
python 安装3.7.6版本,操作系统是win10 64位,instantclient_21_3
解决:将instantclient_21_3下【3个.dll文件】复制到 \Python37\Lib\site-packages目录下即可。
三、类库及关键字归类
1、Collections库关键字
1.1、Get Dictionary Keys 、Get From Dictionary
2、RequestLibrary常用关键字
3、Bullins库关键字
3.1、连接 Catenete
a、Catenete不使用分隔符,两个字符之间默认以“空格”
b、分隔符SEPARATOR值,可以选择任意格式
c、不需要空格时,分隔符SEPARATOR=空,不设置任何值即可
4、DatebaseLibrary
4.1、 No module named 'pymysql'
原因1:没有安装pymysql
pip install pymysql
4.2、(1046,"no database selected")
错误:(1046,"no database selected")
原因:“表名” 前没有加对应的 “用户”