百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

RobotFramework之使用DatabaseLibrary库操作mysql数据库(十一)

toyiye 2024-06-21 12:28 11 浏览 0 评论

学习目录

安装Mysql数据库

安装mysql数据库的连接工具

安装DatabaseLibrary

通过ride导入DatabaseLibrary库

在resource文件中创建关键字,实现操作数据库的功能

创建并执行测试用例

1、 在测试套件中引用该resource文件

2、 创建查询sql用例

3、 创建更新数据库用例

总结

本章节主要介绍使用DatabaseLibrary库操作mysql数据库,包括查询、删除数据等

安装Mysql数据库

安装windows操作系统的mysql数据库,在官网下载安装https://downloads.mysql.com/archives/installer/,注意保存好创建时填写的root密码或者其他用户名和密码,后续连接时需要使用。

安装mysql数据库的连接工具

可以下载免费的 HeidiSQL,打开后连接数据库:填写本机ip、用户和密码,以及端口(默认3306)

连接之后,创建数据库mydb和表userinfo

在表userinfo中插入3条数据

安装DatabaseLibrary

通过pip命令安装 robotframework-databaselibrary 以及连接mysql的包pymysql

pip install robotframework-databaselibrary -i https://mirrors.aliyun.com/pypi/simple/
pip install pymysql -i https://mirrors.aliyun.com/pypi/simple/

通过ride导入DatabaseLibrary库

还是跟之前文章一样,创建一个resource文件数据库操作.robot,在resource文件中导入DatabaseLibrary库。如下图所示

查看DatabaseLibrary库的关键字信息

在resource文件中创建关键字,实现操作数据库的功能

  1. 在上面创建的resource文件点击右键,创建user keyword,输入name和参数,参数为mysql的ip、port、user、password以及数据库名称

然后使用DatabaseLibrary的关键字Connect To Database实现连接mysql数据库,参数图上图所示。

  1. 创建关键字用于查询sql语句并返回查询结果

使用query关键字传入sql语句,然后返回result,如上图所示

2 .创建关键字用于更新数据库

使用Execute Sql String关键字传入sql语句,更新数据库

  1. 在Text Edit区域查看代码

*** Settings ***

Library DatabaseLibrary


*** Keywords ***

连接mysql数据库

[Arguments] ${ip} ${port} ${user} ${password} ${dbname}

Connect To Database pymysql ${dbname} ${user} ${password} ${ip} ${port}


查询sql

[Arguments] ${sql}

${queryResults} query ${sql}

[Return] ${queryResults}


更新sql

[Arguments] ${sql}

Execute Sql String ${sql}

创建并执行测试用例

1 在测试套件中引用该resource文件

2 创建查询sql用例

1、在测试套件Suite1中创建用例CASE2

  • 通过关键字‘连接mysql数据库’ 传入mysql的相关信息
  • 通过关键字‘查询sql’ 传入select语句,并将查询结果赋值给变量${queryResults}
  • 通过关键字‘Disconnect From Database’ 退出数据库连接

2、执行测试用例

选中用例,点击start按钮执行测试用例

点击report查看详细的测试报告

可以看到返回的表userinfo中的三条数据。

3 创建更新数据库用例

1、在测试套件Suite1中创建用例CASE3

  • 通过关键字‘连接mysql数据库’ 传入mysql的相关信息
  • 通过关键字‘更新sql’ 传入delete语句,删除一条数据
  • 通过关键字‘查询sql’ 传入select语句,并将查询结果赋值给变量${queryResults}
  • 通过关键字‘Disconnect From Database’ 退出数据库连接

2、执行测试用例

选中用例,点击start按钮执行测试用例

点击report查看详细的测试报告

可以看到返回的表userinfo中只有2条数据,其中一条已经被删除。

4 在Text Edit区域查看代码

*** Settings ***

Resource 资源文件/数据库操作.robot


*** Test Cases ***

CASE3

连接mysql数据库 127.0.0.1 3306 root 123456 mydb

更新sql delete from userinfo where username='张三'

${queryResults} 查询sql select * from userinfo

log ${queryResults}

Disconnect From Database


CASE2

连接mysql数据库 127.0.0.1 3306 root 123456 mydb

${queryResults} 查询sql select * from userinfo

log ${queryResults}

Disconnect From Database

总结

以上用例我们主要用到了DatabaseLibrary库的如下关键字:

关键字

介绍

Connect To Database

用于连接mysql数据库,第一个参数传入用于操作mysql的库,比如pymysql,MySQLdb,psycopg2等,其他需要传入数据库、用户名、密码、ip地址和端口

query

主要用于查询mysql,比如传入select语句,并返回查询的数据

Execute Sql String

主要用于更新mysql,比如传入delete、update、insert语句

Disconnect From Database

退出数据库连接

还有其他一些关键字介绍如下,大家自己线下多使用和练习

关键字

介绍

Connect To Database Using Custom Params

用于连接mysql数据库,第一个参数传入用于操作mysql的库,比如pymysql,MySQLdb,psycopg2等,另一个参数传入字符串,比如上面的例子也可以传入database='mydb', user='root', password='123456', host='127.0.0.1', port=3306

Delete All Rows From Table

删除传入表名的全部数据

Execute Sql Script

执行sql脚本,比如某个路径下的脚本${EXECDIR}${/}resources${/}DDL-setup.sql

Row Count

返回查询语句得到的总行数

Row Count Is 0

查询语句得到的行数等于0时返回True,反之为False

Row Count Is Equal To X

查询语句得到的行数等于传入的值时返回True,反之为False

Row Count Is Greater Than X

查询语句得到的行数大于传入的值时返回True,反之为False

Row Count Is Less Than X

查询语句得到的行数小于传入的值时返回True,反之为False

Check If Exists In Database

查询语句中数据存在,返回True,反之为False

Check If Not Exists In Database

查询语句中数据不存在,返回True,反之为False



共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能成就难能的功劳

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码