Ⅰ 怎麼用python對qq登錄界面寫測試腳本
1. 用Python封裝被測試介面,對於HTTP介面我們通常會採用 GET和POST 2種調用方式去訪問,所以必須把這2種方式都封裝進去
# -*- coding:gb2312 -*-
import urllib2,urllib
'''
函數說明:url 特殊字元編碼轉換
作者:xiaonan
輸入參數:待轉換的字元串數據
輸出參數:轉換完成後的字元串數據
'''
def urlcode(data):
return urllib2.quote(str(data))
'''
函數說明:獲取用戶信息的API介面
作者:xiaonan
輸入參數:用戶名(uname),HTTP介面調用方式(GET或者POST)
輸出參數:HTTP介面調用返回數據
'''
def GetUserInfo(uname,method):
if method == 'GET':
url = 'http://ip:port/interface/GetUserInfo.php?uname='+urlcode(uname)
result = urllib2.urlopen(url).read()
return result
if method == 'POST':
url = 'http://ip:port/interface/GetUserInfo.php'
values = {'uname' : uname}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
result = response.read()
return result
2. 編寫、組織測試腳本, 准備測試數據
根據Testcase的具體業務邏輯用事先准備好的測試數據去調用封裝好的API介面,驗證實際返回結果是否與預期返回結果一致.
測試數據可以以各種形式存放,如Excel數據表:
TestCaseName uname method Expected Result
TestCase1 aaaa GET ....
TestCase2 aaaa POST ....
TestCase3 bbbb GET ....
... ... ... ....
# -*- coding:gb2312 -*-
import xlrd
'''
函數說明: Testcase 腳本
作者:xiaonan
輸入參數:測試數據,API介面
輸出參數:測試日誌,測試報告
'''
def GetUser():
bk = xlrd.open_workbook(excel文件名稱) # 打開excel文件
sh = bk.sheet_by_name(excel表名)# 打開excel表
nrows = sh.nrows # 獲取總行數
for i in range(1,nrows):
TestCase = sh.cell_value(i,0)
uname = sh.cell_value(i,1)
method = sh.cell_value(i,2)
EX_Result=sh.cell_value(i,3)
WriterLog('Testcase Name:'+TestCase+'TestData: uname = '+uname+' ,method = '+method+' ,EX_Result = ' + ,EX_Result) # 寫測試日誌
AC_result = GetUserInfo(uname,method) # 調用API介面
WriterLog('AC_result = ' + AC_result) # 寫測試日誌
if EX_Result == AC_result: #實際結果與預期結果對比
WriterLog(...) #寫測試日誌
WriterReport(...)#寫測試報告
else
WriterLog(...)#寫測試日誌
WriterReport(...)#寫測試報告
3. 組織測試套,用驅動文件去調用執行所有測試套件,完成相關測試,並生成測試日誌及測試報告.
# -*- coding:gb2312 -*-
'''
函數說明: Testsuit Driver驅動腳本
作者:xiaonan
輸入參數:TestCase 腳本
輸出參數:測試日誌,測試報告
'''
if __name__ == '__main__':
...
WriterLog() #寫測試日誌
GetUser() # TestCase 腳本
...
...
Report(....) # 統計匯總所有測試報告數據,以文件或頁面形式呈現.
4. 執行測試腳本,分析測試結果. 根據測試報告,如果有Bug則提交.
Ⅱ Python用UDP模擬QQ問題
這個問題很有意思!我也想了很久。如果大家了解UDP和TCP的區別。很多人會告訴你。TCP協議因為是可靠的!它會驗證信息是否發送到目的地。而且TCP連接和斷開時都會經過看似漫長3次握手。而UDP因為是不可靠的
它沒有驗證機制更沒有什麼握手打招呼!我們聊天肯定希望速度越快越好不要有延時,所以有很多人或許會告訴你UDP比TCP快得多!所以QQ用UPD。
這個從理論上講是對的!但大家忽視了一個客觀因素。也就是TCP的驗證和3次握手到底能用多少時間,這里可以告訴你最多不會超過0.5秒也就是500毫秒
這個速度玩游戲的人都知道很慢了。如果說0.5秒你覺得我估計少了那麼1秒怎麼也夠了吧
對於我們人來說1秒不是眨眼的功夫嗎。所以說以上所說不是QQ使用UDP的原因,起碼不是主要原因。(其實QQ也有驗證機制,只不過這個驗證機制是由應用伍則層其他協議完成的)那麼就要更深一層去探討UDP和TCP
在傳輸上區別了。首先我個人認為最主要是UPD包比TCP包要少12個位元組。12個位元組枝凳差距雖然很微小
但量變到一定程度那就有質的變化。現在我們2M寬頻理論256KB
每秒,就算200KB吧
等於1600個位元組
大家可以算這個差距。還有一個更深層原因也就是UDP「素質」很差。TCP就很紳士。
為什麼說UDP素質不高
是因為UDP就像馬路腔搭棚那種見縫插幀的司機
誰也不讓
拼了命往前沖
不管你路上有多擠
更不會去想維持一下次序。TCP就不會!一旦TCP覺得路上擁擠就會自覺降低發送速度
他會努力維護次序。這樣一進一退差距就大了。所以我覺得這才是QQ使用UDP的主要原因!也似乎也符合騰訊一貫作風
呵呵
MSN使用TCP
就要慢一些
不信你可以試試
Ⅲ python 怎樣模擬用戶 登陸qq
用urllib2
例陸宴尺如:
url = 'http://i.qq.com/'
data = {'name': 'username','password': '早高123456'}
post_data = urllib.urlencode(data)
req = urllib2.Request(url, post_data)
response = urllib2.urlopen(req)
page_content = response.read()
這個data這里是隨便寫的, 你自己用祥扮抓包工具看看是qq空間是什麼樣子的。
Ⅳ 怎麼樣登陸qq
按照以下步驟登錄QQ:
電腦上:
1、首先點擊桌面上的QQ軟體,進入登錄界面 。
2、在登錄界面里分別輸入qq賬號和密碼 。
3、然後可以在下面的自動登錄和記住密碼都打上勾,這樣以後一開機qq就會自動登錄,後期的登陸也不用再每次都輸入密碼了 。
4、點擊登陸之後,這樣就登陸上qq了
手機上:
1、我們在手機上用QQ號登錄,按住界面上的任何一個地方向右劃一下。
2、選擇「設置」。 選擇「手機號碼」。 在手機號碼登錄右邊選擇「啟用」。
3、現在我們就可以用手機號擾滲散碼登錄QQ了。 需先綁定手機後才可以啟用手機登喊閉錄QQ功能。緩氏
Ⅳ python的qqbot怎麼用
在命令行輸入: **qqbot** ,或直接運行 [qqbot.py][code] :
**python qqbot.py** 。啟動過程中會自動彈出二維碼圖片(Linux下需安裝有 gvfs ,否則需要手動打開圖片沒胡銷),需要用手機 QQ 客戶端掃碼並授權登錄。啟動做鬧成功後,會將本次登錄信息保存到本地文件中,下次啟動時,可以輸入:
**qqbot qq號碼**,或:**python qqbot.py qq號碼** ,先嘗試從本地文件中恢復登錄信枯游息(不需要手動掃碼),只有恢復不成功或登錄信息已過期時才會需要手動掃碼登錄。
Ⅵ 知乎的qq登錄怎麼用python和webdriver定位到「賬號密碼登錄」
使用Python+Selenium模擬登錄QQ空間
爬QQ空間之類的頁面時大多需要進行登錄,研究QQ登錄規則的話,得分析大量Javascript的加密解密,這絕對能掉好幾斤頭發。而現在有了selenium工具,麻麻再也不用擔心你的QQ登錄!
driver.findelementbyid('switcherplogin').click()
Ⅶ 如何用python+selenium登錄QQ音樂
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
def login_qq(user,password):
'''
1、有2個frame要先進頂層的才能賣困進入下層
2、考慮有無登錄qq的情況
'''
driver=webdriver.Chrome()
driver.get('https://y.qq.com/')
driver.refresh()
time.sleep(1)
login= driver.find_element_by_css_selector('body > div.mod_header > div > div.header__opt > span > a.top_login__link.js_login')
login.click()
time.sleep(1)
#1
topframe=driver.find_element_by_id("frame_tips"枝乎)
driver.switch_to_frame(topframe)
#1
iframe=driver.find_element_by_id("ptlogin_iframe")
driver.switch_to_frame(iframe)
time.sleep(1)
#2
try:
userpassword=driver.find_element_by_id("switcher_plogin")
userpassword.click()
time.sleep(1)
user=driver.find_element_by_id("u")
user.send_keys(user)
password=driver.find_element_by_id("p")
password.send_keys(password)
sure=driver.find_element_by_id("login_button")
sure.click()
#2
except:
user=driver.find_element_by_id("u")
user.send_keys(user)
password=driver.find_element_by_id("猛配悉p")
password.send_keys(password)
sure=driver.find_element_by_id("login_button")
sure.click()
Ⅷ python爬蟲怎麼登陸qq空間
要看QQ空間是不是開放訪問的,帶賬號、密碼綁定的用戶去做。
Ⅸ 求救各位大俠,下面Python代碼怎麼登陸不了QQ空間
每次刷他是有次數限制的,貌似70次,輸入很快的話40次,然後就不行了,要麼是驗證碼錯誤,要麼是限制,不過有個小秘訣,一開始驗證碼不管輸什麼都是對的,那就只管按一個鍵就行了,你那個問題只有等一段時間,然後重啟再刷,1個小時最佳