接口自动化测试

一、测试需求描述

对服务后台一系列的http接口功能测试。

输入:根据接口描述构造不同的参数输入值(Json格式)

输出:字符串(传入的方式+传入的字符串)

二、实现方法

1、选用ruby脚本来驱动测试

2、采用Excel表格管理测试数据,包括用例的管理、测试数据录入、测试结果显示等等,这个需要封装一个Excel的类。

3、调用http接口采用java自带的的API

4、测试需要的将参数转化成字符串

5、通过预期结果和实际结果的对比,将实际结果和对比结果写入Excel用例中,这里封装了一个类

6、首次执行测试采用人工检查输出的是否正确,一旦正确写入Excel的期望结果中,如果发现错误手工修正为预期文件。

三、Excel表格设计

四、代码结构



五、实现代码

1、main.rb

$path = "C:\\test\\"

require $path + "Function\\function.rb"

#---------------------环境初使化-(Begin)--------------------------------------------------------

print "正在进行环境初使化"

#运行前关闭掉所有IE进程

system("taskkill /f /IM et.EXE")

#运行前关闭掉所有excel进程

system("taskkill /f /IM excel.EXE")

$url="url1"                #、APPS接口

$url_cache="url2"        #儿歌动画

#创建测试报告文件

$f = File.new("TestReports.txt","w")

$f.puts("自动化测试过程记录:")

$f.puts("")

#----------------------环境初使化-(End)---------------------------------------------------------------

#----------------------------开始进行测试-(Begin)-----------------------------------------------------

#测试过程

#=begin

$sheet_num = 1

while($sheet_num <= 4) #3是工作簿总个数

#读取控制表中的数据

excel = WIN32OLE::new("excel.Application")

excel['Visible'] = false

book = excel.Workbooks.Open("c:\\test\\GUI_Data\\用例执行控制总表.xls")

sheet=book.worksheets($sheet_num.to_i)

get_row(sheet)

get_column(sheet)

$last=$last_column+String($last_row)

$column=$num_column

$row=$num_row

$dT=sheet.Range("A2:#{$last}").Value

#开始进行测试

$num = 0

$testcase_num = $row

puts $testcase_num

$t = 0

puts $dT[$num][0].to_s

puts $dT[$num][1].to_s

while($num<=$testcase_num)

while($t<= $testcase_title.length)

#  if($dT[$num][1].strip==$testcase_title[$t].to_s)

#开始测试时间

$begin_times = Time.now()

sheet.Range("c#{$num+2}")['Value']="是"

interfacetest($dT[$num][0].to_s,$dT[$num][1].to_s)

#测试结束时间

$end_times = Time.now()

#计算一个用例测试用时

#    $once_execution_ts=times($begin_times,$end_times)

#    puts $once_execution_ts

#  Update_Executions($dbh,$result1,$testplanid,$tcversion_id[$t],$once_execution_ts)

#  end

$t=$t+1

end

$num=$num+1

$t=0

end

$sheet_num += 1

book.close(1)

#    book.quit()

end

#=end

#--------------------------------------测试结束-(End)---------------------------------------------------------

#--------------------------------书写全局测试日志-(Begin)--------------------------------------------------------

#书写全局测试日志

$f.puts("==================")

$f.puts("web测试结果汇总:")

$f.puts("")

$f.puts("总共执行测试用例#{$num_test_total}个")

$f.puts("测试失败测试用例数#{$num_test_fail}个")

#$f.puts("测试中止功能模块#{$num_model_halt}个")

$f.puts("测试总共消耗时间#{$last_hour}小时#{$last_min}分钟#{$last_sec}秒")

$f.close()

2、function.rb

五、测试结果


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容