jenkins使用开始踩坑(1)

一.前戏

话说上一篇文章安装完 JDK 和 jenkins 之后 , 在使用的时候遇到了很多问题,现在一一和大家分享一下

二.问题1

1.目的:因为第一次使用jenkins,不太会用,给自己的一个小目标就是执行一个python的脚本

2.过程

前期也没有配置jenkins 直接打开就开始新建任务(过程省略,啥都没配置,只是执行了这样一个命令 python *.py),刚开始学或者已经用过的同学应该能看懂我说的啥。

好,继续,接下来就是【立即构建】,问题来了,执行这么简单的一个脚本既然给我报错。没错了,报错信息意思找不到selenium包

ft1.1: ImportError: Failed to import test module: LoginTc
Traceback (most recent call last):
  File "C:\Python36\lib\unittest\loader.py", line 428, in _find_test_path
    module = self._get_module_from_name(name)
  File "C:\Python36\lib\unittest\loader.py", line 369, in _get_module_from_name
    __import__(name)
  File "D:\Petrochina_Retail_Test_Project\retail\test_case\LoginTc.py", line 11, in <module>
    from retail.test_case.models.myunit import MyunitTest
  File "D:\Petrochina_Retail_Test_Project\retail\test_case\models\myunit.py", line 7, in <module>
    from retail.test_case.models.driver import WDriver
  File "D:\Petrochina_Retail_Test_Project\retail\test_case\models\driver.py", line 7, in <module>
 from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'

  
3.解决:再IDE中运行这个脚本没有问题,在cmd下运行也没有问题,很伤, 查看各种环境变量 发现没有问题,于是卸载jenkins重新安装试试,发现还是不行,经过几个小时的折腾,发现确实在python安装目录的C:\Python36\Lib\site-packages 下面没有selenium包。之前可能被cmd和IDE给忽悠了,我去找了一下IDE中在哪里引入seleniium包,关键来了,看图:

你现在看到的目录是我改过后的,原来的目录是:c:\users\v-xug\appdata\roaming\python\python36\site-packages 很奇怪为什么会在这,原来是安装的时候我自己设置到了这个目录,导致jenkins在找selenium包找不到,于是把selenium 复制到python的目录里面,再次构建

三.问题2

1.过程:发现新问题了,脚本是执行了而且jenkins控制台也没有报错,但是我的脚本里面有执行打开浏览器的操作,可以实际我并没有看见浏览器被打开,就执行结束了

2.解决:伤心呀!百度。找到这样一篇文章 Jenkins调度Selenium脚本不打开浏览器解决办法

于是按照上面步骤开始操作,问题来了 我发现我运行不了java命令,提示信息是说 我的JDK是11 而jenkins 需要运行JDK8 于是卸载JDK 重新安装8的版本。一步一步,都做完之后惊喜的发现真的解决了,很开心! 这篇文章写的很乱,因为好多东西我没有记录,没法看到一些错误信息,但是大体的问题就是这样,希望遇到一样的情况的同学能帮到你一点点小忙。

Jenkins调度Selenium脚本不打开浏览器解决办法

The web browser doesn’t show while run selenium test via jenkins
原因:因为jenkins是用windows installer 安装成 windows的服务了,那么jenkins是一个后台服务,所以跑selenium cases 的时候不显示浏览器
  
解决办法:

Step 1. Control Panel(控制面板) -> Administrative Tools(管理工具) -> Services(服务)
找到Jenkins,右键菜单,执行stop; 右键菜单 “属性” start type 选择“Disabled” 点击 应用,点击确定。(这一步目的:让jenkins不在以windows 服务的方式在后台运行)
  
Step2. 通过命令行启动Jenkins
java -jar “D:\Program Files (x86)\Jenkins\jenkins.war”
当然,大家也可以做个bat文件,以后每次启动jenkins,双击运行这个bat文件就OK了,bat文件内容如下:
  

echo "Jenkins CI automation testting"
java -jar "D:\Program Files (x86)\Jenkins\jenkins.war"
pause

Step3. 重新创建Jenkins的Job,重新配置,在执行测试
问题解决了。
  
注意问题:

(1)通过这种方式启动jenkins,之前以windows service 启动jenkins的数据都丢失了,需要重新创建job。
(2)之前以windows service 启动jenkins中安装的插件也没有了,需要重新安装所需插件。

标签:Jenkins 发布于:2019-10-20 02:01:29