linux环境安装部署RF+Jenkins+Git(非完整版)


       初衷为想把本地的测试环境放到远程服务端,并配合Git上传拉取代码,以更适合团队协作,这样后面小组成员将只用在本地写UI自动化代码,测试没有问题后,一周提交一次测试代码到远程分支上,再由组长合并分支并使用jenkins构建job,在win节点上执行用例,发送报告到邮箱。以下是配置过程,有点乱,也没有图片,后续会慢慢补充。。。。也可能会把步骤摘出来一篇一篇详细说,到最后其实算是成功了,有点儿小问题就是发送到邮件的报告打不开提示:Opening Robot Framework report failed,这个还没找到解决办法,在本地部署时,用groovy-postbuild插件发送邮件的方式解决了这个问题,但是在linux部署时还是出现了这个问题,暂时先这样吧,后面需要考虑的事情还有很多,比如git的使用、用例书写规范、接口自动化用例(接口考虑在远程端执行)、用例执行效率方面。路还很长,但一直在路上,今天碰巧看到了一篇很棒的文章,其中一句话非常受益,与同为测试的人共勉:

如果系统是整个世界,那么测试就是生活,我们通过生活去认知这个世界。

生活可以很无聊,日复一日千篇一律,生活也可以很精彩,充满激情和挑战。

因人而异,冷暖自知。


1.申请测试服务器
centOS
2.下载linux版python  2.7.14  
https://www.python.org/downloads/source/

3.下载linux版RF  3.0.2
https://pypi.org/project/robotframework/3.0.2/#files
4.下载linux版seleniumLibrary3.0.0
https://pypi.org/project/robotframework-selenium2library/

5.上传文件到服务器
https://www.cnblogs.com/nbf-156cwl/p/8641165.html
    5.1:首先连接上一台Linux主机
    5.2:输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行  yum   -y  install  lrzsz命令进行安装。
    5.3:安装成功后,输入rpm命令确认是否正确安装
    5.4: 使用 rz -y命令进行文件上传,此时会弹出上传的窗口:
6.java安装及环境变量的配置    
vim /etc/profile
source /etc/profile
java -version
在文件最下方或者指定文件添加

export JAVA_HOME=/usr/local/java/jdk1.8.0_161
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

添加如下内容:JAVA_HOME根据实际目录来

export JAVA_HOME=/test/java/jdk1.8.0_11
export JRE_HOME=/test/java/jdk1.8.0_11/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
jdk1.8.0_11

(有效配置)
/root/test/java/jdk1.8.0_11
export JAVA_HOME=/root/test/java/jdk1.8.0_11  
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

7.安装pyhon   2.7.14 
    tar -xvzf Python-2.7.14.tgz
    cd Python-2.7.14    
    ./configure --prefix=/python/python27
    make && make install
    到这一步可以先试试 pyhton 会不会展示信息
    不行的话再参考以下配置环境变量
    https://www.cnblogs.com/knighterrant/p/10719887.html
    https://www.cnblogs.com/momoyan/p/9145100.html
    配置环境变量
    vim /etc/profile
    PATH=/python/python27/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    source /etc/profile
8.安装RF  3.0.2
    tar -xvzf robotframework-3.0.2.tar.gz
    cd robotframework-3.0.2
    python setup.py install
    查看是否安装成功
    pybot --version
    Robot Framework 3.0.2 (Python 3.6.4 on linux2)
9.安装seleniumlibrary
    tar -xvzf robotframework-selenium2library-3.0.0.tar.gz
    chmod 755 robotframework-selenium2library-3.0.0
    cd robotframework-selenium2library-3.0.0
    python setup.py install
    检查
    import Selenium2Library
    如果报错:
    TypeError: __init__() takes exactly 2 arguments (4 given)
    尝试用pip安装
    pip install robotframework-selenium2library
    注:这个命令会安装三个程序  selenium3.141.0、robotframework-3.1.2 、和robotframework-seleniumlibrary-4.0.0 默认安装最新的,并卸载低版本的包,我这边的robotframework3.0.2版本就被卸载了,更新到了3.1.2 不过应该没啥影响,有强迫症或版本要求的可以尝试其他方法。不过前面的安装好像没有什么卵用了  - -
