http://cn.python-requests.org/zh_CN/latest 可以查看requests库的说明,pprint(res.json(),width=30)可以对请求的返回值按照json格式化形式进行打印。
常见的content-type 有application/x-www-form-urlencoded、application/json、application/xml。
自动化测试操作数据库的原因:用例检查、用例数据准备、运维。
node是js语言的解释器,可以用它的npm命令安装appium
android studio 包含android sdk的安装工具,从官网下载安装 也可以下载android studio较老的版本,会内置sdk bundle 是最正规的安装方法
安装jdk,oracle官网,1.8比较稳定,1.7 1.10不稳定
安卓手机连接,进入开发者模式,安装驱动,adb devices -l 查看连接情况
有条件的可以进行一键安装一键搭建自动化环境的集成。
selenium 通过pip install进行安装
下载chromedriver,根据自己的谷歌浏览器找到对应的版本 导入selenium的webdriver包,创建driver=webdriver.Chrome(r'g:\chromedriver.exe') driver.get('url地址')
对页面元素进行批量操作,比如某些元素的选择状态,先通过页面元素审查,找到控制项,find_elements_by_css_selector('#某个div的id 某个css的属性em[class=on]')
jobs = driver.find_elements_by_css_selector('#resultlist div[class=el]')
#遍历文本区,并使用竖线分割多个字段
stringFilelds = [field.text for field in fields]
print(' | '.join(stringFilelds))
#创建一个excel workbook对象
book = xlwt.Workbook()
#增加一个sheet
sh =book.add_sheet('统计')
#写入内容
row = 0
for job in jobs:
fields = job.find_elements_by_tag_name('span')
col = 0
for field in fields:
text = field.text
print(text,end='')
sh.write(row,col,text)
col += 1
print('')
row += 1
#保存文件
book.save('g:\\xxx.xls') 可以将结果保存到一个excel表里面
driver.quit()
python自动化环境自动搭建
预置条件CentOS6 X64 python3 Django Cherrypy 安装好
登录服务器,检查是否有以前的产品运行
如果有原来的代码删除
import paramiko
#自动登录服务器设置
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
ssh.connect("ip地址",端口号,"用户名","密码")
ssh.exec_command("mkdir houge")
怎么使用证书登录linux系统??,暂时只知道帐号密码的形式
exec_command()方法
创建文件夹 mkdir houge
将需要的信息写入到一个python文件
#在文件中写入或修改信息'echo "ip = 192.168.1.2" >cfgabc.py'
#将输出赋值到三个变量,-v grep是去掉grep进程本身
stdin,stdout,stderr = ps -ef|grep apiteach|grep -v grep
#读取数据
output=stdout.read().decode()
if '老版本包含的程序信息' in output:
print('老版本程序运行中。。。准备杀死')
#使用空格分隔多个字符串
parts = output.split(' ')
parts = [part for part in parts if part]
#取出位置在第二的字符串(0是第一个)
pid = parts[1]
ssh.exec_command(f'kill -9 {pid}')
# 再次检查是否有先前的版本
output = ssh.exec_command('ps -ef|grep apiteach|grep -v grep')
if 'xxxx' in output:
print('不能停止的服务!!')
sys.exit(3)
else:
print('停止成功')
#删除原来的代码包
ssh.exec_command('rm -f xxxx.zip')
#上传新代码包
sftp = ssh.open_sftp()
#正斜杠不用转义字符,使用pwd查看服务器上的当前目录
sftp.put(r'f:\xxx\xxx.zip','/home/xxx/xxx.zip')
sftp.close()
#备份原来的安装目录
rm -rf restapi-teach.bak;mv restapi-reach restapi-teach.bak
#解压安装包
('unzip restapi-teach.zip',printOutput=False)
#运行
('cd restapi-teach;chmod +x run.sh;dos2unix run.sh;./run.sh;sleep 5')
#检查是否运行成功
output =('ps -ef|grep apiteach|grep -v grep')
#如果存在表示运行成功
if '老版本包含的程序信息' in output:
print('新版本服务运行成功')
接下去使用selenium自动打开页面并验证部署情况