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. PC/FORTH 变量|常数|数组

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  2. 使用md5加密算法完成简单的登录和注册功能

    原理: 登录:后端controller层获取到客户的密码,通过下面代码:new Sha256Hash(pwd).toHex();将密码转换成md5散列,生成一个新的字符串与数据库的值进行比对,根据不同 ...

  3. git安装及基本用法

    安装: 1先安装客户端,选择默认路径,直接下一步就可以了 2安装图形化客户端,选择默认路径安装完成 基本用法: 1同步coding上的文件 在桌面上点击鼠标右键,并选择Git Clone... 打开下 ...

  4. 最短路,dijstra算法

    #include<iostream> #include<stdio.h> #include<math.h> #include<vector> using ...

  5. Locust 参数化

    概述: 和Loadrunner一样对于多用户并发时,重复登入或者数据的重复使用会造成脚本的失败,那么我们引入Loadrunner的参数化概念,对用户数据进行参数化来使脚本运行成功. 头绪:   use ...

  6. spring集成jedis简单实例

    jedis是redis的java客户端,spring将redis连接池作为一个bean配置. redis连接池分为两种,一种是“redis.clients.jedis.ShardedJedisPool ...

  7. Homebrew简介及安装,Mac 包管理

    Homebrew简介及安装 Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两 ...

  8. 在Scrapy中使用selenium

    在scrapy中使用selenium 在scrapy中需要获取动态加载的数据的时候,可以在下载中间件中使用selenium 编码步骤: 在爬虫文件中导入webdrvier类 在爬虫文件的爬虫类的构造方 ...

  9. JAVA常用设计模式(一、抽象工厂模式)

    抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂.该超级工厂又称为其他工厂的工厂.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最 ...

  10. oracle database 11g 如何正确卸载

    如在使用过程中,遇到oracle database 的疑难问题,需要重装的时候,就需要我们先将老的oracle 做完全的卸载删除,这样才能安装新的oracle database. 下面看一下具体的卸载 ...