命令行robot/rebot运行Robot Framework用例

目录

一、搭建环境

二、创建用例

三.执行用例

四、问题排查

五、重新执行用例

方式一:运用robot命令

方式二、运用rebot命令


一、搭建环境

1.已安装python

2.已安装Robot Framework

3.Mac电脑

搭建环境的详细过程,可详见另一篇博客:https://blog.csdn.net/weixin_42636632/article/details/109549257#2.%E5%AE%89%E8%A3%85RobotFramework

可通过命令robot --version查看,安装的环境,例如:

jdbk@jdbkdeMacBook-Pro ~ % robot --version
Robot Framework 3.2.2 (Python 3.7.7 on darwin)

二、创建用例

1、创建文件 helloworld.robot ,编辑文件如下并保存

*** Test Cases ***
HelloWorld
    log    Hello World!

三.执行用例

pybot helloworld.robot

但报“没有发现pybot命令”的错误:

zsh: command not found: pybot

四、问题排查

1.按照通用的解决方案,将bash shell 中.bash_profile 全部环境变量加入zsh shell中,执行如下操作:

step1:家目录中打开.zshrc文件

cd ~
open .zshrc

step2:找到 “# User configuration”加入如下内容后保存

source ~/.bash_profile

示意如下图

step3:重载资源

source .zshrc

重新执行用例,却依然报相同的错误,通用解决方案并未生效,那pybot命令是不是可能就不存在呢?

2.进入安装python的bin目录下,检查pybot文件的有无

jdbk@jdbkdeMacBook-Pro robotframework % cd /Library/Frameworks/Python.framework/Versions/3.7/bin
jdbk@jdbkdeMacBook-Pro bin % ls
2to3			img2png			pygmentize		pyvenv
2to3-3.7		img2py			pyshell			pyvenv-3.7
__pycache__		img2xpm			pyslices		pywxrc
chardetect		jsonpath.py		pyslicesshell		rebot
easy_install-3.7	pbr			python			ride.py
f2py			pip			python3			ride_postinstall.py
f2py3			pip3			python3-config		robot
f2py3.7			pip3.7			python3.7		wxdemo
helpviewer		pycrust			python3.7-config	wxdocs
idle3			pydoc3			python3.7m		wxget
idle3.7			pydoc3.7		python3.7m-config

查询结果证明,的确不存在pybot文件,难怪找不到该命令~

3.为何安装了Robot Framework,却无pybot命令呢?

查询结果原来是:Robot Framework 3.1版本开始,将pybot脚本移除了,需要使用通用的robot/reboot工具

https://stackoverflow.com/questions/53932273/not-getting-pybot-file-after-installing-robot-framework

五、重新执行用例

方式一:运用robot命令

step1:查询robot命令的使用方式

jdbk@jdbkdeMacBook-Pro bin % robot --help
Robot Framework -- A generic automation framework

Version:  3.2.2 (Python 3.7.7 on darwin)

Usage:  robot [options] data_sources
   or:  python -m robot [options] data_sources
   or:  python path/to/robot [options] data_sources
   or:  java -jar robotframework.jar [options] data_sources
...
...
...

step2:robot命令执行用例

jdbk@jdbkdeMacBook-Pro robotframework % robot helloworld.robot 
==============================================================================
Helloworld                                                                    
==============================================================================
HelloWorld                                                            | PASS |
------------------------------------------------------------------------------
Helloworld                                                            | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  /Users/jdbk/dmg/robotframework/output.xml
Log:     /Users/jdbk/dmg/robotframework/log.html
Report:  /Users/jdbk/dmg/robotframework/report.html

结果:成功运行,PASS:说明用例执行通过。

同时会在执行目录下生成三个文件:

  • output.xml 输出结果报告,主要用于机器展示,比如集成到Jenkins中展示。

  • report.html 执行结果报告

  • log.html      执行过程的详细日志

方式二、运用rebot命令

step1:查询rebot命令的使用方式

jdbk@jdbkdeMacBook-Pro robotframework % rebot --help
Rebot -- Robot Framework report and log generator

Version:  3.2.2 (Python 3.7.7 on darwin)

Usage:  rebot [options] robot_outputs
   or:  python -m robot.rebot [options] robot_outputs
   or:  python path/to/robot/rebot.py [options] robot_outputs
   or:  java -jar robotframework.jar rebot [options] robot_outputs

...
...
...

查询结果可见,rebot命令的执行依赖于robot_outputs,那reboot命令则是对Robot Framework用例执行后生成的output.xml进行再次处理。那其应用场景可能是:

  • 执行上一次的用例

  • 执行保存的其他用例output.xml结果

step2:rebot命令执行用例

jdbk@jdbkdeMacBook-Pro robotframework % rebot output.xml 
Log:     /Users/jdbk/dmg/robotframework/log.html
Report:  /Users/jdbk/dmg/robotframework/report.html
 

结果:成功运行,此次重新生成了执行过程的详细日志log.html和执行结果报告report.html

 

 

robotframework命令⾏运⾏ 命令⾏运⾏ ⼀、运⾏某⼀条测试⽤例 ⼀、运⾏某⼀条测试⽤例 robot --<测试⽤例名> in <⽤例所在suite路径> robot -t <projectname.suitename.testname> <⼯程路径> (-t 同 --test) ⼆、运⾏某个测试套 ⼆、运⾏某个测试套 robot <suite路径> robot -s <projectname.suitename> <⼯程路径> (-s 同 --suite) 三、运⾏整个项⽬ 三、运⾏整个项⽬ robot <项⽬路径> 四、运⾏指定标签的测试⽤例 四、运⾏指定标签的测试⽤例 robot -i <tag name> <项⽬路径> (-i 同 --include) 五、运⾏除指定标签以外的测试⽤例 五、运⾏除指定标签以外的测试⽤例 robot -e <tag name> <项⽬路径> (-e 同 --exclude) 六、指定⽂件输出⽬录 六、指定⽂件输出⽬录 即修改⽂件:outout.xml log.html report.html的输出⽬录。 robot -d <指定⽬录> (-d 同 --outputdir) 七、指定 七、指定xml⽂件输出的⽂件名 ⽂件输出的⽂件名 输出的xml⽂件默认为output.xml。 robot -o <指定名称> (-o 同 --output) ⼋、设置重新运⾏失败的测试⽤例 ⼋、设置重新运⾏失败的测试⽤例 如先执⾏命令:robot -i smoke <项⽬路径> 再运⾏命令:robot -R <原output.xml⽂件路径> <项⽬路径> 合并两次运⾏结果:rebot --merge <原output.xml⽂件路径> <重新运⾏的output.xml⽂件路径> (-R 同 --rerunfailed) 九、设置重新运⾏失败的测试套 九、设置重新运⾏失败的测试套 ⼀般我们会在测试⽤例之间设置前置、后置条件,如果设置重新执⾏失败的测试⽤例,没有前置条件是没法运⾏的,这就需要设置重新运⾏ 失败的测试套。 如先执⾏命令:robot -i smoke <项⽬路径> 再运⾏命令:robot -S <原output.xml⽂件路径> <项⽬路径> 合并两次运⾏结果:rebot --merge <原output.xml⽂件路径> <重新运⾏的output.xml⽂件路径> (-S 同 --rerunfailedsuites)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值