Jenkins + Robot Framework 安装

检查环境,安装Python和RF

1. 查看版本(适用于Center OS, redhat)

[root@xxxx ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

如果用yum检查不到Python或Chromedriver,或ChromeBrowser,可执行下面2,3

2. 更新rpmforge软件库

http://rpmfind.net/linux/rpm2html/search.php?query=rpmforge-release(x86-64)

在上面路径获取到包路径后,下载:

wget http://rpmfind.net/linux/dag/redhat/el7/en/x86_64/dag/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

扫描二维码关注公众号,回复: 3001206 查看本文章

作用可参考:http://blog.itpub.net/22664653/viewspace-704989/

3. 按照下文更新yum源:

http://mirrors.163.com/.help/centos.html

在使用yum 安装软件的时候同样会遇到

ImportError:No module nameed urlgrabber.grabber

同上面的方法修改一下文件

vi /usr/libexec/urlgrabber-ext-down

4. 按照下文更新python:

https://blog.csdn.net/u010856284/article/details/78049685

更新python注意创建链接的命令是ln -s 目标文件 将生成的链接文件,注意参考文档可能存在错误。

5. 安装pip

回到/usr/local/src,下载:

wget https://bootstrap.pypa.io/get-pip.py

执行:

python get-pip.py

修改/usr/bin/下的所有pip文件,备份后,用/usr/local/python2715/bin下的pip创建链接到/usr/bin下

mv pip pip.bak

mv pip2 pip2.bak

mv pip2.7 pip2.7.bak

ln -s /usr/local/python2715/bin/pip /usr/bin/pip

在root用户的.bash_profile里加入pip的路径

6. 安装RF

pip install robotframework

7. 安装selenium

pip install robotframework-selenium2library

https://pypi.org/project/robotframework-seleniumlibrary/

8. 安装requests

pip install robotframework-requests

9. 安装常用第三方RF库(可选)

https://blog.csdn.net/u013961875/article/details/78670249

10. 需要指定版本安装时,可以:

sudo pip install ipython==8888 #现指定一个不存在的版本以查看可用版本,发现5版本中有5.7.0(你的可能不一样)sudo pip install ipython==5.7.0

11. 安装GCC-C++(可选)

当发现gcc: error trying to exec 'cc1plus': execvp: No such file or directory错误时,需要安装gcc-c++:

yum install gcc-c++

12. 安装GIT

yum install git

13. 增加jenkins用户,tester用户

jenkins用户主路径:/home/jenkins

tester用户主路径:/home/test

在jenkins用户下增加workspace文件夹

在jenkins用户主路径下增加.ssh文件夹,将jenkins测试服务器的jenkins用户(这个要看在jenkins服务器上是否以jenkins用户启动的jenkins)的id_rsa文件拷贝一份放在这里。再在gitlab上,jenkins用户秘钥的pub文件拷贝进去。

尝试用jenkins用户拉取下代码。

以下是在Ubuntu上的部分配置,其中安装chromedriver和chrome浏览器是需要的

apt安装工具(Ubuntu上的安装步骤,CentOS可忽略)

例如,想安装tree工具:

- 先查询tree包:

root@XXXX-01:~# apt list tree

Listing... Done

tree/xenial 1.7.0-3 i386

- 安装tree:

root@XXXX-01:~# apt install tree

其他安装方法:

rpm可以安装包,但不能自动解决依赖包的关系,也无法直接从网上下载包

除了rpm以外,还有yum工具

如果跑case中发现提示没有chrome driver,可以如下逐步排除问题:

1. 如果是没有装chromedriver:

查找chromedriver

root@xxxx-01:~# apt search chromedriver

Sorting... Done

Full Text Search... Done

chromium-chromedriver/xenial-security,xenial-updates,now 66.0.3359.139-0ubuntu0.16.04.3 i386 [installed]

WebDriver driver for the Chromium Browser

chromium-chromedriver-dbg/xenial-security,xenial-updates 51.0.2704.79-0ubuntu0.16.04.1.1242 i386

chromium-chromedriver debug symbols

安装chromedriver

apt install chromium-chromedriver

查找chromedriver的安装路径

dpkg -L chromium-chromedriver

给jenkins用户配置.profile,使之能访问chromedriver:

export PATH=$PATH:/usr/lib/chromium-browser

后来发现从root用户进到jenkins是不会引用这个文件,因此还是修改.bashrc文件。

2. 如果是没有装chrome-browser

安装chrome-browser

apt search chrome-browser

从查询的结果里面找到完整名称,再安装

apt install chrome-browser-stable

若安装不了,需查看原因,是否是操作系统32位无法安装64位程序的问题。(如果是操作系统32位的问题,建议重装操作系统,i386,i686均为32位操作系统,需装amd64即64位系统。)

uname -a

若是找不到安装包,也可以尝试更新本地更新服务器列表:

apt update

还可以手动增加更新服务器路径:

sudo sh -c "echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list"

在centos中安装chrome-browser:

可参考这篇文章:https://blog.csdn.net/u010472499/article/details/72327963

在这里下载安装包:

https://www.chrome64bit.com/index.php/google-chrome-64-bit-for-linux

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

安装过程中如果提示

warning: google-chrome-stable_current_x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 7fac5991: NOKEY

error: Failed dependencies:

libappindicator3.so.1()(64bit) is needed by google-chrome-stable-66.0.3359.181-1.x86_64

在这里可下载到 libappindicator-gtk3

https://pkgs.org/download/libappindicator3.so.1

yum install libappindicator-gtk3.x86_64

chrome的安装路径:

/usr/bin/google-chrome-stable

执行如下命令,顺利的话会提示已经抓图:

google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.sina.com.cn/

chrome的安装还可以参考:

https://blog.csdn.net/zhuyiquan/article/details/79537623

执行pybot

pybot /home/jenkins/workspace/MSP/smoke/TestCase/*.robot

RF case无法打开浏览器:

1. 因为没有用headless模式,具体是修改case里的浏览器名为headlesschrome

2. 因为装了robotframework-extendedselenium2library,而这个库用的robotframework-selenium2library是1.8.0不支持headless模式:

robotframework-extendedselenium2library 0.9.2 has requirement robotframework-selenium2library==1.8.0

解决方法是卸载并重装robotframework-selenium2library

3. chromedriver没装对(运行chromedriver -version检查)

4. google-chrome没装对(ls -al /usr/bin/*chrome* 找到浏览器程序后,直接执行检查结果)

Jenkins配置:

1. 增加Node:

在系统管理,管理节点里添加Node:

将配置好的node产生的agent.jar上传到TestNode服务器的/home/jenkins路径

上图中,agent.sh是在TestNode启动节点的脚本,也在/home/jenkins下:

#!/bin/sh

source /etc/profile

exec java -jar ~/agent.jar

2. 配置JOB

新建JOB

指定只能运行在前面提到的TestNode节点上:

添加Credentials:

这里面的Credentials是在jenkins首页左边菜单里添加:

配置测试脚本所在的GIT库:

配置构建脚本

配置构建后操作

跑下结果:

乱码:

如果在上图中jenkins的RF报告图表有部分字体为乱码,

需要安装字体:

yum install dejavu-sans-fonts.noarch dejavu-sans-mono-fonts.noarch

具体字体是哪些,可以从report.html中看到:

/* Generic and misc styles */

body {

font-family: Helvetica, sans-serif;

font-size: 0.8em;

color: black;

padding: 6px;

background: white;

}

猜你喜欢

转载自blog.csdn.net/hawkzy/article/details/80514723