使用CMD命令执行测试用例

当我们在ride中设计好测试用例后,我们可以使用ride的界面工具来选择和运行测试用例。

系统也会提供比较好的报告和日志的浏览功能。

但是这样的自动化,毕竟是需要手工介入的。通常,我们是希望能够和Jenkins等配置管理工具结合,实现代码发布,测试自动化运行。

Jenkins本身提供了插件来管理和运行robotframework架构,这里介绍下怎么使用robot工具,通过命令行来管理和运行相应的用例。

其实方法很简单,首先我们打开cmd窗口,输入 robot 命令:robot

如果robot安装正常,他会抛出下列的错误信息:

根据提示信息,我们在命令中加入 --help来获取帮助: robot --help:

系统会给出所有robot有关的帮助文档:

里面的内容很多,我们也可以将其输出到本地文件中: robot --help > D:\robothelp.txt。

这样我们在文件中预览相关内容会比较方便。

我们经常会用到的一些参数如下:

--test name *   选择执行那些测试用例,这里的参数是用例的名字。

--suite name *    选择执行那些test suite,该参数会和 --test --include --exclude配合使用,过滤出那些用例需要执行。

--include tag *       选择运行那些tag的测试用例,它支持正则表达式,可以使用 *,?来替代用例的名称。 还可以使用 AND,OR,Not等操作符。 例如 --include smoke --include BVT; --inlcude smokeANDB*等等。

--exclude tag *   选择不执行那些tag的测试用例。

--outputdir dir     选择输出的日志和报告的文件夹路径。

--output file     设置输出的文件路径,默认是一个XML文件。

--log file        设置输出HTML的log文件, 可以用NONE来关闭,不推荐。
--report file              设置输出HTML report 文件,也可以使用NONE来关闭,不推荐。 默认文件名字为 report.html。

--timestampoutputs  如果使用了该选项,他会在输出的文件名中间加上一个时间戳 格式为 YYYMMDD-hhmmss。

--maxerrorlines lines 该参数用来设置在报告中,显示多少行错误信息。默认是40行,最小是10行。使用参数NONE,则会显示所有错误信息。

--loglevel level   设置log的输出级别, 默认有TRACE,DEBUG, INFO (default), WARN, NONE (no logging)。 例如 --loglevel DEBUG  --loglevel DEBUG:INFO

根据文档,我们基本上可以使用以下格式来用命令启动robot执行用例: robot --options(参数) robot文件目录。

其中文件目录如果是具体到了robot文件,那么只会执行该文件中的相关用例。

还可以同时执行多个文件, 比如 robot d:\smoke.robot, e:\BVT.robot.

如果路径是个文件夹,robot会执行该目录下的所有robot文件, 比如 project下面有 1.robot, 2.robot, name语句 robot ../project 就是执行1.robothe 2.robot中所有的测试用例。

在一个demo的测试项目中使用的命令如下:

robot --include tag demo -d D:\demo -o output -l log -r report -T --timestampoutputs --maxerrorlines NONE -L DEBUG D:\PUMA_AUTO\RF_PUMA\PUMA\demo.robot

如果想要再进一步,我的解决方案是,新建了一个ini配置文件,写一个python脚本来解析配置文件,这样只要通过修改ini配置文件,就可以灵活的执行你想要用例或者测试套件。

当然如果你想要和CI集成, Jenkins本身就有很好的插件支持,有机会我们可以尝试一下。

Python 学习笔记21 CMD执行测试用例的更多相关文章

  1. python学习笔记(CMD运行文件并传入参数)

    好久没更新博客了 最近换了份新工作 有时间来整理一篇 在命令行CMD中执行文件过程中如何传入并识别参数 # -*- coding: utf-8 -*- # CMD运行类 # 作者: # 时间: 201 ...

  2. python学习笔记21(正则表达式)

    正则表达式模式: 模式 描述 ^ 匹配的开始的 $ 匹配行尾 . 匹配除换行符的任何单个字符.使用-m选项允许其匹配换行符也是如此. [...] 匹配括号内任何单个字符 [^...] 匹配非单个字符集 ...

  3. Python学习笔记21:数据库操作(sqlite3)

    Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言. SQLite作为后端数据库,能够搭配Python建站点,或者制作有数据存储需求的工具. SQLite还在其他领域有广泛 ...

  4. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  5. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  6. Python 学习笔记 - 不断更新!

    Python 学习笔记 太久不写python,已经忘记以前学习的时候遇到了那些坑坑洼洼的地方了,开个帖子来记录一下,以供日后查阅. 摘要:一些报错:为啥Python没有自增 ++ 和自减 --: 0x ...

  7. Python学习笔记九

    Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...

  8. python 学习笔记 13 -- 经常使用的时间模块之time

    Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...

  9. Python学习笔记之常用函数及说明

    Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...

随机推荐

  1. Python 爬虫 校花网

    爬虫:是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 福利来了  校花网 ,首先说为什么要爬这个网站呢,第一这个网站简单爬起来容易,不会受到打击,第二呢 你懂得.... 1.第一步,需要下 ...

  2. es6 promise 结束回调地狱

    promise的三种状态: pending---进行中 fulfiled---执行成功 rejected---执行失败 var promise = new Promise(function(resol ...

  3. JavaScript、ES6中类的this指向问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 微信支付MD5签名算法C#版,ASCII码字典序排序0,A,B,a,b

    /// <summary> /// 微信支付MD5签名算法,ASCII码字典序排序0,A,B,a,b /// </summary> /// <param name=&qu ...

  5. Ubuntu环境下SSH服务安装、SSH远程登录以及SSH数据传输

    https://www.cnblogs.com/asyang1/p/9467646.html SSH 为 Secure Shell 的缩写,为建立在应用层基础上的安全通信协议. 一.检查SSH服务是否 ...

  6. CentOS安装Git服务器 Centos 6.5 + Git 1.7.1.0 + gitosis

    1.安装扩展 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel 2.下载git ...

  7. HTML表单(来自MDN的总结)

    表单介绍 HTML表单是用户和web站点或应用程序之间交互的主要内容之一.它们允许用户将数据发送到web站点.大多数情况下,数据被发送到web服务器,但是web页面也可以拦截它自己并使用它. HTML ...

  8. ht-4 hashmap特性

    一.hashmap底层原理: hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(ke ...

  9. 特权第一讲--Lesson 1 课程概述与如何学好FPGA

    FPGA的学习没有什么捷径,需要学习者多花时间和精力 . 1.设计输入 2.如何--对综合布局布线结果进行优化 3.如何--更有效地进行验证 4.如何--达到时序收敛 学习者需要用心去学习.去分析.去 ...

  10. div页面布局基本布局知识

    页面代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...