python脚本调用robotframework案例_Robot Framework自动化测试(一)---第一个脚本

本文介绍了如何使用Python环境和Robot Framework进行自动化测试,包括所需环境的安装,如Python、Robot Framework、wxPython和RIDE。通过RIDE创建测试项目、测试套件和测试用例,并导入Selenium2Library进行Web自动化。详细步骤从安装库到编写并运行第一个Web自动化测试用例,最后解释了运行测试后的输出文件和如何解析结果。
摘要由CSDN通过智能技术生成

最近工具中用Robot Framework框架来做自动化,所以,花时间学习了一下。

=======所需环境===================

Python:

RF框架是基于python的,所以一定要有python环境。

Robot framework :

这个不是解释了,RF框架。虽然在做基于UI的自动化时,它展现出来的很像QTP,我之前也以为它和QTP差不多,仔细了解你会发展它能做的事情还是很多的。就像初学selenium者,会误以为selenium就是selenium IDE。

wxPython :

Wxpython 是python非常有名的一个GUI库,因为RIDE是基于这个库开发的,所以这个必须安装。

Robot framework-ride

RIDE就是一个图形界面的用于创建、组织、运行测试的软件。

Robot framework-selenium2library:

RF-seleniumlibrary 可以看做RF版的selenium库,selenium(webdriver)可以认为是一套基于web的规范(API),所以,RF、appium等测试工具都可以基于这套API进行页面的定位与操作。

----------------------

可以通过python的pip工具包进行安装:

>pip install robotframework-selenium2library

如果初次接触上面的东西的话,觉得装的东西有点多。 如果之前有了解过python或selenium的话就不会有这样的感觉。

================================================

在你安装好RF-ride之后,桌面就会生成一个RIDE图标。双击启动,界面如下:

96575e460a79470ef81a0fbb6e9dee65.png

下面我们就一步一步的创建第一条用例,至于细节不多解释,只是对RF框架写用例有个感性的认识。

创建测试项目

选择菜单栏file----->new Project

fe82a0c54f07edd5fd50ef0251dddacc.png

Name输入项目名称。

Type 选择Directory。

创建测试套件

右键点击“测试项目”选择new Suite 选项

9e0412e24e60ff4f05c31adfcf04edc5.png

Name 输入项目名称。

Type 选择File。

创建测试用例

右键点击“测试项目”选择new Test Case

ae6006933ce76b86aa77bc9ab2ecc1fa.png

用例只需要输入用例name,点击OK即可。

导入selenium2library库

因为RF框架编写基于web的测试用例,所以,我们需要selenium的库支持。所以,我们在使用的过程中需要加载selenium2library库。

264ad9a5b601c75507ab6f6bef18e35a.png

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

如果导入的库显示为红色,表示导入的库不存在。如果是黑色则表示导入成功。

编写用例

下面就可以开始写我们的用例了,可是怎么写呢?我们可以通过按F5快捷键来查询脚本的关键字。如果你接触过QTP或selenium IDE等自动化工具的话,应该会有一些思路。

a20febb693a627b529f75a68cc1818e3.png

如上图,自动化脚本从打开浏览器开发,如上图,我想打开一个浏览器,想的是“open”为关键字进行搜索,结果找到了一个“Open Browser”的关键字,点击这个关键字,想显示它的用法和说明。

根据说明,我们来尝试创建这个打开浏览器的操作吧:

34dffb4fbb02d22f5b675714346843c7.png

“Open Browser”变蓝了,说明它是一个合法的关键字,后面有一个方框是红色的,表示这个参数不能缺省的。通过说明信息中,我发现它需要一个url 地址是必填的,当然还需要指定browser(默认不填为friefox)

更多关键的使用,请参考相关API文档。这里不过多介绍。按照上面的方法。创建百度搜索用例如下:

d3cc4378ff396ea3bdc4b4508c4190b6.png

运行测试用例

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

c0c0db3b61ab3778b40b84ea7de949b5.png

运行信息:

2f8f37f43fb1a57dc55b83665f2a4526.png

