Docker+Selenium+TestNG+Maven+Jenkins环境搭建
一、Selenium环境准备
standalone-chrome Docker容器启动:
docker pull selenium/standalone-chrome
version: '3'
services:
selenium:
build: .
image: selenium/standalone-chrome:latest
ports:
- "24444:4444"
shm_size: '2gb'
restart: unless-stopped
container_name: selenium
docker-compose up -d
二、编写selenium Demo项目
porm.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>AutoTestDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build>
</project>
测试用例:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
import java.net.URL;
public class TestDemo {
@Test
public void testBaidu() throws Exception {
//修改hub地址
WebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:24444/wd/hub"), new ChromeOptions());
driver.get("https://www.baidu.com");
System.out.println(driver.getTitle());
assertEquals(driver.getTitle(),"百度一下,你就知道");
Thread.sleep(2000);
driver.close();
driver.quit();
}
@Test
public void testName() {
assertEquals("nick","davis");
}
}
testng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Auto Test Demo" preserve-order="true">
<test name="自动化测试Demo">
<classes>
<class name="TestDemo">
<methods>
<include name="testBaidu" />
<include name="testName" />
</methods>
</class>
</classes>
</test>
</suite>
三、jenkins安装
docker pull jenkins/jenkins:lts
version: "3"
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- 28080:8080
- 50000:50000
volumes:
- /docker/volumns/jenkins:/var/jenkins_home
restart: unless-stopped
docker-compose up -d
四、安装配置jenkins
1.安装maven
方法一:
使用Dockerfile
FROM jenkins/jenkins:lts
RUN apt-get update && apt-get install -y maven
方法二:
进入容器运行命令
root@debian:~/#docker exec -u root -it jenkins /bin/bash
root@7ff69b78212f:/#apt-get update && apt-get install -y maven
2.安装maven jenkins插件

3.配置jenkins maven

4.安装TestNG插件

五、项目配置
1.创建ssh key
ssh-keygen -t rsa
2.复制公钥到git仓库

3.jenkins中配置私钥

4.添加项目
1)新建maven项目

2) 输入git仓库地址,选择密钥

3) 构建后操作

六、效果图


Docker+Selenium+TestNG+Maven+Jenkins环境搭建的更多相关文章
- TestNG+Maven+IDEA环境搭建
TestNG+Maven+IDEA环境搭建 前言: 主要进行TestNG测试环境的搭建 所需环境: 1.IDEA UItimate 2.JDK 3.Maven 一.创建工程 File –>new ...
- 2、TestNG+Maven+IDEA环境搭建
前言: 主要进行TestNG测试环境的搭建 所需环境: 1.IDEA UItimate 2.JDK 3.Maven 一.创建工程 File –>new –>Project–>next ...
- Selenium+TestNG+Maven+Jenkins+SVN(转载)
转载自:https://blog.csdn.net/u014202301/article/details/72354069 一. 创建Maven项目,下载Selenium和TestNG的依赖(依赖可以 ...
- selenium java maven自动化测试环境搭建
版本说明: JDK 版本:1.8.0_112: Eclipse IDE: 4.6.1: Maven 版本:apache-maven-3.3.9: Selenium 版本: 3.0.1: Firefox ...
- 基于【 Docker】五 || maven私服环境搭建
1.Maven Nexus私服的原理 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库.当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓 ...
- Selenium+TestNG+Maven(2)
转载自http://www.cnblogs.com/hustar0102/p/5885115.html selenium介绍和环境搭建 一.简单介绍 1.selenium:Selenium是一个用于W ...
- 也谈自动化平台的搭建,另附高大上的名字---无人值守定时巡检系统(selenium+testng+ant+jenkins)
最近公司新项目改版,由于没有运维,开发则负责上线任务,并且都是手动上线,并行的项目多了,分支混乱,经常导致B项目上线覆盖A项目,导致系统不定时出现异常,老板知道了便扣了大家的绩效,作为测试这边必须想个 ...
- Self20171218_TestNG+Maven+IDEA环境搭建
前言: 主要进行TestNG测试环境的搭建 所需环境: 1.IDEA UItimate 2.JDK 3.Maven 一.创建工程 File –>new –>Project–>next ...
- windows系统下jenkins环境搭建与基本使用
一. windows 系统下搭建jenkins环境 1.1 jenkins环境搭建和构建job流程图 1.2 安装jdk JDK下载地址: http://www.oracle.com/technet ...
随机推荐
- Django之form.Form字段校验
RegexValidator校验器: 在自定义的form组件类设置字段validators的值,引入RegexValidator模块 from django import forms from dja ...
- TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
我的项目在mac上运行的很好,结果windows电脑,就一直报这个错误 解决方案: babel增加 @babel/plugin-transform-modules-commonjs 参考文章: htt ...
- CukeTest+Puppeteer的Web自动化测试(一)
CukeTest+Puppeteer的Web自动化测试 一.初识BDD.Cucumber(黄瓜).CukeTest 行为驱动开发(Behavior Driven Development,BDD).行为 ...
- BZOJ1022
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2701 Solved: 1721[Submit] ...
- JavaScript实现栈结构
参考资料 一.什么是栈(stack)? 1.1.简介 首先我们需要知道数组是一种线性结构,并且可以在数组的任意位置插入和删除数据,而栈(stack)是一种受限的线性结构.以上可能比较难以理解,什么是受 ...
- 【软工】[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE
[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE 官方文档与重要参考资料 官方demo 官方API调用样例 Playground 官方API Doc,但其搜索框不支持模 ...
- javascript中日期的最简单格式化
// 假设要转换的日期数据来源是date(一个timestamp) let date = Date.now() // 1574141546000 let strDate = (new Date(dat ...
- [wordpress使用]002_主题
使用WordPress作为博客内容管理系统有一个很大的好处是,WordPress拥有大量的优秀的免费模板.你所需要的是下载安装,和稍作修改.下面接着开始WordPress教程:WordPress主题 ...
- [JavaWeb基础] 019.Struts2 MVC架构之ModelDriven
用过struts1的人接触struts2的时候,通常会产生一个疑惑,明明struts1已经把action的form分开了,为什么struts2确把模型放在action中定义.其实这个方式只是想让act ...
- 【CTFHUB】Web技能树
Web HTTP协议 请求方式