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持续集成

linux+python+robot+jenkins的更多相关文章

  1. Linux Python import jenkins 报错 oserror: /usr/lib/python2.7/site-packages/lookup3.so

    安装了jenkins和Python-jenkins后,在脚本中import jenkins会报错:oserror: /usr/lib/python2.7/site-packages/lookup3.s ...

  2. Linux CentOS下Python+robot framework环境搭建

    Linux CentOS下Python+robot framework环境搭建   by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...

  3. python+robot framework实现测报告定制化和邮件发送

    前面已经介绍了python+robot framework自动化框架和基本原理的实现,详情请看 python+robot framework接口自动化测试 本章主要讲解报告已经产生那如何以自动化的方式 ...

  4. kali linux Python开发环境初始化

    kali linux Python 黑客编程1 开发环境初始化 为什么要选择Python? Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论.Pyth ...

  5. 自动化服务部署(二):Linux下安装jenkins

    jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...

  6. linux服务器使用Jenkins+gradle+git打apk包,报错Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)

    linux服务器使用Jenkins+gradle+git打apk包,遇到的错误Gradle build daemon disappeared unexpectedly (it may have bee ...

  7. 接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0

    基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

  8. 环境部署(二):Linux下安装jenkins

    jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...

  9. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

随机推荐

  1. javascript中的装箱和拆箱操作

    1,装箱: 把基本数据类型转换为对应的引用类型的操作称为装箱,把引用类型转换为基本的数据类型称为拆箱. 在<javascript高级程序设计>中有这样一句话: 每当读取一个基本类型的时候, ...

  2. FZU2282 Wand

    题意 n个数字,要求至少k个数字位置不变,其余进行错排的方案数 分析 错排公式: D(n)=(n-1)[D(n-2)+D(n-1)]  如果n个数字,i个数字位置不变,其余进行错排的的方案数是C(n, ...

  3. Linux下cacti的安装

    Cacti安装手册 第一步.  Cacti的架构 第二步. Cacti的工作流程 第三步. Cacti简介 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用r ...

  4. 微信小程序怎么获取用户输入

    能够获取用户输入的组件,需要使用组件的属性bindchange将用户的输入内容同步到 AppService. <input id="myInput" bindchange=& ...

  5. javascript使用技巧总结,不断更新...

    1.使用a标签来获得当前页面相对地址的绝对地址 function getAbsoluteUrl(url){ var a; if(!a) a = document.createElement('a'); ...

  6. Jquery中extend使用技巧

    在使用Jquery开发的过程中,extend是常用的参数处理函数,特别是对默认值的使用. Jquery的扩展方法原型是: var v=$.extend(dest,src1,src2,[,src3... ...

  7. 基于unittest测试框架的扩展

    1 unittest介绍 Unittest,Python自带的单元测试框架,PyUnit类包含TestResult,TestCase, TestSuite,TextTestResult,TextTes ...

  8. linux 下运行 tomcat

    一开始找不到表名,原来mysql 表名区分大小写. 修改参数 lower_case_table_names=1 成功运行后不能通过浏览器访问! 开启8080端口 一.关闭防火墙 firewall-cm ...

  9. timer实现Grid自动换行(连续相同的id跳到下一行)

    private { Private declarations } FRow: Integer; procedure SetRow(const Value: Integer); public { Pub ...

  10. C#向服务器上传文件问题

    最近在写服务器端web上传的接口.但一直报错,上传不上去,后来发现是在分隔符中出现的问题. 错误的写法: var boundary = "---------------" + Da ...