robot framework实现web和app自动化

前言

本文,仅适用于完全没接触过rf的小白,也是作为自己学习的一个记录

一、工欲善其事必先利其器!第一步,环境安装:

1.需要python环境,去官网下载python解释器,配置环境变量
2.安装robotframework :pip install robotframework
3.安装ride:pip install robotframework-ride (安装后dos输入ride.py启动,如果启动不了,可以python安装路径\scripts\ride.py 手动双击启动)
4.安装AppiumLibrary : pip install robotframework-appiumlibrary
5.安装RequestsLibrary :pip install robotframework-requests
6.安装selenium2library:pip install robotframework-selenium2library
7.安装wxPython:pip install wxPython
以上安装都可以选择使用豆瓣源(方法如下):
“-i http://pypi.douban.com/simple/”

二、你的第一行rf代码-Hello world

在这里插入图片描述
启动ride后,新建一个项目,点击左上角file,选择new project,弹出窗口
在这里插入图片描述
name处写上你的项目名称,我这里起名firstRF。
在这里插入图片描述
在新建的项目上,右键点击,选择new suite,填上name,这里正式的项目是要在多建一层文件夹的,这里为了方便,直接键文件了。
在这里插入图片描述
右键刚建好的测试套件,选择New Test Case ,创建一个测试用例
在这里插入图片描述
name这里我输入测试用例,点击确定,下面我们就可以编辑用例了!
在这里插入图片描述

在右侧edit页面,第一个空格处输入log关键字,第二个空格处输入hello world
在这里插入图片描述
切换tab,选择run,点击start,下面可以看到hello world已经打印出来了
在这里插入图片描述
以上,一个简单的hello world就完成了,怎么样,很简单把?下面说一下ride常用的两个功能:

三、RIDE的常用功能

第一个关键字搜索

可以直接按F5或者,点击工具栏上的“K”
在这里插入图片描述

第二个关键字补全

使用ctrl+shift+空格(不生效的话可能是与你的输入法有冲突,取消输入法的Ctrl+空格热键)

四、常用的关键字

定义变量:${a}
#赋值:Set Variable
eg: ${a} set variable 100
#打印日志:log
eg: log ${a}
#注释:comment或者像python使用#
eg:comment xxx   #这是注释
#创建列表: create list
eg: ${list} create list 开发  测试  产品
#睡眠:sleep
eg: sleep 3
#获取系统时间: get time
eg: ${time} get time
#拼接字符串:catenate  (拼接中间会有空格,需要去掉空格可在catenate后加SEPARATOR=)
eg: ${str} catenate hello world
eg: $s{str} catenate SEPARATOR=  hello world
返回:[return]   注:中括号不可以省略
eg: [return]  xxx
#创建一个字典:
${age}    Evaluate    int(18)
${dict}    Create Dictionary    name=liu    age=${age}
log    ${dict}
# 获取字典所有的key:需要导入collections包
${keys}    Get Dictionary Keys    ${dict}
log    ${keys}
# 同理,获取字典所有的values
${values}    Get Dictionary Values    ${dict}
log    ${values}
# 根据字典中的key获取values的值
${s}    Get From Dictionary    ${dict}    name
log    ${s}
# if条件判断(关键字必须大写,涉及到换行要用"...")
Run Keyword If    1==1    log    1
...    ELSE IF    log    2
...    ELSE    log    3

好了,掌握了上面这些关键字,想必你已经跃跃欲试了,那下面我们就进入正题,可以开始写rf程序了。

五、 web ui自动化

首先,你点击测试套件,选择右侧的edit栏目,然后点击library,在这里引入最开始第一章我们通过pip安装的包,web自动化的话,我们选择Selenium2Library
在这里插入图片描述
在这里插入图片描述
这里注意,区分大小写,点击ok确定导入,导入后字体是黑色的(如下图),就表示成功拉!!!红色就是有错误,这时候你需要检查下你的拼写。
成功
在测试套件下,我们在新建一个测试用例,就叫web自动化把。然后就可以进入编码环节了。
web自动化,首先第一步,就是打开浏览器了。这里我们选择谷歌浏览器打开百度页面。

