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 |
安装完成后,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的更多相关文章
- 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 ...
- Linux CentOS下Python+robot framework环境搭建
Linux CentOS下Python+robot framework环境搭建 by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...
- python+robot framework实现测报告定制化和邮件发送
前面已经介绍了python+robot framework自动化框架和基本原理的实现,详情请看 python+robot framework接口自动化测试 本章主要讲解报告已经产生那如何以自动化的方式 ...
- kali linux Python开发环境初始化
kali linux Python 黑客编程1 开发环境初始化 为什么要选择Python? Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论.Pyth ...
- 自动化服务部署(二):Linux下安装jenkins
jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...
- 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 ...
- 接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
- 环境部署(二):Linux下安装jenkins
jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
随机推荐
- 谈谈contentWindow 和contentDocument以及 iframe
1,contentWindow:是用来获取子窗口的window对象的,它兼容各大浏览器,用法如下 document.getElementById("iframeId").conte ...
- C#中用SerialPort类中的Write()方法发送十六进制数
在C#中用SerialPort类中的Write()方法向串口发送十六进制数的方法: MSDN对SerialPort::Write()是这样解释的: 将数据写入串行端口输出缓冲区. 重载列表 名称 ...
- [019] Android平台调用WebService详解
http://blog.csdn.net/lyq8479/article/details/6428288/ http://www.cnblogs.com/gzggyy/archive/2011/06/ ...
- java Web jsp和servlet的关系
JSP在本质上就是SERVLET,但是两者的创建方式不一样Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观JSP由HTML代码和JSP标签构 ...
- Codeforces 1120D (树形DP 或 最小生成树)
题意看这篇博客:https://blog.csdn.net/dreaming__ldx/article/details/88418543 思路看这篇:https://blog.csdn.net/cor ...
- WDCP从php5.2升级到5.3的办法,以及升级过程中iconv错误的处理
从wdcp官方论坛我们可以找到一个询问升级的帖子,然后管理员在回复中也提供了升级方法: cd /tmp wget -c http://dl.wdlinux.cn:5180/soft/php-5.3.1 ...
- libcurl用法
本文以向百度搜索开放平台搜索关键字所对应的推荐搜索条目为例子: url:http://m.baidu.com/su?wd=%s&action=opensearch&ie=utf-8 ( ...
- Java虚拟机学习总结之OutOfMemoryError异常
参考:深入理解java虚拟机一书 开始之前,我们也应当搞清楚连个概念,内存泄漏Memory Leak 内存溢出: 内存泄漏:程序中间动态分配了内存,但是在程序结束时没有释放内存,造成这部分内存不可用. ...
- Oracle——分组函数
AVG(平均值)和 SUM (合计)函数 可以对数值型数据使用AVG 和 SUM 函数. AVG组函数忽略空值 --在组函数中使用NVL函数 --求平均值 )) MIN(最小值)和 MAX(最大值)函 ...
- MVC下的cshtml和aspx页面
MVC中的aspx页面是System.Web.Mvc.ViewPage类的实例. 表示将视图呈现为 Web 窗体页所需的属性和方法. 继承层次结构 System.Object System.Web.U ...