二、Robot Framework 对数据库的操作

news2024/11/29 6:33:21

Robot Framework 对数据库的操作

  • 2.1 DatabaseLibrary 库的使用
      • 1. 安装 DatabaseLibrary 库
      • 2. 测试套件中导入 DatabaseLibrary 库
      • 3. 安装 pure-PythonMySQL client library
    • 2.1.1 如何连接数据库
    • 2.1.2 如何断开数据库
    • 2.1.3 如何对数据库的表进行查询
    • 2.1.4 如何插入和删除数据
    • 2.1.5 如何执行数据库脚本文件
    • 2.1.6 DatabaseLibrary 库的其他操作关键字
  • 2.2 MongoDBLibrary 库的使用
      • 1. 安装 MongoDBLibrary 库
      • 2. 测试套件中导入 MongoDBLibrary 库
    • 2.2.1 MongoDB 数据库的连接和断开
      • 连接
      • 断开
    • 2.2.2 Get Mongodb Databases 和 Get Mongodb Collections
    • 2.2.3 Save Mongodb Records
    • 2.2.4 Retrieve All Mongodb Records
    • 2.2.5 Update Many Mongodb Records
    • 2.2.6 Remove Mongodb Records
    • 2.2.7 MongoDBLibrary 库的其他关键字

2.1 DatabaseLibrary 库的使用

Robot Framework 提供了 DatabaseLibrary 库来操作数据库

  • GitHub 上的 DatabaseLibrary 库

1. 安装 DatabaseLibrary 库

pip3 install -U robotframework-databaselibrary

请添加图片描述

2. 测试套件中导入 DatabaseLibrary 库

请添加图片描述

3. 安装 pure-PythonMySQL client library

可从 GitHub 下载安装或通过 pip:

pip3 install PyMySQL

请添加图片描述

2.1.1 如何连接数据库

  1. 通过 DatabaseLibrary 库中的 Connect To Database 关键字来连接一个 MySQL 数据库
    请添加图片描述
  2. 还可以通过 Connect To Database Using Custom Params 关键字来连接 MySQL 数据库
    请添加图片描述

2.1.2 如何断开数据库

可以通过关键字 Disconnect From Database 断开数据库连接,我们在操作数据库时一定不要忘记在操作完成后断开数据库的连接
请添加图片描述

2.1.3 如何对数据库的表进行查询

通过 Query 关键字可以对数据库中的表进行查询
请添加图片描述

2.1.4 如何插入和删除数据

可以通过 Execute Sql String 关键字来执行数据库的插入操作和删除操作

  1. 插入:执行 INSERT INTO <table_name> (<field_name1> ,<field_name2>,...) VALUES ('<field_value1>','<field_name1>',...)
    请添加图片描述
  2. 删除:执行 DELETE FROM <table_name> WHERE <field_name1>=<specific_value>
    请添加图片描述

2.1.5 如何执行数据库脚本文件

在做自动化测试时,我们经常需要构造数据或者对库中的数据进行初始化,但是如果我们每次都是将要执行的数据库脚本按条写在用例中,那么将非常不好维护,因此我们需要直接执行数据库脚本文件

在 DatabaseLibrary 库中,可以通过 Execute Sql Script 关键字来执行数据库脚本文件

script.sql

INSERT INTO city(Name,Population) VALUES ('Suzhou','1274.83 w');
INSERT INTO city(Name,Population) VALUES ('Wuxi','747.95 w');

请添加图片描述

2.1.6 DatabaseLibrary 库的其他操作关键字

请添加图片描述

2.2 MongoDBLibrary 库的使用

MongoDB 是非常常用的一个非关系型数据库,Robot Framework 提供了对 MongoDB 数据库测试操作的支持

  • GitHub 上的 MongoDBLibrary 库

1. 安装 MongoDBLibrary 库

pip install -U Robotframework-MongoDB-Library

请添加图片描述

2. 测试套件中导入 MongoDBLibrary 库

请添加图片描述

2.2.1 MongoDB 数据库的连接和断开

连接

在 MongoDBLibrary 中通过 Connect To MongoDB 关键字来连接到 MongoDB 数据库

  • 该关键字接收 [ dbHost=localhost | dbPort=27017 | dbMaxPoolSize=10 |dbNetworkTimeout=None | dbDocClass= | dbTZAware=False ] 六个参数
    • dbHost :MongoDB 数据库的 IP 地址
    • dbPort:MongoDB 数据库的端口号,不输入时默认为27017
    • dbMaxPoolSize:数据库连接的最大线程池大小,不输入时默认大小为10

请添加图片描述

