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:\Users\Administrator\.jenkins\workspace\Demo1
Parsing POMs
Established TCP socket on 57757
[Demo2] $ "C:\Program Files\Java\jdk1.8.0_201/bin/java" C:\Program Files\apache-maven-3.6.0 -cp "C:\Users\Administrator\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven35-agent-1.12.jar;C:\Program Files\apache-maven-3.6.0\boot\plexus-classworlds-2.5.2.jar;C:\Program Files\apache-maven-3.6.0/conf/logging" jenkins.maven3.agent.Maven35Main "C:\Program Files\apache-maven-3.6.0" "C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\jenkins\WEB-INF\lib\remoting-3.27.jar" C:\Users\Administrator\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven35-interceptor-1.12.jar C:\Users\Administrator\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-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机器运行也是可以打开浏览器的。
Jenkins Maven Selenium TestNG踩坑记的更多相关文章
- maven tomcat plugin 踩坑记
今天在自己家里的电脑上改一个项目,安装的是社区版的 IntelliJ Idea, 没有办法安装 Tomcat 插件来启动项目.尝试用 jettry runer 启动,结果报 java.lang.Inc ...
- IDEA下Maven项目搭建踩坑记----2.项目编译之后 在service层运行时找不到 com.dao.CarDao
项目写的差不多 想运行一下,然后发现运行到Service层的时候报错说找不到Dao层文件 ,纠结半天之后看了下编译好的项目文件,发现mapper文件下边是空的, 于是就百度找一下原因,结果说是IDEA ...
- IDEA下Maven项目搭建踩坑记----3.最长的bug,最简单的错误。同一类中,部分函数的@AutoWired注入的对象失效
这个错误绝对是我写到现在为止最傻X的一个错误,先上图 问题: 出了一个特别长的错误,大致的意思就是mapper.xml文件注入Dao层的时候失败. 解决: 查看一下错误的位置→ 找到Dao层 找到错误 ...
- IDEA下Maven项目搭建踩坑记----1.pom,xml文件下${spring-version}不能用
因为pom.xml文件是直接复制别人配好的web环境,所以在粘贴进去的之后有一部分没有粘贴到,因此出现爆红 解决方法:↓↓↓↓ 代码: <project.build.sourceEncoding ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- Spark踩坑记——从RDD看集群调度
[TOC] 前言 在Spark的使用中,性能的调优配置过程中,查阅了很多资料,之前自己总结过两篇小博文Spark踩坑记--初试和Spark踩坑记--数据库(Hbase+Mysql),第一篇概况的归纳了 ...
- [转]Spark 踩坑记:数据库(Hbase+Mysql)
https://cloud.tencent.com/developer/article/1004820 Spark 踩坑记:数据库(Hbase+Mysql) 前言 在使用Spark Streaming ...
- Spark踩坑记——数据库(Hbase+Mysql)转
转自:http://www.cnblogs.com/xlturing/p/spark.html 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库 ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
随机推荐
- docker配置phpadmin需要注意的地方
因为web服务是在容器内跑的,ip地址注意,如果没有特殊配置,应该使用172.
- python-pcl
python-pcl安装和使用 https://blog.csdn.net/joker_hapy/article/details/85006818 Ubuntu16.04下安装PCL及python-p ...
- IOS屏幕旋转思路和实践
这段时间同事在做一个直播项目,项目有个需求:一个界面需要手动设置屏幕的方向,设置好之后方向不能变化.完成这个需求花了特别大的精力,归因是网上关于屏幕旋转的知识比较凌乱,解决问题花费不少时间,最后决定把 ...
- 填坑:Java 中的日期转换
我们之前讨论过时间,在Java 中有一些方法会出现横线?比如Date 过期方法. 参考文章:知识点:java一些方法会有横线?以Date 过期方法为例 Java中的日期和时间处理方法 Date类(官方 ...
- List集合去重
本篇包含了两种去重,一种是List集合去重,一种是两个List集合去重合并 List集合去重,一般是两种方式,一种是遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list ...
- flutter 访问网页+http请求
一.目录 1.访问网页 2.http请求 -----------------------------这是分割线----------------------------- 1.访问网页 基于url_la ...
- BootStrap table动态增删改表格内数据
1:添加一个[操作]列 { title: "操作", align: 'center', valign: 'middle', width: 160, // 定义列的宽度,单位为像 ...
- rocketmq控制台搭建(rocketmq-console)
1. 下载开源的rocketmq-externals项目 https://github.com/apache/rocketmq-externals 2. 找到rocketmq-console,先编辑一 ...
- 逆向工程vgenerator(三)
前言 该项目的最后一篇博文,最终构建,写入文件,整体项目流程将在本片文章中写出. jdbcType /** *@author vvxtoys *mysql单位 -> jdbcType */ pa ...
- 页面中dropDownListt的二级关联
当下拉框选项不多,而且可以写死的情况下,用js在页面写可能更方便. 我的html代码如下,两个关联是下拉框:配件类型.子类型. <div class="col-md-3 col-sm- ...