一、web自动化-打开浏览器

#打开浏览器	Open Browser关键字
Open Browser    http://www.baidu.com    chrome 

在这里插入图片描述
这里注意,Open Browser变成了蓝色,就表示该关键字可用。勾选web自动化,点击2步的运行,就可以看到谷歌浏览器,打开了百度首页(此处需要配置谷歌浏览器的驱动,具体可以参考下之前的selenium文章:https://blog.csdn.net/u010799534/article/details/121422335)

二、搜索robotframework,点击搜索

这里需要一点,元素定位的知识。打开百度页面,F12查看开发者工具elements的栏目.点击1箭头,然后点一下2箭头,就能看到3所示的位置了
在这里插入图片描述
3所处于的位置,就是百度搜索栏目,我们想要通过自动化在里面输入“robotframework”,后点击搜索按钮,属性之中有id。这是我们首选的定位方式(在没有id的情况,我们大多会使用xpath,不了解的可以看下https://blog.csdn.net/u010799534/article/details/122081415)。
在这里插入图片描述
在使用同样的方式,找到百度一下的按钮。id是su。
我们开始编写我们的第二行rf代码:这里涉及到我们第二个关键字
Get WebElement表示获取元素的位置信息

${search}    Get WebElement    id=kw

这里我们用search变量接受,get webelement的返回值,然后,输入“robotframework”,这里第三个关键字Input Text表示输入文本

# 文本框输入robotframework
Input Text    ${search}    robotframework

下面是我们的第四个关键字 Click Element,顾名思义,点击元素的意思。

# 点击百度一下
Click Element    id=su

这里,就其实看到,我们程序的完整过程了。下面是完整代码:

web自动化
    Open Browser    http://www.baidu.com    chrome
    ${search}    Get WebElement    id=kw
    Input Text    ${search}    robotframework
    Click Element    id=su
    sleep    5
    Close Browser

在这里插入图片描述
以上就是web ui的简单入门···

六、app 自动化

前置条件:

1.lib包

与web自动化一样,开始之前需要导入一个lib包,app自动化,需要的是AppiumLibrary,在第一章我们已经安装过了。

2.appium的环境

此内容不是本章内容重点,该链接有大概介绍:https://blog.csdn.net/u010799534/article/details/121541972,或选择其他博客学习。

启动你的app

如果你有用python编写过基于appium的自动化的话,这块对你来说,应该是so easy的。
初始化需要的属性与python编写如出一辙,与web ui自动化一样,所有的操作,也都是要依靠关键字的!!!
第一个关键字:Open Application,鼠标放在关键字上按住ctrl键,就可以看到该关键字的入参,如下:
在这里插入图片描述
按照Examples输入需要的字段,例如:

Open Application    http://127.0.0.1:4723/wd/hub    platformName=Android    platformVersion=${Android_platformVersion}    udid=${udid}    appPackage=${Android_appPackage}    appActivity=${Android_appActivity}    noreset=false    newCommandTimeout=${timetou}

就可以了。别忘了启动你的appium服务,我这边是使用的appium server gui在这里插入图片描述
在这里插入图片描述
此处端口应与你open application后面的一致!点击运行,就可以打开你的app了。剩下的操作,与web自动化就很像了。也是依靠关键字,进行一些点击,等待的操作。

七、自动化中常用关键字

id=xxx表示元素定位,非固定写法,八大元素定位方式均可

1.页面中包含该元素

Wait Until Page Contains Element  id=xxxx

2.等待元素可见

Wait Until Element Is Visible	id=xxx

3.点击元素

Click Element	id=xxxx
Press Keys 要点击的元素	enter

4.输入文本内容

input text	id=xxx	123
Input Password	id=xxx	123

5.截图到指定位置

Capture Page Screenshot	D:/xxx.png

6.获取元素

Get WebElement	id=xxx

7.正则

${正则后的值} Should Match Regexp	${正则前的值}	正则表达式
eg:${url}	Should Match Regexp	${str}	[(](.*?)[)]

8.获取指定元素的大小

Get Element Size	id=xxx
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值