Java自动化环境搭建笔记(3)

自动化测试

自动化的环境已经基本搭建完成,后续可对BaseTester基类以及工具类进行扩展。下面便是持续集成的环境的搭建:

  • Jenkins安装
  • git安装
  • 源码上传github
  • 配置构建

1. Jenkins安装

jenkins安装通过war包的方式,下载地址:http://mirrors.jenkins-ci.org/
其余安装方式下载地址:https://bitnami.com/stack/jenkins/installer

依赖:

1.1 安装

  1. 将下载的war包直接放置到tomcat的webapps目录。
  2. 启动或重启tomcat(windows下运行startup.bat)。
  3. 复制tomcat启动过程中打印的密钥,在第一次启动配置jenkins用,如图:1-2,或从tomcat log目录下catalina.日期.log文件中复制。
    注:也可根据第一次启动jenkins的界面提示去找该密钥。
  4. 查看tomcat conf目录server.xml配置文件中的tomcat端口,如图1-3所示。
  5. 根据配置文件中的端口,使用浏览器打开jenkins界面:http://127.0.0.1:8080/jenkins ,第一次运行可能需要等待一会。

1-1 webapps目录

1-2 启动tomcat

1-3 tomcat的端口

1.2 首次运行配置Jenkins

  1. 等待界面第一次打开后,输入密钥。

1-4 密钥输入

1-5 选择安装插件
  1. 等待插件自动安装完成,创建一个管理员账户。

1-6 管理员账户
  1. 设置实例配置,首次启动安装完成。

1-7 实例配置

1.3 插件安装

  1. Manage Jenkins -> Manage Plugins -> 可选插件:搜索Maven Integration,勾选并点击直接安装,需安装插件列表如下。

    • Maven Integration
    • Allure Jenkins Plugin
      多分支构建用:
    • Pipeline
    • Blue Ocean

插件安装
  1. 安装完成后,重启tomcat。

1.4 全局工具配置

  1. Manage Jenkins -> Global Tool Configuration配置工具

  2. 新增JDK

JDK
  1. 新增Maven

maven
  1. 配置maven配置文件路径

maven配置文件
  1. 重新下载一个allure:下载地址,项目.allure目录下的本地启动服务的时候用,jenkins集成的时候就不好用了

Allure

2. 代码上传GitHub

2.1 安装git

windows版本到官网下载了,根据提示安装就好了:下载地址

2.2 IEDA配置

  1. File | Settings | Version Control | Git 检查配置git信息

IDEA git配置
  1. File | Settings | Version Control | GitHub 路径下添加GitHub用户名密码。

添加账户

2.3 代码上传

  1. 第一次上传代码需要:

第一次上传代码

配置项目名称与描述

上传项目
  1. 非第一次上传需要按照:add -> commit -> push的步骤。

    2.1 选中项目鼠标右键。
    2.2 add
    2.3 Commit Directory
    2.4 Repository -> push

Git栏

提交3步

3. 项目构建

3.1 添加maven构建工程

  1. 新建Maven构建项目。

构建一个Maven项目
  1. 配置源码管理方式,这里用的就是Git。

源码管理

添加凭证
  1. 这里是示例,构建触发器就不写了。
  2. 构建命令, 也就是本地执行mvn进行构建的命令。

构建命令
  1. 构建后操作,调用allure来生成报告的,这里如果allure的默认结果目录没有修改就使用推荐的配置就好了。

构建后操作

3.2 构建运行

注:构建需要 2+ 才能查看到历史数据。

  1. 点击运行构建
  2. 等待运行结果
  3. 查看结果

结果界面

结果统计信息

历史数据

3.3 Pipeline多分支工程构建

  1. 创建Jenkinsfile放到项目根,提交github,内容如下:
pipeline {
agent any
stages {
stage('Build') {
steps {
bat 'mvn -Dmaven.test.failure.ignore=true clean verify site'
}
}
stage('reports') {
steps {
script {
allure([
includeProperties: false,
jdk: '',
properties: [],
reportBuildPolicy: 'ALWAYS',
results: [[path: 'target/allure-results']]
])
}
}
}
}
post {
always {
deleteDir()
}
failure {
slackSend message: "${env.JOB_NAME} - #${env.BUILD_NUMBER} failed (<${env.BUILD_URL}|Open>)",
color: 'danger', teamDomain: 'qameta', channel: 'allure', tokenCredentialId: 'allure-channel'
}
}
}
  1. 使用Blue Ocean的方式创建构建工程

