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自動打開頁面并驗證部署情況