断开

在 MongoDBLibrary 中通过 Disconnect From Mongodb 关键字来断开已经建立的 MongoDB 数据库连接
请添加图片描述

2.2.2 Get Mongodb Databases 和 Get Mongodb Collections

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

  • 调用该关键字时可能会遇到问题 “‘Database’ object is not callable”

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

2.2.3 Save Mongodb Records

Save MongoDB Records 关键字用来向指定的 Collection 中保存插入的记录,接收[ dbName| dbCollName | recordJSON ]三个参数
请添加图片描述

2.2.4 Retrieve All Mongodb Records

Retrieve All Mongodb Records 关键字用来获取指定 Collection 下的所有数据记录,接收[ dbName | dbCollName | returnDocuments=False ]三个参数
请添加图片描述

2.2.5 Update Many Mongodb Records

Update Many Mongodb Records 关键字用来更新 Collection 中的数据记录,接收[dbName | dbCollName | queryJSON | updateJSON | upsert=False ]五个参数
请添加图片描述

2.2.6 Remove Mongodb Records

Remove Mongodb Records 关键字用来删除指定 Collection 中的数据记录,接收 [dbName | dbCollName | recordJSON ] 三个参数
请添加图片描述

2.2.7 MongoDBLibrary 库的其他关键字

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java EE初阶 — Thread类及常见方法

文章目录1.Thread 常见的构造方法2.Thread 几个常见的属性3.启动一个线程 - start()4.终止一个线程4.1 使用标志位来控制线程是否要停止4.2 使用 Thread 自带的标志位来进行判定5.等待一个线程 - join()6.获取当前线程引用7.休眠当前线程1.Thread 常见的构造方法 Thread() - 创…

【Spring】——11、了解BeanPostProcessor后置处理器

&#x1f4eb;作者简介&#xff1a;zhz小白 公众号&#xff1a;小白的Java进阶之路 专业技能&#xff1a; 1、Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理 2、熟悉Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理&#xff0c;具备⼀定的线…

Packet Tracer - 综合技能练习(通过调整 OSPF 计时器来修改 OSPFv2 配置)

地址分配表 设备 接口 IP 地址 子网掩码 RA G0/0 192.168.1.1 255.255.255.0 RB G0/0 192.168.1.2 255.255.255.0 RC G0/0 192.168.1.3 255.255.255.0 S0/0/0 209.165.200.225 255.255.255.252 拓扑图 场景 在此综合技能练习中&#xff0c;您的重点是 OSPF…

【滤波跟踪】不变扩展卡尔曼滤波器对装有惯性导航系统和全球定位系统IMU+GPS进行滤波跟踪【含Matlab源码 2232期】

⛄一、简介 针对室内定位中的非视距&#xff08;Non-Line-of-Sight,NLOS&#xff09;现象,提出一个新型算法进行识别,同时有效缓解其影响.主要通过超宽带&#xff08;Ultra-Wideband,UWB&#xff09;定位系统与惯性导航系统&#xff08;Inertial Navigation System,INS&#x…

车辆大全和车牌识别系统毕业设计,车牌识别系统设计与实现,车牌AI识别系统论文毕设作品参考

功能清单 【后台管理员功能】 系统设置&#xff1a;设置网站简介、关于我们、联系我们、加入我们、法律声明 广告管理&#xff1a;设置小程序首页轮播图广告和链接 留言列表&#xff1a;所有用户留言信息列表&#xff0c;支持删除 会员列表&#xff1a;查看所有注册会员信息&a…

发布MagicOS 7.0, 荣耀如何打造“松弛感”的操作系统?

最近&#xff0c;“松弛感”一词特别流行。有博主教网友如何打造松弛感美女&#xff0c;因为这种毫不费力、天然去雕饰的美&#xff0c;更有吸引力&#xff1b;职场松弛感&#xff0c;能够平衡工作和生活&#xff0c;更被同事们喜欢&#xff1b;生活也需要多一些松弛感&#xf…

C. Doremy‘s City Construction(思维)

Problem - C - Codeforces Doremy的新城市正在建设中! 这个城市可以被看作是一个有n个顶点的简单无向图。第i个顶点的高度为ai。现在&#xff0c;多雷米正在决定哪些顶点对应该用边连接。 由于经济原因&#xff0c;图中不应该有自循环或多条边。 由于安全原因&#xff0c;不应…

mybatis基础01

一、安装mybatis 要使用 MyBatis&#xff0c; 只需将 mybatis-x.x.x.jar 文件置于类路径&#xff08;classpath&#xff09;中即可。 如果使用 Maven 来构建项目&#xff0c;则需将下面的依赖代码置于 pom.xml 文件中&#xff1a; <dependency><groupId>org.mybat…

