python中node.tag的用法_python在ui自動化中的一些常見用法

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394296.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394296.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394296.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode1039. 多邊形三角剖分的最低得分(動態規劃)

給定 N,想象一個凸 N 邊多邊形,其頂點按順時針順序依次標記為 A[0], A[i], …, A[N-1]。 假設您將多邊形剖分為 N-2 個三角形。對于每個三角形,該三角形的值是頂點標記的乘積,三角剖分的分數是進行三角剖分后所有 N-2 個三角形的…

TRIZ解決問題方法

個人覺的成功是有規律的,那些成功的人士,都有一套處理事情的秘籍。只要我們的思維方式把那些秘籍融會貫通,并快速執行,我們有一天也會成功的。 TRIZ解決問題的5點方法。 1.確定最終目標。 2.列出阻礙因素 3.消除阻礙因素 4.可以利…

windows調用python_windows 快捷調用Python語言

本文主要向大家介紹了windows 快捷調用Python語言,通過具體的內容向大家展示,希望對大家學習Python語言有所幫助。場景1:某云平臺的賬號/或密碼比較長,一旦瀏覽器緩存失效,就要去郵件/文件查找,費時費力場景…

《量化投資:以MATLAB為工具》連載(1)基礎篇-N分鐘學會MATLAB(上)

http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html 《量化投資:以MATLAB為工具》連載(1)基礎篇-N分鐘學會MATLAB(上) 《量化投資:以MATLAB為工具》簡介 《量化投資:以MATLAB為工具》是由電子工業出版社&#xff0…

android-開源項目_我如何擺脫對開源的恐懼,并開始了自己的項目-以及如何做到。...

android-開源項目by Linea Brink Andersen通過Linea Brink Andersen 我如何擺脫對開源的恐懼,并開始了自己的項目-以及如何做到。 (How I crushed my fear of open source and started my own project — and how you can, too.) A week ago, I started an Open So…

本題要求實現函數輸出n行數字金字塔。_練習5-3 數字金字塔 (15分)

本題要求實現函數輸出n行數字金字塔。函數接口定義&#xff1a;void pyramid( int n );其中n是用戶傳入的參數&#xff0c;為[1, 9]的正整數。要求函數按照如樣例所示的格式打印出n行數字金字塔。注意每個數字后面跟一個空格。裁判測試程序樣例&#xff1a;#include <stdio.…

leetcode167. 兩數之和 II - 輸入有序數組(二分查找)

給定一個已按照升序排列 的有序數組&#xff0c;找到兩個數使得它們相加之和等于目標數。 函數應該返回這兩個下標值 index1 和 index2&#xff0c;其中 index1 必須小于 index2。 說明: 返回的下標值&#xff08;index1 和 index2&#xff09;不是從零開始的。 你可以假設每…

thinkcmf 橫向排列數據_利用python進行數據分析之數據清洗規整

1.處理缺失值數據使用dropna()時&#xff0c;注意里面參數axis、how、thresh的用法使用fillna()時&#xff0c;注意里面參數value、method、inplace、limit的用法2.數據轉換去重data.drop_duplicates(keeplast)#注意keep的用法映射map&#xff08;&#xff09;針對的是一維數組…

v$asm_diskgroup中state的說明

1.使用oracle賬號連接數據庫&#xff0c;查看v$asm_diskgroup 2.使用grid賬號連接ASM實例&#xff0c;查看v$asm_diskgroup 3.官方v$asm_diskgroup關于state的解釋 https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-ASM_DISKGROUP.html#GUID-5CF77719-7…

AutoMapper的介紹與使用(二)

AutoMapper的匹配 1&#xff0c;智能匹配 AutoMapper能夠自動識別和匹配大部分對象屬性: 如果源類和目標類的屬性名稱相同&#xff0c;直接匹配&#xff0c;不區分大小寫目標類型的CustomerName可以匹配源類型的Customer.Name目標類型的Total可以匹配源類型的GetTotal()方法…

站長快訊 WordPress跨站攻擊漏洞修補

