• Jenkins Maven Selenium TestNG踩坑记


    1)Maven TestNG什么的都配置好了,在本地用eclipse->Run AS->MAVEN INSTALL运行正常

    2) Jenkins安装了插件,也建立了MAVEN项目。MAVEN项目里面也设置好了maven的pom.xml文件的路径。

    3) Jenkins->Global Tool Configuration里面JAVA_HOME和MAVEN_HOME都配置正确。

    4)创建构建,build所建立的maven项目,出现Could not find or load main class这个错误

    Started by user Admin
    Building in workspace C:UsersAdministrator.jenkinsworkspaceDemo1
    Parsing POMs
    Established TCP socket on 57757
    [Demo2] $ "C:Program FilesJavajdk1.8.0_201/bin/java" C:Program Filesapache-maven-3.6.0 -cp "C:UsersAdministrator.jenkinspluginsmaven-pluginWEB-INFlibmaven35-agent-1.12.jar;C:Program Filesapache-maven-3.6.0ootplexus-classworlds-2.5.2.jar;C:Program Filesapache-maven-3.6.0/conf/logging" jenkins.maven3.agent.Maven35Main "C:Program Filesapache-maven-3.6.0" "C:Program FilesApache Software FoundationTomcat 9.0webappsjenkinsWEB-INFlib
    emoting-3.27.jar" C:UsersAdministrator.jenkinspluginsmaven-pluginWEB-INFlibmaven35-interceptor-1.12.jar C:UsersAdministrator.jenkinspluginsmaven-pluginWEB-INFlibmaven3-interceptor-commons-1.12.jar 57757
    Error: Could not find or load main class C:Program
    ERROR: Failed to launch Maven. Exit code = 1
    Finished: FAILURE

    Google了很久都没解决问题,突然意识到别人创建maven项目时,jenkins的Congiure system 跟我的不一样,见下图.

    好吧,“Error: Could not find or load main class C:Program” 这个问题解决,再次build maven项目,又出错了。

    错误是,buid成功但是没有执行任何TestNG用例。

    这是因为在maven的pom.xml里面没有吧testng.xml加进去。

    好吧,加一下。加了之后的样子。

    pom.xml

    <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>Demo2</groupId>
        <artifactId>Demo2</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <dependencies>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>6.14.3</version>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>3.141.59</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M3</version>
                    <configuration>
                        <suiteXmlFiles>
                            <suiteXmlFile>testng.xml</suiteXmlFile>
                        </suiteXmlFiles>
                        <useSystemClassLoader>false</useSystemClassLoader>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>

    再次,build,可以正常运行了。

    但是发生了一个无解的问题。

    脚本正常运行,结果也正确,但在电脑上看不到浏览器。

    我的脚本/jenkins/tomcat都是在本机。

    在本机上安装了Tomcat,并且用的tomcat Windows installer安装的,安装完成后tomcat就是一个windows service.

    然后,吧jenkins的war包丢尽tomcat的webapp目录。

    网上说了多种办法,但是都无法解决,因为网上的情况是:他们的jenkins不是安装在tomcat里面的。

    这个问题stackflow 有老外几年前提出过,无法解答。

    不过,虽然在本机看不到浏览器,但是用Jenkins去出发selenium grid还是可以的。

    或者,用jenkins 的主从模式,让selenium脚本在slave机器运行也是可以打开浏览器的。

  • 相关阅读:
    MySQL主从复制与读写分离
    使用PHPCMS搭建wap手机网站
    phpcms v9不用下插件自己做留言板
    css关于banner图轮播的实现
    MySql和Oracle的日期转换到底有哪些不同?我们来比较一下
    CSS---解决内容过多就会出文本溢出(显示在区域外面,不换行的情况)
    dedecms 后台发布后的文章不能编辑出现一片空白的解决办法
    python常识系列11-->python发送邮件基础
    python常识系列10-->python代码注释规范
    python常识系列09-->logging模块之handlers的使用
  • 原文地址:https://www.cnblogs.com/majestyking/p/10424278.html
Copyright © 2020-2023  润新知