贺利坚汇编语言课程笔记 绪论

贺利坚汇编语言课程笔记 绪论 又是女娲补天式地从零开始两周零基础冲击六十分… 文章目录贺利坚汇编语言课程笔记 绪论一.Why should we learn Assembly language&#xff1f;二.从机器语言到汇编语言三.计算机组成指令和数据的表示计算机中的存储单元计算机中的总线x86CPU性能…

Java日期时间的前世今生

&#x1f649; 作者简介&#xff1a; 全栈领域新星创作者 &#xff1b;天天被业务折腾得死去活来的同时依然保有对各项技术热忱的追求&#xff0c;把分享变成一种习惯&#xff0c;再小的帆也能远航。 &#x1f3e1; 个人主页&#xff1a;xiezhr的个人主页 前言 日常开发中&…

gitpod.io,云端开发调试工具。

gitpod&#xff0c;一款在线开发调试工具&#xff0c;使用它你可以在网页上直接开发软件项目了。 比如你的项目仓库在github上&#xff0c;你可以直接在网址的前面添加gitpod.io/#&#xff0c;然后回车就能在网页上使用vscode打开这个项目了。 打开的效果&#xff1a; 可以安装…

ZZULIOJ 2066: 带分数

ZZULIOJ 2066: 带分数 题意&#xff1a; 给定一个数NNN&#xff0c;问有多少组a,b,ca,b,ca,b,c满足abcNa\dfrac bcNacb​N&#xff0c;且a,b,ca,b,ca,b,c三个数不重不漏地涵盖1−91-91−9这999个数字&#xff0c;输出总组数 解题思路&#xff1a; 暴力枚举出999个数的全排列…

sql数据库入门(1)

前言 &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f; c语言初阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>: 本篇记录一下牛牛在学校学习的sql serve数据库知识,内…

学了PS了还用学习AI吗,有什么区别

AdobeIllustrator和AdobePhotoshop它是目前市场上设计师使用最广泛的两种软件。很多刚接触的同学会发现&#xff0c;两者都可以达到一些效果&#xff0c;导致一种错觉&#xff0c;认为任何人都可以使用&#xff0c;所以他们可以随意使用。 虽然在PS和Ai它确实可以用来做类似的…

顶刊示例-经济研究数据-全国、省、市-城市人均收入、农村人均收入面板数据

&#xff08;1&#xff09;全国城乡居民人均收入 1、数据来源&#xff1a;中国统计年鉴 2、时间跨度&#xff1a;1978-2020 3、区域范围&#xff1a;国家 4、指标说明&#xff1a; 包含如下指标&#xff1a; 全国居民人均可支配收入 城镇居民人均可支配收入 农村居民人均…

深入浅出解析——MYSQL|触发器

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后…

AtCoder Beginner Contest 279 F BOX 并查集 (大意失荆州

前言 赛时一直RE&#xff0c;思路很清晰&#xff0c;不知道RE哪里。。qwq 赛后开断点发现&#xff0c;map的大小不变&#xff0c; 最后发现是一个if条件写错了&#xff0c;寄。 不知道为什么会想起 银河英雄传说 题意&#xff1a; 初始n个盒子&#xff0c;盒子iii放着编号为i…

2023年天津财经大学珠江学院专升本退役士兵免试职业技能考查大纲

天津财经大学珠江学院2023年高职升本科职业技能综合考查考试大纲 &#xff08;仅适用于符合条件的退役士兵考生&#xff09;《管理学原理》 一、本大纲系天津财经大学珠江学院2023年高职升本科《管理学原理》职业技能综合考查考试大纲&#xff0c;仅适用于符合条件的退役士兵考…

面试官:synchronized与Lock有什么区别?

作为一名程序员&#xff0c;在求职面试时&#xff0c;不知道你在求职面试时常会遇到关于线程的问题。张工是一名java程序员&#xff0c;3年多工作经验&#xff0c;有次到一家互联网公司面试软件开发工程师岗位&#xff0c;面试官就问了他这样一个问题。synchronized与Lock有什么…

Android APP深度优化—内存映射机制(mmap)

mmap原理 open一个文件&#xff0c;然后调用mmap系统调用&#xff0c;将文件的内容的全部或一部分直接映射到进程虚拟空间中文件存储映射部分&#xff1b;完成映射关系后&#xff0c;mmap返回值是一个指针&#xff0c;进程可以通过采用指针方式读写操作这一段内存&#xff1b;…