10.安装wxPython
    pip install -U \
    -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/centos-7\
    wxPython
    默认下载最新的。报错-RuntimeError: Python version >= 3.5 required.需要python3.5及以上版本。放弃...
    注:或者可以自己下载wheel文件,然后使用pip安装文件的本地副本,这个没有尝试,因为本来也没打算在linux服务器上执行ui用例(计划在win节点上运行ui用例),wxPython主要也是为了支撑Ride的运行,因此不装也罢除非想在linux环境运行UI用例,权衡利弊后,干嘛给自己找事儿呢linux环境不稳定因素那么多 不装了。
----------------
到这里,其实如果不打算在linux环境执行用例的话,以上那些好像都不用装的,因为是要在win节点上执行的,所以只要保证节点上的RF环境和Git就ok了,但是我后面的计划将接口测试放到linux环境上去,这样想的话其实也不算白费功夫.....。一开始,因为不懂jenkins和git 的工作性质,以为是linux环境通过git拉取到代码后,保存在linux环境,以为通过jenkins会把linux环境的代码分配到win节点上运行(好蠢的想法),所以一股脑的只想在linux环境配置所有东西。虽然我做足的前提准备工作的,但到最后还是走了弯路,也算值了,不知者无过,现在思路很明朗了,转换想法之后,在linux环境的RF和Git配置也不是毫无用处的了。

11.部署jenkins
   就是几个简单的jenkins命令:
    java -jar jenkins.war --httpPort=8081
    nohup java -jar jenkins.war --httpPort=8070 &
    
    保持登录:
    nohup java -jar /app/program/jenkins.war --httpPort=8085
    
    获取安装密匙:
    cat /root/.jenkins/secrets/initialAdminPassword
    安装密匙:
    6099b203eb494613b4d3c7c9fe9293d0
   关闭Jenkins
     只需要在访问jenkins服务器的网址url地址后加上exit。例如我jenkins的地址http://127.0.0.1:8080/            ,那么我只需要在浏览器地址栏上敲下http://127.0.0.1:8080/exit 网址就能关闭jenkins服务.
   重启Jenkies
    http://127.0.0.1:8080/restart
   重新加载配置信息
    http://127.0.0.1:8080/reload
12.构建项目
 
Help for feature: 名字
     描述    
this is a  windows slave
Help for feature: 描述
     并发构建数    
1
Help for feature: 并发构建数
     远程工作目录    
D:\jenkins
Help for feature: 远程工作目录
     标签    
win
Help for feature: 标签

jenkins slave-agent.jnlp安装 provided port 36630 is not reachable报错处理方法
#开启36630端口    
firewall-cmd --zone=public --add-port=40554/tcp --permanent
# 更新防火墙规则
firewall-cmd --reload 


13.Git学习 本地配置 
    $ ssh-keygen -t rsa -C "***@qq.com"
git remote add origin git@github.com:oldinaction/demo.git #其中git@github.com:oldinaction/demo.git是我们github中demo项目的ssh地址

git add . #就可以把所有内容添加到索引库中,注意后面有个点

git commit -m "注释内容" #提交索引库中的内容;-m是参数,表示注释内容,主要用来记录此次操作

