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

笔者接着 RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作)

继续分享robotframework 对数据库中的MongoDB的详细操作。这是笔者第二篇关于robotframework 对数据库的操作的分享介绍。

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

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

图2-2-1

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

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

图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所示。

图2-2-3

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

图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所示。

图2-2-5

运行结果如下:

Starting test: RobotFrameworkTest1.TestSute13.TestCase001

20180825 17:57:04.680 :  INFO :

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

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

20180825 17:57:04.684 :  INFO : | Disconnect From MongoDB |

Ending test:   RobotFrameworkTest1.TestSute13.TestCase001

从MongoDB的日志可以看到,在执行Disconnect From Mongodb关键字操作后,数据库服务端日志中已经显示数据库连接已经终止。

[conn3] end connection 127.0.0.1:2945 (0 connections now open)

2.1.2        Get Mongodb Databases和Get Mongodb Collections

在MongoDB Libray中通过Get Mongodb Databases关键字来获取当前MongoDB下的所有在用的数据库。

示例1:我们通过Get Mongodb Databases关键字来获取我们上面自己启动的MongoDB下的所有数据库,如下图2-2-6所示。

图2-2-6

运行结果如下:

Starting test: RobotFrameworkTest1.TestSute13.TestCase003

20180825 21:55:34.867 :  INFO :

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

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

20180825 21:55:34.873 :  INFO : | @{allDBs} | Get Mongodb Databases |

20180825 21:55:34.873 :  INFO : @{DBs} = [ local ]

20180825 21:55:34.875 :  INFO : local

20180825 21:55:34.877 :  INFO : | Disconnect From MongoDB |

Ending test:   RobotFrameworkTest1.TestSute13.TestCase003

从运行结果可以看到只获取到了一个名叫local的数据库,我们通过客户端连接到MongoDB服务端,然后执行show databases命令,可以看到得到的结果和我们通过 Get Mongodb Databases关键字来获取到的数据库信

息是一致的,如下图2-2-7所示。

图2-2-7

通过Get Mongodb Collections关键字可以获取到指定MongoDB数据库下的所有Collection,该关键字接收[ dbName ]一个参数。

示例2:我们通过Get Mongodb Collections关键字来获取到local库下的所有Collection,如下图2-2-8所示。

图2-2-8

运行结果如下:

Starting test: RobotFrameworkTest1.TestSute13.TestCase002

20180825 22:03:31.189 :  INFO :

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

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

20180825 22:03:31.197 :  INFO : | @{allDBs} | Get Mongodb Databases |

20180825 22:03:31.198 :  INFO : @{DBs} = [ local ]

20180825 22:03:31.200 :  INFO : local

20180825 22:03:31.205 :  INFO : | @{allCollections} | Get MongoDB Collections | local |

20180825 22:03:31.206 :  INFO : @{allCollections} = [ startup_log ]

20180825 22:03:31.208 :  INFO : startup_log

20180825 22:03:31.210 :  INFO : | Disconnect From MongoDB |

Ending test:   RobotFrameworkTest1.TestSute13.TestCase002

从运行结果可以看到,获取到了local库下的Collection名叫startup_log,然后我们通过客户端连接到服务端后,通过客户端show collections命令来获取一下Collection,如下图所示,我们可以看到获取到的Collection是完

全一致的,如下图2-2-9所示。

图2-2-9

2.1.3      Save Mongodb Records

Save MongoDB Records关键字用来向指定的Collection中保存插入的记录,该关键字接收[ dbName | dbCollName | recordJSON ]这三个参数。

示例:我们向startup_log这个Collection中插入一条记录,如下图2-2-10所示。

图2-2-10

运行结果如下:

Starting test: RobotFrameworkTest1.TestSute13.TestCase004

20180825 22:16:34.333 :  INFO :

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

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

20180825 22:16:34.344 :  INFO : | ${allResults} | Save MongoDB Records | local | startup_log | {u‘book‘: u‘RobotFramework‘, ‘_id‘: ObjectId(‘5b8164c2685b132ec4739503‘)} |

