robotframework框架(一)之安装
一、简介
Robot Framework是一款基于Python的开源自动化测试框架,具有良好的可扩展性和关键字驱动的特点。它主要用于验收测试(Acceptance Testing)和验收测试驱动开发(ATDD),同时也支持行为驱动开发(BDD)和机器人流程自动化(RPA),主要有以下特点:
- 关键字驱动:Robot Framework采用关键字驱动的方法来编写测试用例,这使得测试用例易于理解和维护。
- 易于使用的表格语法:测试数据通常以表格的形式输入,这种表格式的语法简单易用,并且可以方便地编辑和管理测试用例。
- 高度可扩展性:可以通过XML-RPC服务或其他编程语言(如Java)扩展框架的功能,从而满足不同的测试需求。
- 多客户端和接口支持:能够同时测试多种类型的客户端(Web、PC、移动端)或接口,适用于分布式、异构环境中的自动化测试。
- 丰富的库支持:提供了标准库和远程库,用户可以根据需要创建新的测试库,例如Selenium库用于Web应用测试,Remote Swing库用于Java应用测试等。
- 生成详细的报告和日志:提供易于阅读的结果报告和HTML格式的日志,帮助用户快速定位问题并进行分析。
二、安装Robot Framework
Robot Framework 需要 Python 3.8 或更高版本。支持 Python 3.6 和 3.7 的最新版本是 Robot Framework 6.1.1。如果需要使用 Python 2、Jython 或 IronPython,可以使用 Robot Framework 4.1.3。
这里默认已经安装完毕python,然后在安装robotframework
时,需要先更新pip工具
python.exe -m pip install --upgrade pip
国内指定源进行安装,速度会更快
pip install robotframework -i https://pypi.tuna.tsinghua.edu.cn/simple
也可以指定安装的版本pip install robotframework==版本号
pip install robotframework==6.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完毕后,查看是否安装成功,查看安装版本号即可
robot --version
Robot Framework 7.0.1 (Python 3.8.3 on win32)
三、安装robotframework-ride
(一)安装第三方库
在使用Robot Framework框架中,robotframework-ride是一个第三方库,它是一个专门为Robot Framework测试用例编写的图形化界面工具(IDE)。这个工具可以方便地创建和管理测试用例,并且支持多种语言的文件定义。RIDE是基于Python实现的,并且是开源的。
要安装RIDE,可以通过pip命令进行安装,默认安装最新版本,例如:
# 默认按此命令安装下载
pip install robotframework-ride
# 国内指定源进行安装,速度会更快
pip install robotframework-ride -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后,可以在当前Python环境的Scripts目录下运行以下命令来启动RIDE:
python ride.py
通过这些步骤,用户可以进入RIDE的操作界面,从而更高效地编写和管理Robot Framework测试用例
(二)创建ride快捷方式
如果在安装robotframework-ride后,桌面上没有ride的快捷方式,可以按照以下步骤处理:
-
手动创建桌面快捷方式:
- 进入到Python的安装目录下的/Scripts目录下,找到ride.py 文件。
- 右键点击ride.py 文件,选择“发送到”->“桌面快捷方式”。
-
使用工具创建桌面快捷方式:
- 如果已经安装了RIDE并且希望直接从软件界面创建快捷方式,可以在RIDE中点击菜单栏的Tools,然后选择Create RIDE Desktop Shortcut来创建桌面快捷方式。
-
修改文件打开方式:
- 如果双击ride.py 时无法运行,可能是因为默认的打开方式不正确。可以右键点击ride.py 文件,选择“属性”,在“打开方式”中选择Python解释器(例如pythonw.exe ),并确保其路径正确。
-
使用命令行创建桌面快捷方式:
- 在桌面右击鼠标,选择“新建”->“快捷方式”,然后在弹出的对话框中输入相应的命令行,例如:
D:\Python37\pythonw.exe -c "from robotide import main; main()"
,根据自己的Python安装位置进行修改
- 在桌面右击鼠标,选择“新建”->“快捷方式”,然后在弹出的对话框中输入相应的命令行,例如:
(三)查找python安装目录
1、Windows系统
- 使用命令行工具:
- 按下
Win + R
键,打开运行对话框。 - 输入
cmd
并按回车键,进入命令提示符。 - 在命令提示符中输入
where python
并按回车键,这将显示Python可执行文件的路径。
- 按下
- 使用Python代码:
- 打开命令提示符或IDLE。
- 输入以下Python代码并按回车键:
import sys
print(sys.executable )
这将输出当前使用的Python解释器的完整路径。
2、Linux系统
- 使用命令行工具:
- 打开终端。
- 输入
whereis python
并按回车键,这将列出所有已安装的Python版本的路径。 - 输入
which python
并按回车键,这将显示当前使用的Python解释器的路径。
- 使用Python代码:
- 打开终端。
- 输入以下Python代码并按回车键:
import sys
print(sys.executable )
这将输出当前使用的Python解释器的完整路径。
四、安装SeleniumLibrary
在使用Robot Framework框架中,SeleniumLibrary是一个第三方库,用于进行Web测试。这个库内部利用了Selenium工具来实现自动化测试功能。SeleniumLibrary项目托管在GitHub上,并且可以从PyPI(Python Package Index)下载。SeleniumLibrary支持当前版本的Selenium 4,并兼容Python 3.8至3.11,同时也可以在PyPy解释器上运行。此外,它还提供了丰富的关键字和API,使得用户可以方便地编写和执行测试用例。
为了使用SeleniumLibrary进行Web自动化测试,需要先安装该库。可以通过pip命令进行安装:
# 国内指定源进行安装,速度会更快
pip install robotframework-seleniumlibrary -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后,用户可以在Robot Framework的测试用例中调用SeleniumLibrary提供的各种关键字,以实现对网页元素的操作、验证等。
查看安装情况
pip list
五、浏览器驱动下载
在利用selenium做web UI自动化测试时,需要用到浏览器driver,而各个版本的浏览器driver不容易搜索及下载,现在selenium官网已经把这些信息整合起来,可以很方便的查找、下载并使用。下载地址如下:
- driver下载地址:https://www.selenium.dev/zh-cn/documentation/selenium_manager/
- chromedriver下载镜像地址(版本不一定最新):https://registry.npmmirror.com/binary.html?path=chromedriver/
- chromedriver下载地址(最新):https://googlechromelabs.github.io/chrome-for-testing/
- firefoxdriver下载:https://github.com/mozilla/geckodriver
(一)查找路径
点击Documentation进入selenium官方文档。
找到目录下的Driver requirements,点击进去
(二)下载路径
根据自己的需要选择不同的浏览器,以及对应的版本
点击Downloads,下载相应版本的浏览器driver
(三)查看浏览器版本
这里以google浏览器为例,查看其浏览器版本
六、参考
- selenium官网:https://www.selenium.dev/
- driver下载地址:https://www.selenium.dev/zh-cn/documentation/selenium_manager/
- chromedriver下载镜像地址(版本不一定最新):https://registry.npmmirror.com/binary.html?path=chromedriver/
- chromedriver下载地址(最新):https://googlechromelabs.github.io/chrome-for-testing/
- firefoxdriver下载:https://github.com/mozilla/geckodriver
- robotframework手册:https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html