微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

六、效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