RF持续集成到jekins

news/2024/7/7 10:10:57

1.如何部署到jenkins

------  建立jenkins任务  ------

建立jenkins任务,如图配置

参数化构建使用Build with Parameters 插件,下文会详细介绍

------  设置git免密  ------

把RF脚本上传到git以后,需要设置git免密

 

  

 

图片.png

图片.png

点击enable生效,具体是哪个,需要联系负责这台jenkins服务器的运维同学。

图片.png

图片.png

------  设置构建  ------


图片.png

------  使用命令行执行  ------

 

#!/bin/bash
source ~/.venv/bin/activate
robot \
  --variablefile ${WORKSPACE}/config/settings.yaml \
  --variable idCard:$idCard \ --variable accName:$accName \ --variable mobile:$mobile \ --variable cardNo:$cardNo \ --variable ctlCode:$ctlCode \ --variable memberId:$memberId \ --variable isTest:$isTest \ --variable env:$env \ --test 签约验证demo ${WORKSPACE}/BaoZhengJinDaiKou_Demo/interface/baozhengjindaikou_demo/testsuit/保证金代扣.robot

#!/bin/bash
申明脚本使用/bin/bash来解释执行,因为shell不支持source命令。

source ~/.venv/bin/activate

进入虚拟环境

robot

执行rf脚本

--variablefile

读取配置文件

${WORKSPACE}

这个是jenkins的${WORKSPACE},一般不需要修改

--variable idCard:$idCard 

使用--variable读取 Build with Parameters 插件配置的参数。详见下文参数变量化。

格式为 --variable name:value
Build with Parameters配置的参数需要以 $value 的形式获取。value是Build with Parameters配置的参数名。

 --test 签约验证demo ${WORKSPACE}/BaoZhengJinDaiKou_Demo/interface/baozhengjindaikou_demo/testsuit/保证金代扣.robot

指定执行的testcase,以及robot文件。一般都是 ${WORKSPACE} + git上面的项目相对路径 。其实robot文件的路径也可以当变量传,这里写死,方便管理jekins任务。
如果一个robot文件里有多个testcase,想执行其中几个,就按这种方式使用--test case1 --test case2,全部执行的话,不使用--test参数就可以了。

 

更多RF命令行命令可以参考官方文档

 

2.参数如何变量化

使用 Build with Parameters 插件,如果没有安装这个插件,请联系jenkins管理员安装。

安装完后,在构建任务的时候会有参数化构件的选项
点击后,再点击添加参数,就可以添加想要的参数。

图片.png

选项参数,布尔参数可以有效防止误操作,再高风险操作的时候可以配置。一般使用字符参数就可以。

图片.png
预发环境有风险,请使用选项参数配合env参数指定请求环境。
并在RF代码中添加判断

${env}=    Run Keyword If    "${isTest}"=="1"    Set Variable    None
...     ELSE    set variable    ${env}   
或者
Build with Parameters中配置env的选项目参数
suite setup   set suite variable   ${suite_env}  ${env}写在每个用例的开头
${env}就是指定的环境地址

图片.png

3.常见问题或者注意事项

更新用例依赖新版本的,请联系运维升级,或者自行升级。用例如果依赖别的库,也需要在服务器上安装。

环境问题,请找相关的运维同学。

  

 

 

 

 

 

转载于:https://www.cnblogs.com/hzh1028/p/10870615.html


http://www.niftyadmin.cn/n/1851415.html

相关文章

构建LAMP网站应用系统

案例需求 ——因公司的业务范围日益扩大,仅仅依靠静态网站内容已经无法满足进一步的产品宣传和推广、销售等需要。最近公司订购了一套使用PHP语言开发的电子商务系统,要求部署到网站服务器中。现需要对已经安装有httpd服务的网站服务器进行改造&#xff…

The lavish science

在刚刚过去的这个假日周末,美国的电影票房收入再创历史新高,观众们纷纷涌入综合性多厅影院观看一系列大片。耗资巨大的科幻史诗影片《阿凡达》(Avatar)成为票房冠军,它在美国的票房收入为7,500万美元,其全球总收入达到6.173亿美元…

【Task3(2天)】 模型构建

用逻辑回归、svm和决策树;随机森林和XGBoost进行模型构建,评分方式任意,如准确率等。(不需要考虑模型调参)时间:2天数据集下载 说明:这份数据集是金融数据(非原始数据,已…

使用 Amazon S3 云服务轻松实现存储(2)

创建一个连接的 DE>RestS3ServiceDE> 实例很简单,如清单 1 所示: 现在可以 执行一些有趣的操作了:例如,创建存储段、添加一个影片,然后获取一个有时间限制的 URL 。实际上,这听起来像一个业务流程&am…

05Servlet example

dgdfgdfggggggg Servlet 表单数据 在客户端,GET通过URL提交数据,数据在URL中可见;POST把数据放在form的数据体内提交。GET提交的数据最多只有1024字节;POST提交的数据量无限制。 由于使用GET时,参数会显示在地址栏上&a…

有关Remoting的几个结论与论证

整体:Remoting的激活方式有两种客户端激活和服务端激活,顾名思义服务端激活就是服务端负责维护远程服务对象的创建与销毁而客户端激活则是客户端负责远程对象的创建与激活。在服务端激活的模式下根据请求来建立对象,对所有请求建立一个对象的…

【c++修行之路】c++11新特性--下

c11新特性下 一、前言二、包装器2.1包装器统一了接口2.2使用包装的思想设计包装函数 三、绑定(bind)3.1调整参数顺序3.2调整参数个数 四、结语 一、前言 大家好久不见,今天我们继续来学习c11的新特性。 二、包装器 先来看一段代码&#xf…

bash脚本的编写

开发语言有编译语言如C、C等需要编译后才能执行。也有bash、perl、python、PHP、ruby等需要解析执行的语言linux系统中脚本的编写现在很多都是用bash编写的。bash 是sh的GNU增强版,是一种弱类型语言,默认情况下变量类型为字符型而且变量不用声明和检查。…