打开Blue Ocean
  1. 创建流水线,根据提示创建,会自动查找根目录下的Jenkinsfile并根据该文件创建流水线。

创建多分支结构

3.4 构建运行

经典界面构建进度

分支显示

构建完成

返回经典界面查看结果:

报告首页

Blue Ocean分支流程定义界面

Java自动化环境搭建笔记(3)的更多相关文章

  1. Java自动化环境搭建笔记(2)

    Java自动化环境搭建笔记(2) 自动化测试 在笔记一中已经完成了一键构建项目.xml指定规划测试集.数据解耦与allure报告生成的开发.接下来便是: 浏览器驱动通过配置启动 页面元素定位解耦,通过 ...

  2. Java自动化环境搭建笔记(1)

    Java自动化环境搭建笔记(1) 自动化测试 先搭建java接口测试的环境: 使用mvn命令构建项目 测试集通过testNG.xml组织并运行 测试数据解耦,通过Excel等文件提供 基础依赖 创建m ...

  3. Appium TestNg Maven Android Eclipse java自动化环境搭建

    1.环境准备 1)Eclipse + maven + appium + TestNg 确保已经在Eclipse 上面安装maven TestNg的插件 2)打开Eclipse,新建一个maven项目 ...

  4. IDEA+selenium3+火狐/谷歌驱动 JAVA初步环境搭建 笔记

    0 环境 系统环境:win7 selenium驱动 谷歌浏览器以及驱动 火狐浏览器以及驱动 1 驱动地址的下载 1.1 selenium jar包 https://www.seleniumhq.org ...

  5. 黑马程序员_java基础笔记(01)...java的环境搭建

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!——————————  JavaSE(Java Standard Edtion java标准版)技术概况 ...

  6. iOS自动化环境搭建——macaca

    macaca-java for ios 自动化环境搭建 基础原理解析:https://testerhome.com/topics/6608 一.环境搭建 1.安装eclipse; -----Java开 ...

  7. MAC自动化环境搭建

    UI自动化环境搭建 第一阶段:配置appium环境硬件配置mac系统电脑 java环境sunjiedeMacBook-Air:~ vicent$ java -versionjava version & ...

  8. 基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量 ...

  9. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

随机推荐

  1. SqlServer事务语法及使用方法(转)

    原博:http://blog.csdn.net/xiaouncle/article/details/52891563 事务是关于原子性的.原子性的概念是指可以把一些事情当做一个不可分割的单元来看待.从 ...

  2. shell 字符串拼接

    #!/bin/bash name="Shell" url="http://c.biancheng.net/shell/" str1=$name$url #中间不 ...

  3. ECMAScript6-1

    1.let与const ES205(ES6)新增两个重要的JavaScript关键字:let和const let声明的变量只在let命令所在的代码块内有效,const声明一个只读的常量,一旦声明,其值 ...

  4. c# word 插入图片问题

    情景描述: 在之前文本框中加标签,代码直接addPicture出现了意外.不起作用,怀疑是文档模板的问题,因为生成的PDF和word格式总时不时有差异,左右捣鼓下,更换文本框,更换图片形式,形状形式, ...

  5. netcore容器与配置文件操作

    using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; using Micro ...

  6. elasticsearch容量规划

    https://docs.bonsai.io/article/123-capacity-planning Capacity Planning Capacity planning is the proc ...

  7. 【操作系统之十二】分支预测、CPU亲和性(affinity)

    一.分支预测 当包含流水线技术的处理器处理分支指令时就会遇到一个问题,根据判定条件的真/假的不同,有可能会产生转跳,而这会打断流水线中指令的处理,因为处理器无法确定该指令的下一条指令,直到分支执行完毕 ...

  8. select列表遍历和触发事件

    1.以下两种都是jquery获取select列表被选中的value.var strText=$("#select_id").find("option:selected&q ...

  9. mysql explain亲测

    mysql explain亲测 1 where后面字段加索引:数据库类型如果是字符串类型 查询where的时候必须要用 字符串 类型必须一致 否则不用索引 type还是会是all的 ps:如果wher ...

  10. day58——模板继承、组件、自定义标签和过滤器、inclusion_tag、静态文件配置、url别名和反向解析、url命名空间

    day58 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承它使用) 2. 在母版中定义block块(可以定义多个,整个页面任意位置) {% block co ...