1.问题1:java.io.FileNotFoundException: /root/.jenkins/workspace/Videoyi_AutoTest_Maven/config-log4j\log4j.xml (No such file or directory)
该问题是由于代码是在windows下编写和编译的,使用的都是\\来实现目录结构的,结果到linux下的时候,linux不能识别\\,所以需要将代码的\\修改为/。 2、问题:Linux下执行时,调用的是windows下的chroomedriver导致不能启动浏览器。
该问题待调查
java.lang.IllegalStateException: The driver is not executable: /root/.jenkins/workspace/Videoyi_AutoTest_Maven/browserDriver/chromedriver.exe
at com.google.common.base.Preconditions.checkState(Preconditions.java:199)
at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:125)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:116)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137) 报以上错误的时候,下载了一个Linux下的Chrome浏览器,然后就OK了不报错了。
https://blog.csdn.net/chenlix/article/details/72526205
3、然后安装完chromedriver后,还是报错。
接下来报的是业务方面的错误了
[2018-05-25 10:35:12:498] [ai.qa.autotest.ui.framework.webdriverfactory.ChromeBrowserDriver] [INFO] [46] [----- ?????Linux??.-----]
[2018-05-25 10:35:12:568] [ai.qa.autotest.ui.framework.webdriverfactory.ChromeBrowserDriver] [ERROR] [77] [java.lang.IllegalStateException: The driver is not executable: /root/.jenkins/workspace/Videoyi_AutoTest_Maven/browserDriver/chromedriver]
该错误的解决方案是,找到chromedriver的可执行文件然后给他加上执行的权限。
4、好不容易能进入到函数的运行体了,但是中文输出出来都是乱码或者问号,所以继续调查这个问题。

/root/.jenkins/workspace/Videoyi_AutoTest_Maven/browserDriver/chromedriver: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory
������ 25, 2018 11:03:15 ������ org.openqa.selenium.os.UnixProcess checkForError
������: org.apache.commons.exec.ExecuteException: Process exited with an error: 127 (Exit value: 127)
[2018-05-25 11:03:15:590] [ai.qa.autotest.ui.framework.webdriverfactory.ChromeBrowserDriver] [ERROR] [77] [org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.52.0', revision: '4c2593cfc3689a7fcd7be52549167e5ccc93ad28', time: '2016-02-11 11:22:43'
解决方案如下:

https://blog.csdn.net/dumeifang/article/details/2963223
乱码问题:
http://lee2013.iteye.com/blog/2108612
还是未解决乱码的问题。

居然天神奇了,我按照这个又把这些都改回到初始的状态,结果是正常的中文码了,可是我删了啊。。不知道下次重启会不会是乱码呢。
http://lee2013.iteye.com/blog/2108612 5、编译的时候报错,导致chromeBrowserDriver无法启动。
/root/.jenkins/workspace/Videoyi_AutoTest_Maven/browserDriver/chromedriver: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory
参考的解决方案:
https://www.cnblogs.com/Anker/p/3209876.html
https://www.cnblogs.com/amboyna/archive/2008/02/06/1065322.html

那就表示系統不知道xxx.so 放在哪個目錄下。

這個時候就要在/etc/ld.so.conf中加入xxx.so所在的目錄。

 一般而言,有很多so檔會在/usr/local/lib這個目錄下,所以在/etc/ld.so.conf中加入/usr/local/lib這一行,可以解決此問題。

將 /etc/ld.so.conf存檔後,還要執行「/sbin/ldconfig –v」來更新一下才會生效。

https://stackoverflow.com/questions/37624225/shared-libraries-libgconf-2-so-4-is-missing

居然说是这个帮忙了,本来想自己下载个

libgconf-2.so.4然后再安装到linux下,结果发现这个网址上有攻略。
down vote
Please ask yum for the file, libgconf-.so. : $ yum provides */libgconf-.so. Install GConf2 : # yum install GConf2 Packages http://mirror.centos.org/centos/6.8/os/ ... and updates http://mirror.centos.org/centos/6.8/updates/ The chromedriver depends on the same packages / files as GConf2, and then some. Please see for yourself : $ ldd chromedriver , where 'chromedriver' is the unzipped executable.
 

6、好不容易把chromeDriver的libconfig问题解决了,但是又报了新的错误。

原因可能是:chrome和chromedriver的版本不匹配。

原因分析:是由于chrome版本过低导致的 

解决办法:重新下一个比 29.0.1545.0版本高的chrome就可以了

Chrome的版本:

ChromeDriver的版本:

当前使用的是2.29版本,所以会报错。

然后下载2.36版本,并上传后,并修改他的可执行权限,静待效果。

https://npm.taobao.org/mirrors/chromedriver
Chrome和ChromeDriver的对照表:
https://blog.csdn.net/huilan_same/article/details/51896672
Linux下配置chromeDriver:

ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
ln -s /usr/local/share/chromedriver /usr/bin/chromedriver



【Linux】【Jenkins】代码编译和执行过程中的问题汇总的更多相关文章

  1. java代码的编译、执行过程

    Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码 ...

  2. Java 代码编译和执行的整个过程

    Java 代码编译是由 Java 源码编译器来完成,流程图如下所示: Java 字节码的执行是由 JVM 执行引擎来完成,流程图如下所示: Java 代码编译和执行的整个过程包含了以下三个重要的机制: ...

  3. JVM学习笔记(二)------Java代码编译和执行的整个过程【转】

    转自:http://blog.csdn.net/cutesource/article/details/5904542 版权声明:本文为博主原创文章,未经博主允许不得转载. Java代码编译是由Java ...

  4. JVM学习笔记(二)------Java代码编译和执行的整个过程

    Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码 ...

  5. Java代码编译和执行的整个过程

    Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码 ...

  6. C++ 编译,执行过程 具体解释。

    要更深入了解C++, 必需要知道一个程序从開始到结束都干了些什么, 怎么干的. 所以我从C++编译到执行过程,解析下程序是怎么跑的. 首先,初略的说一下之前C++的编译过程.C++编译过程包含预编译- ...

  7. JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)

    转载注明出处: http://blog.csdn.net/cutesource/article/details/5904501 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.e ...

  8. 从编译,执行过程理解c#

    上节我们说过C#所开发的程序源代码并不是编译成能够直接在操作系统上执行的二进制代码.与Java类似,它被编译成为中间代码,然后通过.NET Framework的虚拟机——被称之为通用语言运行时(CLR ...

  9. C C++ Java C# JS编译、执行过程的原理入门分析

    C.C++是典型的编译型编程语言,编译链接后,点击则可执行. JS,解释型脚本语言,则不需要进行编译,直接解释执行. Java和C#则是所谓的高级语言,编译执行的方式做了很多处理, 尤其是C#,VS编 ...

