前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化测试框架Robot Framework - 自动化测试示例

自动化测试框架Robot Framework - 自动化测试示例

作者头像
wangmcn
发布2022-07-26 13:53:13
1.4K0
发布2022-07-26 13:53:13
举报
文章被收录于专栏:AllTests软件测试

自动化测试框架Robot Framework

自动化测试示例

目录

  • 1、第三方库
  • 2、示例:Web
  • 3、示例:App
  • 4、示例:接口

1、第三方库

1、安装SeleniumLibrary

SeleniumLibrary是Robot Framework的Web测试库,内部使用Selenium工具。

命令行输入安装命令:

pip install --upgrade robotframework-seleniumlibrary

或者,先下载后安装:

https://pypi.org/project/robotframework-seleniumlibrary/#files

robotframework-seleniumlibrary版本5.1.3

2、浏览器驱动

(1)chromedriver(Chrome)

https://chromedriver.storage.googleapis.com/index.html

(2)geckodriver(Firefox)

https://github.com/mozilla/geckodriver/releases

(3)Microsoft Edge Driver(Edge)

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

注意:Driver版本需要适配测试使用的浏览器版本。

下载后将驱动文件放在指定目录里:

Windows:

Python的安装根目录下,如D:\Python37目录下(chromedriver驱动)。

MacOS:

将驱动放到/usr/local/bin目录下(chromedriver驱动)即可。

3、安装AppiumLibrary

AppiumLibrary是Robot Framework用于Android和iOS测试的库,内部使用 Appium工具。

命令行输入安装命令:

pip3 install --upgrade robotframework-appiumlibrary

或者,先下载后安装:

https://pypi.org/project/robotframework-appiumlibrary/#files

robotframework-appiumlibrary版本1.6.1

4、安装RequestsLibrary

RequestsLibrary是Robot Framework的接口测试库,内部使用Requests工具。

命令行输入安装命令:

pip3 install robotframework-requests

或者,先下载后安装:

https://pypi.org/project/robotframework-requests/#files

robotframework-requests版本0.9.1

5、其他第三方库

如果需要额外的第三方库的支持,请参考SeleniumLibrary的方式下载并安装相应库。

其他的第三方库下载地址:

http://robotframework.org/#libraries

2、示例:Web

1、创建项目

菜单栏File-》New Project

Name输入项目名称,Type选择Directory,Format选择ROBOT,点击OK。

2、创建套件

在新增的项目上右键,选择New Suite

Name输入套件名称,Type选择File,Format选择ROBOT,点击OK。

3、创建测试用例

在新增的套件上右键,选择New Test Case

Name输入测试用例名称,点击OK。

4、导入第三方库

导入SeleniumLibrary库(基于Web自动化使用):

在套件的Edit标签页,点击“Library”按钮,弹出输入框,Name输入:SeleniumLibrary,点击OK。

导入成功

5、编写测试用例

官方的SeleniumLibrary库API使用方法:

https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html#library-documentation-top

例如:打开浏览器的方法Open Browser

按照方法的使用,进行测试用例的编写。

更多方法的使用,请参考相关API方法。按照上面的方法,创建百度搜索测试用例,如下:

6、运行测试用例

勾选当前需要运行的测试用例,点击工具栏的运行按钮。如果只运行单个用例的话,也可以切换到用例的Run标签页,点击“Start”按钮。

运行结果:

运行信息显示会生成三个文件:output.xml、log.html、report.html。

我们重点查看report.html和log.html。report.html更关注脚本的执行结果的展示,log.html更关注脚本的执行过程的记录。

可点击“Report”、“Log”按钮进行查看。

点击“Report”按钮,浏览器自动打开html测试报告。

点击“Log”按钮,浏览器自动打开html测试日志。

3、示例:App

App自动化测试用例编写与Web自动化测试用例编写步骤一致(创建项目、创建套件、导入第三方库、创建并编写测试用例等)。

官方的AppiumLibrary库API使用方法:

http://serhatbolsu.github.io/robotframework-appiumlibrary/AppiumLibrary.html

示例App下载地址(以Android为例:ApiDemos-debug.apk):

https://github.com/serhatbolsu/robotframework-appium-sample/tree/master/demoapp

在新增的套件,Text Edit标签页下也可以写测试用例。

测试用例内容:

代码语言:javascript
复制
*** Settings ***
Documentation Simple example using AppiumLibrary
Library AppiumLibrary

*** Variables ***
${ANDROID_AUTOMATION_NAME} UIAutomator2
${ANDROID_PLATFORM_NAME} Android
${ANDROID_PLATFORM_VERSION} %{ANDROID_PLATFORM_VERSION=11}

*** Test Cases ***
Should send keys to search box and then check the value
    Open Test Application
    Input Search Query Hello World!
    Submit Search
    Search Query Should Be Matching Hello World!

*** Keywords ***
Open Test Application
    Open Application http://127.0.0.1:4723/wd/hub automationName=${ANDROID_AUTOMATION_NAME} platformName=${ANDROID_PLATFORM_NAME} platformVersion=${ANDROID_PLATFORM_VERSION} appPackage=io.appium.android.apis appActivity=.app.SearchInvoke

Input Search Query
    [Arguments] ${query}
    Input Text txt_query_prefill ${query}

Submit Search
    Click Element btn_start_search

Search Query Should Be Matching
    [Arguments] ${text}
    Wait Until Page Contains Element android:id/search_src_text
    Element Text Should Be android:id/search_src_text ${text}

创建了3个变量,4个关键词,1个测试用例

执行前,确保手机端(示例App已安装到手机上)已连接电脑,Appium服务已开启。

选中测试用例,执行

执行成功。

还有一种执行方式:robot命令执行(robot test_file.robot)

命令行切换到项目目录下,输入执行命令即可。

robot SuiteDemo.robot

测试报告。

测试日志。

4、示例:接口

接口自动化测试用例编写与Web自动化测试用例编写步骤一致(创建项目、创建套件、导入第三方库、创建并编写测试用例等)。

官方的RequestsLibrary库API使用方法:

http://marketsquare.github.io/robotframework-requests/doc/RequestsLibrary.html

在新增的套件,Text Edit标签页下写测试用例。

测试用例内容:

代码语言:javascript
复制
*** Settings ***
Library RequestsLibrary

*** Test Cases ***
GetDemo
    ${response}= GET https://www.baidu.com/

GetDemo With Parameters
    ${response}= GET https://jsonplaceholder.typicode.com/comments params=postId=1 expected_status=200

GetDemo Get A JSON Body
    ${response}= GET https://jsonplaceholder.typicode.com/posts/1
    Should Be Equal As Strings 1 ${response.json()}[id]

创建了3条测试用例。

选中测试用例,执行

执行成功。

测试报告。

测试日志。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档