RobotFramework基础操作指南

版权申诉
0 下载量 99 浏览量 更新于2024-06-27 收藏 1.15MB PDF 举报
"这份资源是一份关于Robot Framework的使用总结,旨在帮助初学者快速理解和掌握Robot Framework的基础操作。文中详细介绍了环境搭建、基本流程以及RIDE(Robot Framework Integrated Development Environment)的各种面板的功能和使用方法。" Robot Framework是一种开源自动化测试框架,主要应用于软件测试,但也可用于其他领域。其特点是具有易于使用的表格语法和丰富的库支持,适用于各种类型的测试,如功能测试、验收测试和回归测试等。 一、环境的搭建 在开始使用Robot Framework之前,首先需要安装Python环境,因为Robot Framework是基于Python的。安装完毕后,通过pip安装Robot Framework及其RIDE工具。此外,根据项目需求,可能还需要安装相关的测试库,这些库通常位于Python的site-packages目录下。 二、最基本流程 1. 创建项目:在RIDE中,选择"New Project",然后选择directory类型,以便在项目目录下创建测试套件,方便管理和组织测试结构。 2. 创建测试套件:在项目中右键选择"New Suite",然后选择file类型,因为file类型的测试套件下可以直接创建测试用例。 3. 创建测试用例:在测试套件内右键选择"New Test Case",用于编写具体的测试步骤和预期结果。 三、RIDE各个面板说明 1. 测试套件工作区: - Edit区:分为4个部分,包括加载测试库、资源、变量文件以及设置区域。设置区域包含文档、元数据、Suite Setup(测试套件启动时执行)、Suite Teardown(测试套件结束时执行)等,用于定义测试套件的初始化和清理操作。 - Text Edit区:显示测试用例的文本信息,包括关键字和它们的参数。 - Run区:选择运行方式,如pybot、jybot等,以及运行选项,如选择运行的测试用例、设置超时时间等。 2. 测试用例工作区: - Edit区:同样包括文档、设置等,如Setup(测试用例启动时执行)、Teardown(测试用例结束后执行),以及添加关键字和参数的地方。 四、其他高级功能 除了基础操作外,Robot Framework还支持使用变量、标签(Tags)进行更灵活的管理和过滤测试用例,可以创建自定义关键字,以及生成详细的测试报告和日志。在实际使用中,根据项目的复杂性和需求,可以通过导入资源文件来复用代码,通过设置变量文件来管理全局变量,利用Force Tags和Default Tags对测试进行分类和控制。 这份资源提供了Robot Framework的基本入门指南,通过学习和实践,用户能够快速上手并开始编写自动化测试用例。随着对框架的深入理解,可以逐步探索更多高级特性,提高测试效率和质量。
2023-02-27 上传
RobotFramework基础教程 基础教程 安装 安装 Pycharm 安装插件 Pycharm File->Settings->Plugins 搜索并安装插件 IntelliBot Run Robot Framework Testcase RunRobot Framework 基本格式 基本格式 Settings Library Resource Force Tags Defalut Tags(未定义任何标签时) Test Setup Test TearDown Test Template Test Timeout Variables Keywords Test Cases [Tags] [Template] [Documention] [Timeout] [Return] [Arguments] [Setup] [TearDown] Suite(⽂件夹) __init__⽂件 library为第三⽅库或⾃定义库,resource为⾃定义关键字集合,variables为⾃定义变量集合 简单⽰例 简单⽰例 Selenium Demo pip install robotframework robotframework-selenium2library *** Setttings *** ** Test Setup ** ... ** Test Teardown ** ... *** Keywords *** loginwebsite [Arguments] ${username} ${password} Open Browser http://... chrome [Return] ${lessons} *** Settings *** Library SeleniumLibrary *** Test Cases *** test rf log hello robot framework Baidu search case Open Browser http://www.baidu.com chrome Input text id=kw robot framework Click button id=su Close Browser baidu_search.robot Headless Demo MySQL操作 操作Demo *** Settings *** Documentation Simple examle using SeleniumLibrary Library SeleniumLibrary *** Variables *** ${URL} http://www.baidu.com ${BROWSER} Chrome *** Keywords *** Baidu Search [Arguments] ${search_key} Input text id:kw ${search_key} click button id:su Evaluate time.sleep(2) time ${title} Get title [Return] ${title} *** Test Case *** case1 Open Browser ${URL} ${BROWSER} ${title} Baidu Search robot framework Should contain ${title} robot framework_百度搜索 close Browser case2 Open Browser ${URL} ${BROWSER} ${title} Baidu Search selenium Should contain ${title} selenium_百度搜索 close Browser *** Settings *** Documentation This example demonstrates how to use current library Library SeleniumLibrary *** Test cases *** Open Browser with Chrome options in headless mode ${options} Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver Call Method ${options} add_argument --start-maximized Call Method ${options} add_argument --headless Call Method ${options} add_argument --disable-gp
2023-02-27 上传
RobotFramework使⽤循环 使⽤循环 1.普通的For循环 在⼀个普通的For循环中,循环开始的关键字是 :FOR ,其中的:⽤于与⼀般关键字做区分,对于循环结 构体内的每⼀⾏,使⽤ \ 作为改⾏的⾏⾸关键字。对于循环中的变量,可以在 IN 关键字后给出所有变量, 也可以从⼀个列表中进⾏赋值,每次循环从列表中取出⼀个值。例如: 1)给出所有变量 2)从列表中进⾏赋值 执⾏测试⽤例,输出结果为: 2.嵌套循环 Robot Framework本⾝并不⽀持直接使⽤嵌套循环,但是可以通过在⼀个循环结构中使⽤另⼀个包含有循 环结构的关键字来实现。例如 *** Keywords *** Handle Row [Arguments] @{row} : FOR ${cell} IN @{row} \ log ${cell} Handle Table [Arguments] @{table} : FOR @{row} IN @{table} \ Handle Row @{row} 在使⽤时,调⽤Handle Table,Handle Table再调⽤内层循环Handle Row,从⽽实现嵌套循环的⽬的。 3.For-in-range循环 除了针对序列的循环之外,有些时候还需要能够进⾏特定迭代次数的循环。Robot Framework中通过FOR index IN RANGE limit来实现,其语法与Python中的使⽤⽅式相似。 1)只使⽤数据上限 只使⽤数据上限时,数据从0开始,每次+1,数据从0直到指定数据,但不包含该数据。例如: 输出结果为0、1、2、3、4、5、6、7、8、9,数据从0开始⾄9结束,输出结果不包含10. 2)使⽤开始和结束数据 使⽤开始和技术数据时,数据从"开始数据"开始,每次+1,⾄"结束数据"结束,但不包含结束数据。 例如: 输出结果为2、3、4、5、6、7、8、9、10,数据从2开始⾄10结束,输出结果不包含11. 3)使⽤开始、结束、步长 使⽤ 开始、结束、步长 时,数据从"开始数据"开始,每次+"步长数据",⾄"结束数据"结束,但不 包含结束数据。例如: 输出结果为2、5、8,数据从2开始⾄11结束,每次累加3,输出结果不包含11. 4.For-in-enumerate循环 有些时候需要知道当前循环中的循环位置的index编号,此时可以使⽤FOR index ... IN ENUMERATE ...关 键字。在取index编号时,固定使⽤ ${index} 作为变量名,例如 运⾏结果为 5.多变量循环 与Python中的for循环类似的是,当列表中的变量数量可以被⼀定数量整除时,可以直接使⽤等于该数量的 变量做循环。例如 6.For-in-zip 循环 对于有些测试来说,可能会⽤到多个列表的数据,在循环中需要对这些数据进⾏组合使⽤。Robot Framework提供了⼀个叫做For-in-zip的关键字,该关键字来⾃于python内置的zip函数,可⽤于对列表进 ⾏组合。例如 这⾥注意,我们在定义⼀个列表变量时,可以使⽤${列表名},也可以使⽤@{列表名},⽽在for-in-zip循环 中使⽤该关键字时,只能使⽤${列表名}。执⾏测试⽤例,结果如下: 7.跳出循环 ⼀般来说⼀个循环结构的⽤例需要遍历完所有数据后再退出。某些情况下,需要提前终⽌并跳出循环时, 可以使⽤Exit For Loop 或者 Exit For Loop If。例如 执⾏测试⽤例,输出结果为:   8.在循环中使⽤continue 有些时候,需要在循环中使⽤continue来跳过循环结构体中的某些过程。在Robot Framework中,可以使 ⽤Continue For Loop 或者 Continue For Loop If。具体⽤法与跳出循环时的Exit⽤法⼀致,这⾥不再做 演⽰。 9.重复执⾏单⼀关键字 某些情况下,循环结构可能只需要对⼀个关键字做执⾏次数的循环。Robot Framework提供了⼀个关键字 Repeat Keyword,只需指明循环次数和循环中的关键字即可。⽽在描述循环次数时,有时为了让测试⽤例 易于理解,可以在次数后⾯添加⼀个times 或 x 例如