python中node.tag的用法_python在ui自动化中的一些常见用法
http://cn.python-requests.org/zh_CN/latest 可以查看requests庫的說明,pprint(res.json(),width=30)可以對(duì)請(qǐng)求的返回值按照json格式化形式進(jìn)行打印。
常見的content-type 有application/x-www-form-urlencoded、application/json、application/xml。
自動(dòng)化測(cè)試操作數(shù)據(jù)庫的原因:用例檢查、用例數(shù)據(jù)準(zhǔn)備、運(yùn)維。
node是js語言的解釋器,可以用它的npm命令安裝appium
android studio 包含android sdk的安裝工具,從官網(wǎng)下載安裝 也可以下載android studio較老的版本,會(huì)內(nèi)置sdk bundle 是最正規(guī)的安裝方法
安裝jdk,oracle官網(wǎng),1.8比較穩(wěn)定,1.7 1.10不穩(wěn)定
安卓手機(jī)連接,進(jìn)入開發(fā)者模式,安裝驅(qū)動(dòng),adb devices -l 查看連接情況
有條件的可以進(jìn)行一鍵安裝一鍵搭建自動(dòng)化環(huán)境的集成。
selenium 通過pip install進(jìn)行安裝
下載chromedriver,根據(jù)自己的谷歌瀏覽器找到對(duì)應(yīng)的版本? 導(dǎo)入selenium的webdriver包,創(chuàng)建driver=webdriver.Chrome(r'g:\chromedriver.exe') driver.get('url地址')
對(duì)頁面元素進(jìn)行批量操作,比如某些元素的選擇狀態(tài),先通過頁面元素審查,找到控制項(xiàng),find_elements_by_css_selector('#某個(gè)div的id 某個(gè)css的屬性em[class=on]')
jobs = driver.find_elements_by_css_selector('#resultlist div[class=el]')
#遍歷文本區(qū),并使用豎線分割多個(gè)字段
stringFilelds = [field.text for field in fields]
print(' | '.join(stringFilelds))
#創(chuàng)建一個(gè)excel workbook對(duì)象
book = xlwt.Workbook()
#增加一個(gè)sheet
sh =book.add_sheet('統(tǒng)計(jì)')
#寫入內(nèi)容
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') 可以將結(jié)果保存到一個(gè)excel表里面
driver.quit()
python自動(dòng)化環(huán)境自動(dòng)搭建
預(yù)置條件CentOS6 X64? python3 Django Cherrypy 安裝好
登錄服務(wù)器,檢查是否有以前的產(chǎn)品運(yùn)行
如果有原來的代碼刪除
import paramiko
#自動(dòng)登錄服務(wù)器設(shè)置
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
ssh.connect("ip地址",端口號(hào),"用戶名","密碼")
ssh.exec_command("mkdir houge")
怎么使用證書登錄linux系統(tǒng)??,暫時(shí)只知道帳號(hào)密碼的形式
exec_command()方法
創(chuàng)建文件夾 mkdir houge
將需要的信息寫入到一個(gè)python文件
#在文件中寫入或修改信息'echo "ip = 192.168.1.2" >cfgabc.py'
#將輸出賦值到三個(gè)變量,-v grep是去掉grep進(jìn)程本身
stdin,stdout,stderr = ps -ef|grep apiteach|grep -v grep
#讀取數(shù)據(jù)
output=stdout.read().decode()
if '老版本包含的程序信息' in output:
print('老版本程序運(yùn)行中。。。準(zhǔn)備殺死')
#使用空格分隔多個(gè)字符串
parts = output.split(' ')
parts = [part for part in parts if part]
#取出位置在第二的字符串(0是第一個(gè))
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('不能停止的服務(wù)!!')
sys.exit(3)
else:
print('停止成功')
#刪除原來的代碼包
ssh.exec_command('rm -f xxxx.zip')
#上傳新代碼包
sftp = ssh.open_sftp()
#正斜杠不用轉(zhuǎn)義字符,使用pwd查看服務(wù)器上的當(dāng)前目錄
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)
#運(yùn)行
('cd restapi-teach;chmod +x run.sh;dos2unix run.sh;./run.sh;sleep 5')
#檢查是否運(yùn)行成功
output =('ps -ef|grep apiteach|grep -v grep')
#如果存在表示運(yùn)行成功
if '老版本包含的程序信息' in output:
print('新版本服務(wù)運(yùn)行成功')
接下去使用selenium自動(dòng)打開頁面并驗(yàn)證部署情況
總結(jié)
以上是生活随笔為你收集整理的python中node.tag的用法_python在ui自动化中的一些常见用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。