Ⅰ 怎么用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个小时最佳