随机推荐

  1. <转载> 从算法上解读自动驾驶是如何实现的?

     科技新闻小鹏汽车2016-03-28 10:42 [摘要]车辆路径规划问题中路网模型.路径规划算法和交通信息的智能预测为关键点. 由于驾驶员的驾驶工作繁重,同时随着汽车拥有量的增加,非职业驾驶员的数 ...

  2. java中求余%与取模floorMod的区别

    初学java的时候接触的%这个符号 百分号? 求余? 取模? 我只知道不是百分号,好像是求余,听别人那叫求模运算符,跟求余一样,于是我便信了. 思考之后开始迷糊,然后经过多次考证得到以下结论. 首先, ...

  3. Future模式介绍及入门使用

    FutureClient代码实现: package com.hjf.future; public class FutureClient { /** * 请求客户端 * @param queryStr ...

  4. offsetWidth与clientWidth 区别

    offsetWidth       //元素宽度.内边距和边框,不包括外边距 offsetHeight      //元素高度.内边距和边框,不包括外边距 clientWidth        //元 ...

  5. 剑指Offer 22. 从上往下打印二叉树 (二叉树)

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 题目地址 https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed25 ...

  6. python3+requests:接口自动化测试(二)

    转载请注明出处:https://www.cnblogs.com/shapeL/p/9188495.html 前言:上篇文章python3+requests+unittest:接口自动化测试(一):ht ...

  7. 【PL/SQL基础知识】结构

    1.pl/sql块的结构 declare --声明的变量.类型.游标 begin --程序的执行部分(类似于java的main()方法) exception --针对begin块中出现的异常 ---w ...

  8. yum 的 group的信息

    查找 yum源中有哪些group及其详细信息 1:yum groupinfo '*' | less 2:yum groupinfo '*' | less +/sendmail-cf 将 sendmai ...

  9. VS2008 快捷键大全

    转载自 https://www.cnblogs.com/likebeta/archive/2013/02/20/2919224.html Ctrl+E,D ----             格式化全部 ...

  10. springboot中get post put delete 请求

    组合注解(RequestMapping的变形) @GetMapping = @RequestMapping(method = RequestMethod.GET) @PostMapping = @Re ...