用python做自動化測試--對伺服器端的自動化測試(3)-更多http client執行個體,pythonclient

來源:互聯網
上載者:User

用python做自動化測試--對伺服器端的自動化測試(3)-更多http client執行個體,pythonclient

上一篇中只是實現了一個很簡單的http client功能,request還提供了keep alive, SSL, 多檔案上傳,cookie 管理功能,http requests頭管理等豐富的功能,只要你瀏覽器實現的功能,requests裡面都支援。

#!/usr/bin/env python#coding=utf-8import requestsdef login_douban(username, passwd):    post_data={'source':'index_nav','form_email':username,'form_password':passwd}    request_headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0"}    response=requests.post("http://www.douban.com/accounts/login", data=post_data,headers=request_headers)    if u"小王子" in response.text:        print "Login successful"        return  response    else:        print "Login failed"        print response.text        return  Falsedef say_something(login_cookie):    post_data={'ck':'ynNl','rev_title':u'發福利','rev_text':u'樓主是標題黨','rev_submit':u'好了,發言'}    response=requests.post("http://www.douban.com/group/beijing/new_topic", data=post_data,cookies=login_cookie)    if response.url=="http://www.douban.com/group/beijing/":        print "post new content successfully"        return  True    else:        print "Post content fail"        return  Falselogin_response=login_douban(your_usename,your_passwd)say_something(login_response.cookies)

request_headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0"}, 這一行的目的是為了類比這個請求是FireFox發出來的,很多網站為了屏蔽爬蟲,會通過User-Agent這個欄位來屏蔽,當然現在大型網站應該會用更進階的手段來屏蔽爬蟲,如果不設定這個User-Agent, requests發出去的請求,User-Agent的值是python-requests/2.3.0 CPython/2.7.3 Windows/7\r\n。


say_something這個函數沒測試了,剛才我頻繁的調試,豆瓣要我輸入登陸驗證碼了,有問題這裡留言,我過段時間在調試。


關於cookie, session管理這塊,如果是在同一個函數裡面,request自動管理了session,不需要額外的處理,

session = requests.Session()session.post("http://www.douban.com/accounts/login", data=post_data,headers=request_headers)session.post("http://www.douban.com/group/beijing/new_topic", data=post_data)

這樣就可以發帖成功。


看到這裡大家一定會想到selenium,是不是和requests一樣的? requests更擅長於無UI介面測試,selenium更擅長於有UI的web測試。


初學Python,想做手機自動化測試指令碼,想瞭解幾個問題

1、手機自動化測試Python能獨立完成嗎?可以。
2、想要學的話,看哪本教程會好些?首先學習自動化測試,然後學習python,然後結合執行個體學習。可以參考wenku.baidu.com/...1.html
3、主要要學習的模組內容或者方向是哪些?
Python的世界有一個開源架構Splinter,可以非常棒的類比瀏覽器的行為(從某種意義上也可以說是人的訪問點擊行為)。Splinter提供了豐富的API,可以擷取頁面的資訊,以判斷當前的行為所產生的結果

4、還有懂這行補充給我的,我另加分。。多項
多學習測試的各方面知識,python只是工具。測試的理論知識很重要。
 
想學習web自動化測試,ruby?python?javascript?各位大俠推薦下web的自動化語言指令碼語言,說明理由哈

web自動化測試,按照主流工具來分的話:
商業工具:
QTP所用語言是vbscript
開源:
selenium支援ruby和python
ruby還有watir,python有PAMIE,但watir比PAMIE更好。
具體學什麼,還要看大環境:
公司用什麼做工具做測試就學什麼唄
如果找工作,那就去求職網站搜“測試 ruby”和“測試 python”,那個職位多就學那個,哈哈
另:做web前端測試,javascript是必修了,多多少少都要會點~
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.