RobotFramework自动化测试框架-MongoDBLibrary库的使用

继续分享robotframework 对数据库中的MongoDB的详细操作。

MongoDB是非常常用的一个非关系型数据库,在RobotFramework中,也提供了对MongoDB数据库测试操作的支持。我们可以通过在浏览器中访问github的网站地址

https://github.com/iPlantCollaborativeOpenSource/Robotframework-MongoDB-Library 即可以看到该库的相关安装说明和API介绍,如下图2-2-1所示。

RobotFramework自动化测试框架-MongoDBLibrary库的使用

 

 

图2-2-1

作者的原创文章,转载须注明出处。原创文章归作者所有,欢迎转载,但是保留版权。对于转载了博主的原创文章,不标注出处的,作者将依法追究版权,请尊重作者的成果,转载请注明链接:

 

安装完成后,在使用MongoDBLibrary库时,需要在测试套件中,预先导入该库,才可以在用例中使用MongoDBLibrary库中的关键字,如下图2-2-2所示。

RobotFramework自动化测试框架-MongoDBLibrary库的使用

 

 

图2-2-2

2.1.1        MongoDB数据库的连接和断开

 

在MongoDB Libray中通过Connect To Mongodb 关键字来连接到MongoDB数据库,该关键字接收[ dbHost=localhost | dbPort=27017 | dbMaxPoolSize=10 | dbNetworkTimeout=None | dbDocClass= | dbTZAware=False ]

这六个参数,dbHost参数指的是MongoDB数据库的IP地址,dbPort参数指的是MongoDB数据库的端口号,不输入时默认为27017,dbMaxPoolSize参数指的是数据库连接的最大线程池大小,不输入时默认大小为10。

示例1:我们连接到本地电脑上一个已经启动好的MongoDB数据库上,这里预先启动了一个3.2版本的MongoDB数据库,如下图2-2-3所示。

RobotFramework自动化测试框架-MongoDBLibrary库的使用

 

 

图2-2-3

在RIDE中,使用Connect To Mongodb来连接刚刚启动好的数据库,如下图2-2-4所示。

RobotFramework自动化测试框架-MongoDBLibrary库的使用

 

 

图2-2-4

运行结果如下:

Starting test: RobotFrameworkTest1.TestSute13.TestCase001

20180825 17:47:32.470 :  INFO :

| Connect To MondoDB | dbHost | dbPort | dbMaxPoolSize | dbNetworktimeout | dbDocClass | dbTZAware |

| Connect To MondoDB | 127.0.0.1 | 27017 | 2 | None | <type 'dict'> | False |

Ending test:   RobotFrameworkTest1.TestSute13.TestCase001

我们执行完成后,然后我看下MongoDB服务端的日志,从如下的MongoDB服务端的日志可以看到,已经成功和MongoDB数据库建立了连接。

2018-08-25T17:45:30.134+0800 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files

2018-08-25T17:45:30.138+0800 I CONTROL  [initandlisten] MongoDB starting : pid=8964 port=27017 dbpath=D:\MongoDB\Server\3.2\data 64-bit host=yongqing-PC

2018-08-25T17:45:30.138+0800 I CONTROL  [initandlisten] targetMinOS: Windows Vista/Windows Server 2008

2018-08-25T17:45:30.139+0800 I CONTROL  [initandlisten] db version v3.2.4

2018-08-25T17:45:30.139+0800 I CONTROL  [initandlisten] git version: e2ee9ffcf9f5a94fad76802e28cc978718bb7a30

2018-08-25T17:45:30.140+0800 I CONTROL  [initandlisten] allocator: tcmalloc

2018-08-25T17:45:30.140+0800 I CONTROL  [initandlisten] modules: none

2018-08-25T17:45:30.140+0800 I CONTROL  [initandlisten] build environment:

2018-08-25T17:45:30.161+0800 I CONTROL  [initandlisten]     distarch: x86_64

2018-08-25T17:45:30.162+0800 I CONTROL  [initandlisten]     target_arch: x86_64

2018-08-25T17:45:30.162+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "D:\MongoDB\Server\3.2\data" }, systemLog: { destination: "file", path: "D:\MongoDB\Server\3.2\logs\log.log" } }

2018-08-25T17:45:30.164+0800 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=4G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),

2018-08-25T17:45:31.202+0800 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'D:/MongoDB/Server/3.2/data/diagnostic.data'

2018-08-25T17:45:31.202+0800 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker

2018-08-25T17:45:31.359+0800 I NETWORK  [initandlisten] waiting for connections on port 27017

2018-08-25T17:46:53.205+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:2621 #1 (1 connection now open)

2018-08-25T17:46:53.730+0800 I NETWORK  [conn1] end connection 127.0.0.1:2621 (0 connections now open)

2018-08-25T17:47:32.471+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:2650 #2 (1 connection now open)

2018-08-25T17:47:33.031+0800 I NETWORK  [conn2] end connection 127.0.0.1:2650 (0 connections now open)

在MongoDB Libra中通过Disconnect From Mongodb 关键字来断开已经建立的MongoDB数据库连接。

示例2:通过Disconnect From Mongodb关键字断开MongoDB的数据库连接,如下图2-2-5所示。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzwwf.html