git push -u origin master #初次关联远程仓库以后用git push -u origin master将会关联到远程的master 分支上,以后就可以git push不指定参数了
    恢复本地误删的文件
    撤销上次操作:
    git reset HEAD +文件名.后缀
    恢复文件操作:
    git checkout +文件名.后缀
    获取版本号:
    git log –pretty=oneline已经获取到了每次修改的版本号
    版本回退到上个版本(回退到上上个版本加两个^^):
    git reset –hard HEAD^
    回退到某一个版本号:
    git reset –hard +版本号就好了。比如刚才我要回退到21a77版本就可以使用git reset –hard 21a77
    查看命令历史记录:
    git reflog
    删除本地仓库文件:
    使用git rm test.txt 之后再git commit –m “remve test.txt”发现我们的本地库里的文件已经被删除了
    删错了的话,使用命令git checkout – test.txt就发现这个文件已经还原
    建立新分支名称为dev:
    git checkout -b dev
    查看所有分支:
    git branch
    切换回master分支:
    git  checkout master
    删除dev分支:
    git branch –d dev
    合并dev分支:
    git merge dev
    冲突处理(同行代码不一致引起的冲突和删除文件引起的冲突):
    https://blog.csdn.net/qq_39207948/article/details/81393922
    
    注意:
    在工作区如果想删掉某个文件,这个时候我们可以把这个文件直接删掉,然后再git add ,就好了。但也可以通过git checkout +文件名.后缀。此时我们发现那句话已经没有了。这种情况适用于我们没有git add到暂存区之前。如果我们已经git add到暂存区了,怎么撤销修改呢。我们可以使用命令 git  reset HEAD +文件名.后缀,先撤销暂存区的修改,然后我们可以通过命令git diff查看暂存区和工作区有什么不同,之后我们可以通过命令git checkout –index.html 发现已经修改好了。但是万一我们已经提交到仓库里呢怎么办呢,也就是我们git commit了,那就要使用我们上面所说的版本回退了git reset –hard +版本号。
14.Git linux端配置
    jenkins安装git和ssh插件
    插件管理中搜索git plugin 或者github,和SSH plugin 直接安装。
    输入命令 ssh-keygen -t rsa -C "test@email.com" 生成SSH公钥私钥
    邮箱需要输入自己的邮箱。
    生成公钥私钥时有输入框提示你输入文件地址和密码,直接回车跳过,使用默认地址,不设置密码。
    输入命令 tail /root/.ssh/id_rsa.pub 获取公钥:
ssh-rsa BAAAB3NzaC1yc2EAAAADAQABAAABAQDHa85OhNLaZA8ovn4pfTZdjt/frgEHkV8QAsjt0er8YS/oiMTod/GMiSYopfxkbxGAB0+cBBq5+PHqQ43ZcQQrfOa3t3ThHVOVBOgdEZJDbpYpFhH0Sxg1iFMtSX2/JcDbxMXh0xP5RCv0ZEZCvrIOv8q/G6Dr/VjHyWRWnI1s/9AmleNOPS+awk/r5gZHKhV8ZoDIt4OlY+ziHcc6bqC5+zw7j7Sg9JuNmVP/XvI+vlYEaCtuaE/OSu6RMR1DGUwa3AKMnTkLy5fMLFPgM8OyP4gnKqReJ35VZ9KAgFzQHtatlP7981LPdIDGfTYFVh+XIYrH3wEpuWT5JIioOGDh **@qq.com
    
pybot.bat E:\tool\python2.7\RF\魔方后台\模块测试\互动社区\板块管理\testbaidu.txt
pybot.bat D:\hyztest\test_baidu1\open_brower.txt    
pybot.bat D:\jenkins\workspace\testgit\test_baidu1\open_brower.txt

15.邮件发送配置
    linux下 .jenkins 目录下创建名为email-templates文件夹
    在该文件夹下上传:robot_results.groovy文件
     系统设置-Default Content的默认值:
    $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
    Check console output at $BUILD_URL to view the results.
    修改为:
    ${SCRIPT,template=”robot_results.groovy”}
    Opening Robot Framework report failed报错问题暂无法处理,
--------------------------------分界线-------------------------------
太乱了,自己看了一遍还是觉得乱,本来也是从记事本直接粘过来 的,后面慢慢整理吧,时间紧任务重,祖国还未统一,加油加油~

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值