20180825 22:16:34.347 :  INFO : | Disconnect From MongoDB |

Ending test:   RobotFrameworkTest1.TestSute13.TestCase004

执行完成后,我们通过MongoDB客户端连接到服务端,执行db.startup_log.find()命令来查看startup_log这个Collection下的记录,如下图所示,可以看到{"book":"RobotFramework"}这条数据记录已经成功插入到了

MongoDB中,如下图2-2-11所示。

图2-2-11

2.1.4        Retrieve All Mongodb Records

Retrieve All Mongodb Records关键字用来获取指定Collection下的所有数据记录,该关键字接收[ dbName | dbCollName | returnDocuments=False ]这三个参数。

示例:我们通过Retrieve All Mongodb Records关键字来获取startup_log下的数据记录,如下图2-2-12所示。

图2-2-12

运行结果如下:

Starting test: RobotFrameworkTest1.TestSute13.TestCase005

20180825 22:38:05.197 :  INFO :

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

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

20180825 22:38:05.213 :  INFO : ${allResults} = [{u‘hostname‘: u‘yongqing-PC‘, u‘pid‘: 8964L, u‘startTimeLocal‘: u‘Sat Aug 25 17:45:31.203‘, u‘cmdLine‘: {u‘storage‘: {u‘dbPath‘: u‘D:\\MongoDB\\Server\\3.2\\data‘}, u‘systemLog‘: {u‘path‘: u‘D:\\Mong...

20180825 22:38:05.215 :  INFO : [{u‘hostname‘: u‘yongqing-PC‘, u‘pid‘: 8964L, u‘startTimeLocal‘: u‘Sat Aug 25 17:45:31.203‘, u‘cmdLine‘: {u‘storage‘: {u‘dbPath‘: u‘D:\\MongoDB\\Server\\3.2\\data‘}, u‘systemLog‘: {u‘path‘: u‘D:\\MongoDB\\Server\\3.2\\logs\\log.log‘, u‘destination‘: u‘file‘}}, u‘startTime‘: datetime.datetime(2018, 8, 25, 9, 45, 31), u‘_id‘: u‘yongqing-PC-1535190331203‘, u‘buildinfo‘: {u‘storageEngines‘: [u‘devnull‘, u‘ephemeralForTest‘, u‘mmapv1‘, u‘wiredTiger‘], u‘maxBsonObjectSize‘: 16777216, u‘bits‘: 64, u‘sysInfo‘: u‘deprecated‘, u‘modules‘: [], u‘openssl‘: {u‘compiled‘: u‘disabled‘, u‘running‘: u‘disabled‘}, u‘javascriptEngine‘: u‘mozjs‘, u‘version‘: u‘3.2.4‘, u‘gitVersion‘: u‘e2ee9ffcf9f5a94fad76802e28cc978718bb7a30‘, u‘versionArray‘: [3, 2, 4, 0], u‘debug‘: False, u‘buildEnvironment‘: {u‘cxxflags‘: u‘/TP‘, u‘cc‘: u‘cl: Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x64‘, u‘linkflags‘: u‘/nologo /DEBUG /INCREMENTAL:NO /LARGEADDRESSAWARE /OPT:REF‘, u‘distarch‘: u‘x86_64‘, u‘cxx‘: u‘cl: Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x64‘, u‘ccflags‘: u‘/nologo /EHsc /W3 /wd4355 /wd4800 /wd4267 /wd4244 /wd4290 /wd4068 /wd4351 /we4013 /we4099 /we4930 /Z7 /errorReport:none /MT /O2 /Oy- /Gw /Gy /Zc:inline‘, u‘target_arch‘: u‘x86_64‘, u‘distmod‘: u‘‘, u‘target_os‘: u‘windows‘}, u‘targetMinOS‘: u‘Windows Vista/Windows Server 2008‘, u‘allocator‘: u‘tcmalloc‘}}, {u‘_id‘: ObjectId(‘5b8164c2685b132ec4739503‘), u‘book‘: u‘RobotFramework‘}]

20180825 22:38:05.217 :  INFO : | Disconnect From MongoDB |

Ending test:   RobotFrameworkTest1.TestSute13.TestCase005

如下图2-2-13所示,运行结果与我们在客户端通过db.startup_log.find()命令行获取到结果是一致的。

图2-2-13

2.1.5       Update Many Mongodb Records

Update Many Mongodb Records关键字用来更新Collection中的数据记录,该关键字接收[ dbName | dbCollName | queryJSON | updateJSON | upsert=False ]这五个参数。

示例1:我们更新上面示例中插入的这条{"book":"RobotFramework"}记录为{"book":"robotFramework"},即将RobotFramework变为robotFramework,如下图2-2-14所示。

图2-2-14

运行结果如下:

Starting test: RobotFrameworkTest1.TestSute13.TestCase006

20180825 23:05:53.692 :  INFO :

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

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

20180825 23:05:53.700 :  INFO : ${newJson} = {"$set": {"book":"robotFramework"}}

20180825 23:05:53.708 :  INFO :

Matched: 1 documents

| ${allResults} | Update Many MongoDB Records | local | startup_log | {u‘book‘: u‘RobotFramework‘} | {u‘$set‘: {u‘book‘: u‘robotFramework‘}} |

20180825 23:05:53.710 :  INFO : | Disconnect From MongoDB |

Ending test:   RobotFrameworkTest1.TestSute13.TestCase006

更新完成后,我们通过客户端的db.startup_log.find()命令行来进行重新查询,如下图2-2-15所示,从查询的结果可以看到指定的记录已经更新完成了。

图2-2-15

2.1.6        Remove Mongodb Records

Remove Mongodb Records关键字用来删除指定Collection中的数据记录,该关键字接收[ dbName | dbCollName | recordJSON ]这三个参数。

示例:我们重新创建一个capped属性为false的Collection,因为之前的Collection的capped属性为true,会导致数据记录无法被删除,客户端创建一个Collection的命令为db.createCollection("RobotFramework",{capped :

false}),如下图2-2-16所示新的名叫RobotFramework的Collection的已经创建完成。

图2-2-16

如下图2-2-17所示,创建完成后,我们使用Remove Mongodb Records关键字来删除{"book":"robotFramework"}这条记录,如下图2-2-18所示。

图2-2-17

图2-2-18

运行结果如下:

Starting test: RobotFrameworkTest1.TestSute13.TestCase007

20180826 09:40:05.945 :  INFO :

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

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

20180826 09:40:05.947 :  INFO : ${Json} = {"book":"RobotFramework"}

20180826 09:40:05.970 :  INFO : | ${allResults} | Remove MongoDB Records | local | RobotFramework | {u‘book‘: u‘RobotFramework‘} |

20180826 09:40:05.972 :  INFO : | Disconnect From MongoDB |

Ending test:   RobotFrameworkTest1.TestSute13.TestCase007

执行完成后,我们在客户端执行db.RobotFramework.find()进行查询时,如下图2-2-19所示,从查询的结果可以看到{"book":"robotFramework"}这条记录已经被删除了

图2-2-19

2.1.7       MongoDB Libray库的其它关键字介绍

下表2-2-1中介绍了MongoDBLibrary库中其它关键字的使用示例


关键字


使用描述


Drop Mongodb Database


该关键字用来删除指定的MongoDB数据库,接收[ dbDelName ]一个参数,示例:


Drop Mongodb Database


Local


Drop Mongodb Collection


该关键字用来删除指定的Collection,接收[ dbName | dbCollName ]两个参数,示例:


Drop Mongodb Collection


local


RobotFramework


Get Mongodb Collection Count


该关键字用来获取指定Collection下的数据记录总数,接收[ dbName | dbCollName ]两个参数,示例:


${counts}


Get Mongodb Collection Count


local


RobotFramework


log


${counts}


Retrieve And Update One Mongodb Record


该关键字用来获取并且更新指定的数据记录,关键字接收[ dbName | dbCollName | queryJSON | updateJSON | returnBeforeDocument=False ]这五个参数,示例:


${queryJson}


Set Variable


{"book":"RobotFramework"}


${newJson}


Set Variable


{"$set": {"book":"robotFramework"}}


Retrieve and Update One Mongodb Record


local


RobotFramework


${queryJson}


${newJson}


Retrieve Mongodb Records With Desired Fields


该关键字用来从Collection中根据指定的字段查询出对应的满足要求的数据记录,接收[ dbName | dbCollName | recordJSON | fields | return__id=True | returnDocuments=False ]六个参数,示例:


${result}


Retrieve Mongodb Records With Desired Fields


local


RobotFramework


{}


book


log


${result}


Retrieve Some Mongodb Records


该关键字用来从Collection中查询出根据指定json匹配到的数据记录,接收

[ dbName | dbCollName | recordJSON | returnDocuments=False ]这四个参数,示例:


${result}


Retrieve Some Mongodb Records


local


RobotFramework


{"book":"robotFramework"}


log


${result}

表2-2-1

 更多更具体和详细的精彩,敬请关注作者新书:


Robot Framework自动化测试框架核心指南京东官方购买

Robot Framework自动化测试框架核心指南电子版试读

Robot Framework自动化测试框架核心指南天猫官方旗舰店购买

Robot Framework自动化测试框架核心指南当当网购买

Robot Framework自动化测试框架核心指南 作者签名版本购买

相关博文汇总:

RobotFramework下的http接口自动化Create Http Context关键字的使用

RobotFramework下的http接口自动化Get关键字的使用

RobotFramework下的http接口自动化post关键字的使用

如何创建一个自动化测试项目

RobotFramework下的http接口自动化Get Response Body关键字的使用

RobotFramework下的http接口自动化Get Response Status 关键字的使用

RobotFramework下的http接口自动化Get Response header 关键字的使用

RobotFramework下的http接口自动化Set Request Header 关键字的使用

RobotFramework下HttpLibrary库其它关键字

RobotFramework下的http接口自动化Set Request Body 关键字的使用

RobotFramework下的http接口自动化Follow Response关键字的使用

RobotFramework自动化测试框架的基础关键字(一)

RobotFramework自动化测试框架的基础关键字(二)

RobotFramework自动化测试框架的基础关键字(三)

RobotFramework自动化测试框架的基础关键字(四)

RobotFramework自动化测试框架的基础关键字(五)

RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍

RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用

RobotFramework自动化测试框架-常用断言关键字

RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary库其它的常见自动化关键字

RobotFramework自动化测试框架-移动手机自动化测试Input Text和Click Button关键字的使用

RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用

RobotFramework自动化测试框架-移动手机自动化测试Click Element关键字的使用

RobotFramework自动化测试框架-移动手机自动化测试Click A Point关键字的使用

RobotFramework自动化测试框架-移动手机自动化测试Click Element At Coordinates关键字的使用

RobotFramework自动化测试框架-移动手机自动化测试Get Element Location关键字的使用

RobotFramework自动化测试框架-移动手机自动化测试Get Network Connection Status和Set Network Connection Status关键字的使用

RobotFramework自动化测试框架-移动手机自动化测试Element Attribute Should Match关键字的使用

RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作)

RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib

RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser

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

原文地址:https://www.cnblogs.com/laoqing/p/11509042.html

时间: 2024-10-08 09:38:21

RobotFramework自动化测试框架-MongoDBLibrary库的使用的相关文章

RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)

本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramework中如何使用Selenium进行自动化测试. 本文章节目录: 1.Get Value 2.Get Webelements和Get Webelement 3.Get Window Titles 4.Go Back 和 Go To 5.Get List Items 6.Get Selected List

RobotFramework自动化测试框架(1)- RobotFramework简介

对于RobotFramework自动化测试框架,我这里会从三个单元进行阐述,希望能对你有帮助. RobotFramework简介 RobotFramework是什么? Robotframework 是由python编写的,一个开源的基于关键词驱动的自动化测试框架,它可以做基于UI或者接口的验收测试,有着非常简单易用的语法.它的一大特点就是可以使用java&python去扩展自定义一些测试库以及基于一些已有的关键词自定义一些高级关键词,这就意味着如果官方以及第三方提供的一些测试库没法满足项目的测试

RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary库其它的常见自动化关键字

关键字 使用描述 Close Application 关闭掉当前已经打开的APP Application,该关键字不需要接收任何的参数,但是使用该关键字的前提是已经打开了一个APP Application. Close All Applications 关闭掉当前已经打开的所有的APP Application,该关键字不需要接收任何的参数. Background App 让当前APP Application 运行在后台,该关键字接收一个参数[后台运行的时间],示例: Background App

RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍

在使用AppiumLibrary库时,需要预先安装好Appium自动化工具,Appium官网地址为:http://appium.io/ Appium的GitHub地址为:https://github.com/appium Appium的下载地址:http://appium.io/downloads.html,可以下载最新的安装版本和响应的Library库 Appium的相关介绍文档:http://appium.io/slate/cn/master/ Appium的RobotFramework-a

RobotFramework自动化测试框架的基础关键字(一)

1.1.1        如何搜索RobotFramework的关键字 有两种方式可以快速的打开RIDE的关键字搜索对话框 1.选择菜单栏Tools->Search Keywords,然后会出现如下的关键字搜索对话框,这个对话框就类似提供了一个关键字的API的功能,提供了关键字的名称,关键字的来源库和关键字的使用描述和关键字的参数. 2.通过F5快捷键,直接按F5,就可以自动弹出我们需要的关键字搜索框 1.1.2      关键字log Log 关键字其实就等同于python语言中的print函

RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser

Selenium出来已经有很多年了,从最初的Selenium1到后来的Selenium2,也变得越来越成熟,而且也已经被很多公司广泛使用.Selenium发展的过程中,分了很多模块,这里我们主要介绍Webdriver,Webdriver已经被很多浏览器所兼容.WebDriver在自动化脚本和浏览器之间充当的角色和之前介绍的Appium很像. 由于现在很多的浏览器都已经主动支持和兼容了WebDriver,所以Webdriver在启动后,会确认浏览器的native component是否存在可用而且

RobotFramework自动化测试框架的基础关键字(五)

1.1.1        Run Keyword If判断的使用 Run Keyword If是一个常用的用来做逻辑判断的关键字,意思是如果满足了某一个判断条件,然后就会执行关键字,我们对list3中放入0,1,2三个元素,然后遍历list3,判断当取到元素为0时,我们输出"男生". @{list3} Create List      0     1     2 :FOR       ${value} in    @{list3} Run Keyword If        '${va

RobotFramework自动化测试框架-移动手机自动化测试Input Text和Click Button关键字的使用

Input Text和Click Button Input Text 关键字一般用来给输入框进行输入操作,该关键字接收两个参数[ locator | text ]. 示例1:启动安卓手机上一个APP的MainActivity,在打开Activity,进入界面后,分别向两个EditText输入框中输入12,并且点击按钮"计算"来计算出输入的这两个数字的乘积. APP的界面如下,提供了两个输入框,还有一个计算的Button按钮. 在写这个自动化案例前,我们可以使用安卓SDK提供的Ui Au

RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用

在AppiumLibrary库中,Open Application关键字用来打开一个待测试移动APP. 示例1:连接本机已经打开的appium服务端,打开一个待测试的安卓APP,指定测试平台为Android,测试的手机deviceName为98YFBP522VSU,需要打开的APP路径为C:/Users/yongqing/Desktop/app-debug.apk,APP的包名为com.example.calculator,启动的appActivity为MainActivity Open App