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) 构建后操作

六、效果图

posted on 2020-06-12 14:59  backtracker  阅读(544)  评论(0编辑  收藏  举报

导航