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

Python自动化 作为代码小白,我是这样成为自动化大神的

toyiye 2024-06-23 18:37 15 浏览 0 评论

前言

robotframework(简称robot)

robot是一款自动化测试的工具,能够实现接口自动化测试、UI自动化测试。

它的主要特色就是:

1、由 关键字 驱动来完成测试用例

2、测试用例格式可以为txt/html等,非代码的形式,支持中文哦

3、由python实现,开源。


这里有2个重要的概念需要大家先掌握一下:

关键字、库

简单来说:

关键字是,已经实现的功能,可以直接拿来使用。

库是:按功能领域,将关键字分门别类存放。

我们以商场的例子来做说明。请看以下2个图:




在图中,商城提供了5大功能领域(robot中的库)。在每个功能领域当中,都有许多具体的功能(robot中的关键字)。


我们在逛商场(ps:带着你的钱)时,是根据自己的需求去不同的功能库当中,使用不同的功能。

那么,图中的每一个具体的功能(比如H&M),就是已经实现好了的,直接可以使用的功能,即Robot中的关键字

假设我现在进入此商城,我要做的事如下:

第一步:去护肤品区域(库 ) 买 MAC口红(使用某一功能)

第二步:去餐饮区域(库) 吃 么子烤肉(使用某一功能)

第三步:去休闲区域(库) 电影院 看哪吒之魔童降世(使用某一功能)

我要做的事,可以认为是robot中一个测试用例,此用例分为三个步骤,每一个步骤都是使用某一现有的功能。


总结下来:

商场 == RobotFramework

餐饮/休闲/服务/护肤品/饰品 == 库

费大厨/电影院/adidas/MAC == 关键字

所以,robotframework当中,有非常丰富的库,并且每一个库当中都有对应的关键字集。

robot测试用例 = 按业务需求组合 关键字

想对关键字和库有更多专业的了解,请擢博客:https://www.cnblogs.com/Simple-Small/p/9641643.html


Robot环境搭建

1、python环境+robotframework第三方库:

由于robotframework是python实现的,是一个python第三方库,所以需要安装python版本。

robotframework完美支持python2和python3。建议安装python3.7+,编码处理非常友好。

2、安装编写用例的工具

编写robot用例的工具比较多,有ride、notepad++、sublime、eclipse等。。

无论用哪种工具,对于robot脚本而言,语法都是一样的,可以在任意其它工具中打开。

使用ride的朋友们请注意:ride工具现在也支持python2和python3,但兼容性有待考察。

个人更倾向于使用eclipse,关键字展示、高亮、自动提示等体验非常友好。

具体安装和工具使用请擢博客:https://www.cnblogs.com/Simple-Small/p/9229397.html

Robot- 轻松实现自动化用例

以web自动化为示例,演示robotframework的用法。使用的用例编写工具:eclipse+RED插件。

要实现的自动化web用例如下:

前置打开google浏览器,访问:http://www.lemfix.com/步骤1、点击右上角的登陆链接元素定位://a[text()="登录"]2、输入用户名: XXXXX元素定位:id=user_login3、输入密码:123456789元素定位:id=user_password4、点击登陆按钮元素定位://input[@name="commit"]断言登陆失败,提示帐号或密码错误。元素定位:id=navbar-user-menu


问题:robotframework如何实现web自动化?

答案:关键字!!

在robotframework当中,想做任何事情,首先想到的就是关键字。

找到web网页操作的关键字,然后去使用它。

第一步:安装SeleniumLibrary,具备web自动化操作的能力。

在robotframework当中,由SeleniumLibrary(非robot自带,需要安装)库提供对网页的操作关键字(功能)。

1) 安装SeleniumLibrary:pip install --upgrade robotframework-seleniumlibrary


第二步:创建Robot工程,引入SeleniumLibrary库。

1、创建robot工程:

在eclipse当中,File -> New -> Robot Project(没显示则要去Other选项中找)



2)创建robot测试用例:




3) 在robot工程中中导入SeleniumLibrary(导入了才有可以使用关键字)。

注意:库名不能错,大小写敏感。

1)引入方式:在robot脚本中,settings区域当中,引入外部资源。脚本如下:

*** Settings ***

Library    SeleniumLibrary 

2)引入时,库名下会有红色波浪线,如下图所示,选中它,按Ctrl+1



3)按Ctrl +1 后,会有如下图所示的提示,双击:



4)以上操作后,会自动打开robot工程的red.xml文件 ,保存文件即可。



5)保存成功之后,可在robot工程当中,看到第三方库存在。具体效果如下图所示:



第三步:利用SeleniumLibrary当中的关键字,完成web用例



总结

从上面的简单示例当中,可以看到,使用现成的关键字,未用一行代码,就实现了自动化的用例实现。

robotframework当中,只要掌握了关键字的用法,就是这样轻松的做自动化测试!

当然,如果我们掌握了更多的测试思想和框架设计思想,可以更好的利用此工具完成自动化测试工作。


疑惑:那我还需要学代码吗?

既然robotframework这样的工具就可以实现自动化测试,那是不是没有必要学习代码 ?

答案是否定的。

1、工具不是万能的,始终都有局限性。很多时候,它现有的功能,并不能够完全适配我们的测试项目。

? 工具解决不了的问题,我们需要对它做扩展或另行处理。还好,robot本身支持python/java语言对它做扩展。

2、如果只会用工具,工具的局限性就是你的局限性。掌握代码,你可以做更多的事情。

? 工作当中,除了写用例之外,我们还要完成领导的各个小需求。比如自动收集数据?比如定制化的报告?

? 同时,也需要各种小手段来提高测试效率。

3、未来,要开发能够适应公司测试项目的 通用型的测试平台呢??

所以,工具要会,代码更要会。

相关推荐

为何越来越多的编程语言使用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)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码