Pycharm + robotframework自动化框架搭建
前面讲过在Eclipse环境中搭建robotframework框架,这里基于PyCharm开发工具说说怎么实现写robot自动化。
(使用体验:Robot还是配Eclipse比较好使)
一、 基础环境配置
1. 安装Python
2. 安装 robotframework library
cmd窗口安装命令: pip install robotframework
3. 安装Selenium库
安装命令: pip install robotframework-seleniumlibrary
4. 安装Pycharm
安装Community免费版。
二、安装robot插件
进入File>Settings>Plugins窗口,搜索对应的插件名称,安装。
1. Robot Framework Support
安装完成后,新建项目,然后右键 New,就可以看到多了Robot File菜单。通过这个菜单可以直接新建Robot test suite和Robot keywords文件。
但新建一个robot测试文件后,我们会发现文件中的关键字、用例标题等颜色高亮没有区分,因此还需要其他插件。
2. IntelliBot 或 IntelliBot @SeleniumLibrary Patched
安装完成,重启IDE。
进入File>Settings>Editor>File Types窗口,在列表中找到Robot Feature Files, 添加*.robot 类型。
关闭窗口后,会发现robot用例中的关键字、Tag等颜色高亮区分很明显。
备注:
IntelliBot 这个插件也可用IntelliBot @SeleniumLibrary Patched来代替。
只不过 IntelliBot 这款插件,最新更新时间还在 2016 年,而 IntelliBot @SeleniumLibrary Patched 在2018年。
三、写测试脚本
右键New>Robot File>Robot test suite文件,测试脚本示例如下:
引入第三方库 SeleniumLibrary。
四、 执行脚本
在pycharm中写的robot脚本不能直接执行,需要配置对应命令后才能执行。
以下介绍两种不同方式的命令配置。
1. Run Configuration
1)点击右上角的Edit Configuration按钮。
2)点击+,选择Python,输入Name,执行命令和文件夹即可。
(下图的命令是执行整个Test.robot文件中的测试用例,也可通过Tag来控制执行哪条或哪些脚本)
3)配置完成后,点击右上角的三角形按钮,即可执行。
执行结果:
Python -m命令
用python -h或python --help查看解释如下:
-m mod run library module as a (terminates option list)
"mod"是“module”的缩写,即“-m”选项后面的内容是 module(模块),其作用是把模块当成脚本来运行。“terminates option list”意味着“-m”之后的其它选项不起作用。
参考:https://www.sohu.com/a/389546975_642571
robot参数详解
参考 https://blog.csdn.net/lmz_lmz/article/details/90260345
2. Exteral Tools
进入File>Settings>Tools>External Tools窗口,点击+按钮,添加工具。
Name: 任意
Program: robot.exe的目录
Arguments: 执行命令参数。$FileName$可以直接输入,或者点击输入框右侧+,选择微指令 FileName
Working directory: 同上,选择FileDir
若在xx\Pythonxx\Scripts目录里没有找到pybot.bat,可以自己新建一个txt文件,内容:
@Echo off
python -m robot.run %*
修改后缀名为bat即可。
外部工具添加完成后,在代码界面右键选择External Tools>工具名称,即可执行脚本。
在执行robot脚本时,有时只需要执行单个用例,有时需要执行所有用例,那么根据不同的执行需求配置不同的Arguments即可。
1)单个测试组执行
即执行当前robot文件中的所有测试用例。
Arguments: $FileName$ (执行报告会自动放在当前项目文件夹目录下)
或
Arguments: -d logs $FileName$ (将执行报告放入logs文件夹)
2)单个用例执行
Arguments: -t "$SelectedText$" ./
或
Arguments: -d logs -t "$SelectedText$" ./
执行方法:
选择robot文件中的TestCase文本(不选择会报错,选中testcase名字),右键选择External Tools>工具名称,即可执行脚本。
执行结果:
从下图红框中可以看到完整的执行命令是什么样子的。
3)执行整个文件夹
Arguments: -d log $FileDir$
执行结果:
3. 插件环境运行
4. 命令行运行
python -m robot.run --help
例子:
#D:\application\python\python.exe -m robot.run --suite robotsy.登录.login . # 运行robotsy/登录目录下login套件的所有用例
#D:\application\python\python.exe -m robot.run --suite robotsy.登录 . # 运行robotsy/登录目录下所有套件的所有用例
#D:\application\python\python.exe -m robot.run -t 订单正常用例 登录/dingdan.robot # 运行登录/dingdan.robot套件中'订单正常用例'测试用例
5. robot模块运行
import robot if __name__ == '__main__': import os if not os.path.exists('reports'): os.mkdir('reports') # 生成 xml 测试报告 robot.run('testcases',xunit='reports/result.xml')