运行信息显示会生成三个文件:Output.xml、Log.html、Report.html

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

赶快打开你的测试报告看看效果吧!

e7a98d2a731471bc71d728545632ca69.png

================================================================================

错误:

command: pybot.bat --argumentfile c:\users\keikei\appdata\local\temp\RIDEama2ym.d\argfile.txt --listener D:\Python27\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:52418 E:robot\测试项目

解决:

将“C:\Python27\Scripts ”添加到PATH环境变量中。命令提示符号查看,RF版本。提示pybot不是内部命令,说明环境变量设置有问题。

2e9cc5f4e141e5999f6e2a58d810082d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
robotframework调⽤python类⽅法_(五)RobotFramework基 础。。。 上⼀⼩节,你已经感受到了 Robot Framework 的基本说法,这⼀⼩节你将会看到 Robot Framework 更多强⼤的⽤法。 if 语句 通过 "run keyword if" 关键字可以编写 if 分⽀语句。 *** Test Cases *** test case8 ${a} Set variable 59 run keyword if ${a}>=90 log 优秀 ... ELSE IF ${a}>=70 log 良好 ... ELSE IF ${a}>=60 log 及格 ... ELSE log 不及格 ⾸先定义变量 a 等于 59 。 If 判断 a ⼤于等于 90 ,满⾜条件 log 输出 "优秀 "; 不满⾜上⾯的条件,接着 else if 判断 a ⼤于等于 70 ,满⾜条件 log 输出 "良好"; 不满⾜上⾯的条件,接着 else if 判断 a ⼤于等于 60 ,满⾜条件 log 输出 "及格"; 上⾯的条件都不满⾜,else log 输出"不及格"。 注意 sele if 和 else 前⾯的三个点点点(...) for 循环 在 Robot Framework 中编写循环通过 ":FOR" 。 1、循环 0~9 。 *** Test Cases *** test case9 :FOR ${i} IN RANGE 10 \ log ${i} 通过":FOR"定义 for 循环;IN RANGE ⽤于指定循环的范围。 2、遍历列表。 *** Test Cases *** test case10 @{abc} create list a b c : FOR ${i} IN @{abc} \ log ${i} "create list" 关键字⽤来定义列表(a,b,c),"@{}"⽤来存放列表。通过过 ":FOR" 循环来来遍历@{abc}列表中的字符。 强⼤的 Evaluate 为什么说"Evauate"关键字强⼤呢。因为通过它可以使⽤ Python 语⾔中所提供的⽅法。 1、 ⽣成随即数 在 Python 中我们可以这样来引和并使⽤⽅法: C:\Users\fnngj> python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import random >>> random.randint(1000, 9999) 9777 random 模块的 randint()⽅法⽤于获取随机数。 在 Robot Framework 中使⽤ "Evauate" 也可以调⽤ Python 所提供的 random 模块下的 randint()⽅法。 *** Test Cases *** test case11 ${d} Evaluate random.randint(1000, 9999) random log ${d} 2、 调⽤⾃⼰编写的 Python 程序 ⾸先创建 D:/rf_test/count.py ⽂件。 def add(a,b): return a + b if __name__ == "__main__": a = add(4,5) print(a) 通过add函数实现两个数相加,这是再简单不过的⼩程序了。 下⾯就通过 Robot Framework 调⽤ count.py ⽂件中的 add()函数。 *** Test Cases *** test case12 Import Library D:/rf_test/count.py ${a} Evaluate int(4) ${b} Evaluate int(5) ${add} add ${a} ${b} log ${add} 在 Robot Framework 中所有的内容都是字符串类型,所以,需要通过 "Evaluate" 将 4 和 5 转化为 int 类型后,再调⽤ add 计算两个 数的和。 注释 Robot Framework 中添加注释也⾮常简单。"Comment" 关键字⽤于设置脚本中的注释。除此之外,你也可以像 Python ⼀样使 ⽤"#"号进⾏注释。 *** Test Cases *** test case13 Comment 这是注释 #这也是注释 如果你熟悉 Python 编程语⾔,那么 Robot Framework ⼏乎没有实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值