美文网首页
接口自动化测试

接口自动化测试

作者: 深山老人小狮子 | 来源:发表于2016-05-04 09:28 被阅读0次

    一、测试需求描述

    对服务后台一系列的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

    五、测试结果

    相关文章

      网友评论

          本文标题:接口自动化测试

          本文链接:https://www.haomeiwen.com/subject/pwerrttx.html