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

对于RobotFramework自动化测试框架,我这里会从三个单元进行阐述,希望能对你有帮助。

RobotFramework简介


RobotFramework是什么?

Robotframework 是由python编写的,一个开源的基于关键词驱动的自动化测试框架,它可以做基于UI或者接口的验收测试,有着非常简单易用的语法。它的一大特点就是可以使用java&python去扩展自定义一些测试库以及基于一些已有的关键词自定义一些高级关键词,这就意味着如果官方以及第三方提供的一些测试库没法满足项目的测试需求,你完全可以自己写一个测试库,并基于自定义的关键词去调用相应的测试库进行测试,扩展性非常强。还有一点非常方便的是,当你执行测试完成后,会自动生成一份测试报告(html格式),比较详细的展示了你的测试用例的执行情况,也可以通过查看执行测试的log来定位一些问题。

RobotFramework的优势:

  • 编程语言支持:python java
  • 支持所有的主流系统
  • 主要的IDE:RIDE、Pycharm、Eclipse
  • 开源
  • 支持多国语言:用户关键字以及用例层面支持utf-8
  • 图形化界面友好
  • 执行用例后,自动生成log和report报告
  • 关键字驱动,内置多个关键字库。可减少造轮子,易上手
  • 支持jenkins持续化集成

基本概念介绍:

robot中测试维度划分为测试套件(Test Suite)和测试用例(Test Case),一个Suite为一组Case的集合,每个Case对应为我们手工执行测试时的Case。

由于robot中复杂逻辑的实现比较繁琐,所以将一些复杂逻辑直接用python代码实现,然后以外部库的形式导入robot中调用,也就是扩展测试库

关键字模块主要是对一些复用逻辑的封装。

Robot Framework定义了一套自己的测试用例编写规则,所以,必须熟悉该规则,才能编写合法的测试用例。这里要记住几张表就行了,设置表(Settings)变量表(Variables)测试用例表(Test Cases)关键字表(Keywords),大部分的测试用例都是由这几张表组成的。下面是一个测试用例的例子:

 1 *** Settings ***
 2 Library    Selenium2Library
 3
 4 *** Keywords ***
 5 f1
 6     [Arguments]    ${a}    ${b}
 7     Log    ${a}+${b}
 8
 9
10 *** Variables ***
11 ${str1}    30
12
13 *** Testcases ***
14 Test1
15     f1    3    4
16     ${time}    Get Time
17     Log    ${time}

原文地址:https://www.cnblogs.com/sunshine-blog/p/10076724.html

时间: 2024-10-08 09:35:43

RobotFramework自动化测试框架(1)- RobotFramework简介的相关文章

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

笔者接着 RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作) 继续分享robotframework 对数据库中的MongoDB的详细操作.这是笔者第二篇关于robotframework 对数据库的操作的分享介绍. MongoDB是非常常用的一个非关系型数据库,在RobotFramework中,也提供了对MongoDB数据库测试操作的支持.我们可以通过在浏览器中访问github的网站地址 https://github.com/iPlantColla

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.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自动化测试框架-移动手机自动化测试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        如何快速查询某一个关键字的API说明 鼠标选中我们关键字,同时按住Ctrl+Alt键,即可出来该关键字的帮助API以及使用示例 1.1.2        如何快速补全关键字 键盘输入关键字的前缀,然后同时按住Ctrl+Alt+空格键,即可快速补全某个关键字 1.2.3        如何定义一个列表 此处我们说的列表,其实就等同于python语言中的列表,是python语言中最常用的一种数据结构,也类似于Java 语言中的List. 在RobotFramework中,我

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

1.1.1        如何定义一个字典 此处我们说的字典,其实就等同于python语言中的字典,和列表一样,字典也是python语言中非常常用的一种数据结构,也类似于Java 语言中的Map. 在RobotFramework中,使用Create Dictionary来床架一个字典,比如我们定义一个字典:Dict1,并且我们再创建字典时,向字典中添加两个键值对,并且使用log many 关键字将这个字典中的内容全部输出出来. Log many 关键字类似于log 关键字,不同的是,log关键字

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

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

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是否存在可用而且