怎么用python对qq登录界面写测试脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用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则提交. 参考技术A 具体实现方法如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import time,datetime
import urllib2
def chk_qq(qqnum):
chkurl = 'http://wpa.paipai.com/pa?p=1:'+`qqnum`+':17'
a = urllib2.urlopen(chkurl)
length=a.headers.get("content-length")
a.close()
print datetime.datetime.now()
print length
if length=='2348':
return 'Online'
elif length=='2205':
return 'Offline'
else:
return 'Unknown Status!'
def writestate(statenow):
f=open(str(qq),'a')
m=str(datetime.datetime.now())+"===state===="+statenow+"\n\r"
f.write(m)
f.close()
qq = 847893543
##state=1
if __name__=='__main__':
while 1:
stat = chk_qq(qq)
writestate(stat)
time.sleep(6000) ##5分钟测一次
print `qq` + ' is ' + stat 参考技术B 参考技术C 具体实现方法如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import time,datetime
import urllib2
def chk_qq(qqnum):
chkurl = 'http://wpa.paipai.com/pa?p=1:'+`qqnum`+':17'
a = urllib2.urlopen(chkurl)
length=a.headers.get("content-length")
a.close()
print datetime.datetime.now()
print length
if length=='2348':
return 'Online'
elif length=='2205':
return 'Offline'
else:
return 'Unknown Status!'
def writestate(statenow):
f=open(str(qq),'a')
m=str(datetime.datetime.now())+"===state===="+statenow+"\n\r"
f.write(m)
f.close()
qq = 847893543
##state=1
if __name__=='__main__':
while 1:
stat = chk_qq(qq)
writestate(stat)
time.sleep(6000) ##5分钟测一次
print `qq` + ' is ' + stat
BUG缺陷管理工具--测试用例执行
在前面我已经写了怎么去创建一个测试用例,现在我现在写的是怎么去执行我们写好的测试用例,我们还是向以前一样,打开该软件
(TestCenter)。首先我们点击系统界面的TestCenter图标。 出现如图界面,
我们先要把我们写的测试用例放在测试集里去,然后才能发起执行测试指令。这里我们用“本地登录”为例, 如图所示
这里我们对该用例进行小小的配置,对参数进行配置,这里配置很简单,我们就默认状态,数据我们也保持在默认状态,我们暂不做修改 如图所示
然后我们在点击“手工执行发起”按钮,对该用例发起执行指令,弹出执行界面,这里我们也不进行配置,点击“确定”按钮,保存当前修改的信息 如图所示:
然后我在点击系统界面的TestCenter图标,选择“用例执行”下的子菜单“手工执行”,进入执行界面。 如图所示:
然后点击该需要执行的用例,出现如图界面。
我们再在执行的进行一系列的筛选,查询出自己需要执行的用例。选择“执行者”这里如果不选择的话,用例会执行不了,一开始我在用的时候,就犯了这个错误, 我以为我用这个账号登陆的,默认的就是我来执行,结果我怎么点就是执行不了,后来在到处点点,这才知道原来不是这样,还是需要筛选的,分配好了之后 在点击“执行”按钮图标。 如图所示:
如果这个用例执行结果是正确的,则点击“确定”就OK了,如果该用例执行结果错误,则在“执行状态”里选择“错误”,则可以很方便的提交缺陷报告给相关的开发人员。 如图所示:
然后点击确定,这样就很方便就把缺陷提交出去了。
以上是关于怎么用python对qq登录界面写测试脚本的主要内容,如果未能解决你的问题,请参考以下文章