首页 > 代码库 > 用python做自动化测试--对服务器端的自动化测试(2)-更多http client实例
用python做自动化测试--对服务器端的自动化测试(2)-更多http client实例
上一篇中只是实现了一个很简单的http client功能,request还提供了keep alive, SSL, 多文件上传,cookie 管理功能,http requests头管理等丰富的功能,只要你浏览器实现的功能,requests里面都支持。
#!/usr/bin/env python #coding=utf-8 import requests def login_douban(username, passwd): post_data=http://www.mamicode.com/{'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"}, 这一行的目的是为了模拟这个请求是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=http://www.mamicode.com/post_data,headers=request_headers)>这样就可以发帖成功。
看到这里大家一定会想到selenium,是不是和requests一样的? requests更擅长于无UI接口测试,selenium更擅长于有UI的web测试。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。