WordPress中發現一些漏洞&#xff0c;攻擊者利用該漏洞可以發起跨站腳本攻擊&#xff0c;繞過WordPress安全性限制&#xff0c;獲取較為敏感的修訂歷史記錄的信息&#xff0c;或者綁架站點以用于DDoS攻擊。 CVE ID CVE-2015-8834 CVE-2016-5832 CVE-2016-5834 CVE-2016-5835 C…

暢通無阻的公式:乘員組從幾乎破產變成了吸引500萬游客的方式

How could you go from almost no traction and running out of money, to getting millions of visitors to your website?您怎么能從幾乎沒有牽引力和資金用盡的角度&#xff0c;如何吸引數百萬的網站訪問者&#xff1f; You could do like Crew accidentally did with Uns…

leetcode1302. 層數最深葉子節點的和(深度優先搜索)

給你一棵二叉樹&#xff0c;請你返回層數最深的葉子節點的和。 代碼 class Solution {int[] depthnew int[]{Integer.MIN_VALUE,0};//記錄最深層數和對應的和public int deepestLeavesSum(TreeNode root) {if(rootnull) return 0;deep(root,0);return depth[1];}public void d…

Python筆記 【無序】 【五】

描述符 將某種特殊類型的類【只要實現了以下或其中一個】的實例指派給另一個類的屬性 1.__get__(self,instance,owner)//訪問屬性&#xff0c;返回屬性的值 2.__set__(self,instance,value)//將在屬性分配【即賦值】中調用&#xff0c;不返回任何內容 3.__delete__&#xff08;…

化工圖紙中LISP_化工設備廠參展模型設計制作

最近這個案子是受某化工設備企業委托做四套設備模型 用來參加展會在模型制作過程中&#xff0c;這類案例經常遇到。但是客戶所提供的CAD圖紙&#xff0c;往往是實物尺寸在進行縮放的過程中常會造成過薄和過于精細的情況出現眼下技術小哥就遇到這類情況讓我們先看看客戶提供的C…

社交大佬們的數據“大”在哪里?

文章講的是社交大佬們的數據“大”在哪里&#xff0c;“別說忙&#xff0c;沒工夫看書&#xff0c;你那刷FB/朋友圈的工夫騰出來&#xff0c;保證每周啃下一本”&#xff0c;小編身邊總充斥著這樣的“訓話”。 額&#xff0c;奈何我每天的工作離不開從社交媒體中獲取信息&#…

微信支付JsAPI

https://pay.weixin.qq.com/wiki/doc/api/download/WxpayAPI_php_v3.zip 下載獲取微信支付demo壓縮包打開壓縮包&#xff0c;并將其中 WxpayAPI_php_v3\example下的 jsapi.php log.php WxPay.JsApiPay.php WxPay.MicroPay.php WxPay.NativePay.php 解壓縮到根目錄 tellingtent/…

mysql 多數據源訪問_通過Spring Boot配置動態數據源訪問多個數據庫的實現代碼

之前寫過一篇博客《SpringMybatisMysql搭建分布式數據庫訪問框架》描述如何通過SpringMybatis配置動態數據源訪問多個數據庫。但是之前的方案有一些限制(原博客中也描述了)&#xff1a;只適用于數據庫數量不多且固定的情況。針對數據庫動態增加的情況無能為力。下面講的方案能支…

我如何將Google I / O 2018的興奮帶給尼日利亞沃里的115個人

Google Developer Group Warri的第一個I / O擴展事件的故事 (A tale of Google Developer Group Warri’s first I/O Extended event) Google I/O is one of the largest developer festivals in the tech ecosystem. I am the lead organizer for the Google Developer Group …

菜鳥postman接口測試_postman 接口測試(轉)

本文轉載自testerhome&#xff1b;作者&#xff1a;xinxi1990 &#xff1b;原文鏈接&#xff1a;https://testerhome.com/topics/18719&#xff1b;轉載以分享知識為目的&#xff0c;著作權歸原作者所有&#xff0c;如有侵權&#xff0c;請聯系刪除。postman使用創建用例集啟動…