Robot framework学习笔记(三)通过定义自己的python库链接mysql

今天看了一些链接数据库的方法,发现官网提供的DatabaseLibrary只提供了和数据库直连的方法,现实中很多公司出于安全考虑,都是通过跳板机的方式链接。(跳板机是开发者登录到网站分配给应用服务器的唯一途径。开发者必须首先登录跳板机,再通过跳板机登录到应用服务器)。

显然这个方式不行。

因为这个rf是基于python语言的,所以我们可以通过自己写第三方库封装一个方法,来实现和数据库的链接。

ride可以通过rf的添加Library来调用我们的方法。

  • 第一步,搭建mysql的相关环境,比较重要的有以下几个:

这些我们可以通过pip的方式来安装

pymsql   mysql-python   sshtunnel

pymsql提供了一些方法来操作数据库的增删改查。

顺便可以安装rf自有的databaselibrary

 

  • 第二步,编写链接mysql的方法

因为自己之前用python写过接口方面的自动化,这里只需修改之前的代码即可,相关踩坑点,参考本人写的另外一篇文章:

http://note.youdao.com/noteshare?id=822a3812e776f8cdb77b96abafe08410&sub=654D2D37517A46C2B3CD3531FB66F176

具体实现方法如下:

  • 第三步,定义自己的python库

1.在python安装目录下的 Lib\site-packages 目录下 新建一个目录,目录名就是库名,如 NewLibrary

2.在新建的NewLibrary目录下创建一个python文件,任何合法的文件名即可,扩展名为py,如connectmysql.py

上面代码定义了一个python类,其中除构造方法 _init_ 外,还定义了一个print_query方法,该方法其实就是rf中的关键字(注意不要和rf中的关键字相同,否则会报错,rf中的关键字不区分大小写和_),可以直接在rf中使用。下面我们介绍。

3、在新建的NewLibrary目录下创建 __init__.py 文件,文件名必须固定这样。该文件的功能,就是把关键字类暴露出来,让rf能知道。
其内容如下:

一个最简单的自定义的NewLibrary库就创建好了,在rf工具中就可以使用

4.在rf中导入自己的库即可

在rf中可以看到自己所导入的库名已经调用的方法和参数。

如果导入失败:

1.需要自己删除自己的库

2.删除Lib\site-packages\NewLibrary的编译文件;

更改好代码后,计入所在目录,编译自己的两个文件,用命令python -m 文件名  文件名

或者删除文件后,重新启动rf

ps:如果提示"No module named xxxx",可能是自己代码写引用方法或方法名有问题。注意类名不要和文件名一样,或使用特殊关键字,如mysql

本次case如下:

*** Settings ***
Library           Selenium2Library
Library           DatabaseLibrary
Library           NewLibrary
Library           utf_8

*** Test Cases ***

test_connect
    ${a}    print_query    select * from tb_loan_person order by id limit 100
    log    ${a}
 

最终运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值