linux+python+robot+jenkins

1、安装python

  • 安装devtoolset

# yum groupinstall “Development tools”

  • 安装编译Python需要的包

# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel

  • 安装Python

# wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
# tar jxvf Python-2.7.5.tar.bz2
# cd Python-2.7.5
# ./configure
# make && make install

安装完成后,Python可执行文件通常安装到/usr/bin目录下,库文件则通 
常安装在/usr/local/lib/python2.x 目录下。

默认安装位置:

  • 设置软连接

[root@localhost Python-2.7.5]# mv /usr/bin/python /usr/bin/python2.6

[root@localhost Python-2.7.5]#ln -s /usr/local/bin/python /usr/bin/python

 

  • 更改yum配置

[root@localhost Python-2.7.5]# vi /usr/bin/yum 

     #!/usr/bin/python改为 #!/usr/bin/python2.6

 

2、安装pip

 

python setup.py install报错提示

python setup.py install  

ImportError: No module named setuptools  


解决的方案如下:

下载:http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg

然后执行:

sh setuptools-0.6c11-py2.7.egg    

安装完setuptools后,就能再次使用

python setup.py install  

3、安装robotframework

pip install robotframework

pip list

 find / -name robot

/usr/local/lib/python2.7/site-packages/robot

/usr/local/bin/robot

4、安装requests

pip install requests

5、安装mysql

1) 安装依赖包

yum -y install python-devel mysql-devel

 

 

使用whereis python 命令查找,可以看到目前centos系统中安装了两个python版本,分别为python2.6和python2.7。修改/usr/bin/yum文件

打开/usr/bin/yum文件,替换为python的正确路径,即可解决问题。将文件中的#!/usr/bin/python修改为

#!/usr/bin/python2.6

 

 

安装成功

2)安装MySQLdb-python模块

下载https://pypi.org/project/MySQL-python/1.2.5/#files

 

 

unzip MySQL-python-1.2.5.zip -d mysql

找到本地MySQL安装目录下的mysql_config,将site.cfg文件中mysql_config修改为该地址,并将threadsafe修改为False.

 

 

编译和安装

python setup.py build

python setup.py install

import MySQLdb

6、安装自定义库与第三方库

自定义库放到以下路径:

/usr/local/lib/python2.7/site-packages

 

 

安装第三方库,如qiniu

 

unzip python-sdk-7.2.0-qiniu.zip –d qiniu

python setup.py install

7、pybot命令

1、执行整个项目下的所有用例: pybot 项目路径。例如: pybot D:\robot

2、执行某个suit中的所有用例: pybot 项目路径\suit文件名称。 例如:pybot D:\robot\test.txt

3、执行具体的某个用例的用例:pybot --test 用例名称 项目路径\suit文件名称。例如:pybot --test case_1_user log in D:\robot\test.txt

pybot -l /root/automation/ppyun_test/log.html -r /root/automation/ppyun_test/report.html -o /root/automation/ppyun_test/output.xml --test "1.1 获取AccessToken" /usr/local/mysoftware/PP云/接口/api接口.txt

4、执行项目中指定标签的案例: pybot --include tagName C:\TF-Test

6、jenkins添加job

1、添加job

 

 

 

2、安装expect,将测试报告从远程linux下载到jenkins机器(麻烦)

安装包安装(没成功)

https://www.cnblogs.com/kevingrace/p/5900303.html

安装tcl

(1)解压tcl,进入tcl解压目录,然后进入unix目录进行编译安装
[root@xw4 src]# tar -zvxf tcl8.4.11-src.tar.gz
[root@xw4 src]# cd tcl8.4.11/unix
[root@xw4 unix]# ./configure
[root@xw4 unix]# make && make install

遇到以下问题的话需要安装gcc

 

 

安装gcc

yum install gcc-c++

安装完成后,再次执行:

[root@xw4 unix]# ./configure
[root@xw4 unix]# make && make install

(2)安装expect
[root@xw4 src]# tar -zvxf expect-5.43.0.tar.gz
[root@xw4 src]# cd expect-5.43.0
[root@xw4 expect-5.43.0]# ./configure --with-tclinclude=/usr/local/src/tcl8.4.11/generic --with-tclconfig=/usr/local/lib/
[root@xw4 expect-5.43.0]# make && make install

(3)安装完成后进行测试
[root@xw4 ~]# expect
expect1.1> 
expect1.1>

yum安装(成功了)

which gcc

yum install gcc-c++

gcc –c

yum list |grep expect

yum install expect.x86_64

expect

expect脚本

1、测试scp脚本,将10.200.9.209下的/tmp/log.html拉取到/tmp/log.html

scp root@10.200.9.209:/tmp/log.html /tmp/log.html

 

测试通过

2、将expect脚本放到/test下:

[root@jenkins-ppyun test]# cat expect_scp

#!/usr/bin/expect

set timeout 10

set host [lindex $argv 0]

set username [lindex $argv 1]

set password [lindex $argv 2]

set src_file [lindex $argv 3]

set dest_file [lindex $argv 4]

spawn scp $username@$host:$src_file $dest_file

 expect {

 "(yes/no)?"

  {

  send "yes\n"

  expect "*assword:" { send "$password\n"}

 }

 "*assword:"

{

 send "$password\n"

}

}

expect "100%"

expect eof

运行命令./expect_scp 10.200.9.209 root Abcd1234 /tmp/log.html /tmp/log.html

 

测试实现

3、添加公钥文件,实现将测试报告从远程linux下载到jenkins机器(更方便)

1)主机A生成key,这时可以在主机A上看到生成的秘钥~/.ssh/id_rsa 和公钥 ~/.ssh/ id_rsa.pub

ssh-keygen -t rsa

2)获取主机A公钥 ~/.ssh/ id_rsa.pub

cat ~/.ssh/id_rsa.pub

3)将主机A上的公钥放到主机B上

scp -r /root/.ssh/id_rsa.pub 192.168.31.147:/root/.ssh/authorized_keys

这时候,从A通过scp命令传文件到B上就不用输入密码了。

7、jenkins持续集成

 

 

posted @ 2018-05-14 18:33  韩家姐姐  阅读(312)  评论(0编辑  收藏  举报