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. JavaScript插件开发

    一.前言 通过 "WWW" 原则我们来了解 JavaScript 插件这个东西 第一个 W "What" -- 是什么?什么是插件,我就不照搬书本上的抽象概念了 ...

  2. Golang微服务实践

    背景 在之前的文章<漫谈微服务>我已经简单的介绍过微服务,微服务特性是轻量级跨平台和跨语言的服务,也列举了比较了集中微服务通信的手段的利弊,本文将通过RPC通信的方式实现一个增删查Redi ...

  3. CURL SSL为6的由来

    起初,我直接用方倍工作室之前做微信接口调用时的http_request函数,发现能正常调用微信api的函数获取不了火星天气数据,然后又尝试用file_get_contents,仍然不行 一直出的错就是 ...

  4. ASP.NET Core WebApi基于Redis实现Token接口安全认证

    一.课程介绍 明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NET WebSer ...

  5. Tomcat通过脚本自动部署

    1:autodeploy_tomcat_app.sh now=`date +%Y%m%d%H%M%S` tomcatPath=/home/test/apache-tomcat- backupPath= ...

  6. URL中出现了%E2%80%8E(Zero-Width Space)

    下面两个url地址,看起来是一样的,但是粘贴到记事本里会发现一个多出了很长的空格 url: '/secure​/Dishes/GetList', url: '/secure/Dishes/GetLis ...

  7. LPAT: Learning to Predict Adaptive Threshold for Weakly-supervised Temporal Action Localization [Paper Reading]

    Motivation: 阈值分割的阈值并没有通过模型训练学出来,而是凭借主观经验设置,本文通过与背景得分比较提取对应的proposal,不用阈值的另一篇文章是Shou Zheng的AutoLoc,通过 ...

  8. Mysql常见注意事项小记

    1. 排序问题 正常如果按照某字段升序排列,空值会排到有值的前面;如果逆序排序空值排在最后. 有时候我们需要该字段为空的行数据要排到最后面去,这时只需要: order by second_parent ...

  9. python基础知识的学习和理解

    参考链接:https://github.com/yanhualei/about_python/tree/master/python_learning/python_base   python基础知识笔 ...

  10. mysql 中 and和or 一起使用和之间的优先级

    SELECT address,job_title,education,SUM(recruiting) FROM commerce_jobs WHERE education = '大专' and ( j ...