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机器运行也是可以打开浏览器的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!