51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师2022年软件评测师考前培训开始啦!项目为王,自动化测试提升加速器 !横扫BAT,Python全栈测试开发技能大全
【126期】: 如何从零开始做好接口自动化测试!《51测试天地》精选好文 测试人职业发展! 【活动】为视频UP主打CALL,互动领福利!
查看: 7068|回复: 18

【你来问我来答第126期】: 如何从零开始做好接口自动化测试

[复制链接]
  • TA的每日心情

    前天 15:28
  • 签到天数: 546 天

    连续签到: 2 天

    [LV.9]测试副司令

    发表于 2022-5-5 10:15:01 | 显示全部楼层 |阅读模式

    论坛ID  子慕予兮
    真实姓名: 仲老师
    现任公司: 博为峰
    现任职位: 讲师
    工作经验:
    毕业于英国Univ. of Glasgow 计算机工程硕士;具备10多年软件测试及IT项目管理经验;曾供职于皇家苏格兰政府机构,花旗软件,完美世界等国内外知名企业,先后担任SQA,测试经理,敏捷教练。熟悉软件测试流程,工具,熟悉IT项目管理方法论,持有Prince2PractitionerCMMICSM;对软件测试领域和敏捷研发有较深入地研究,在软件测试培训行业亦有多年授课经验。


    各位会员可以在5.10日前以回帖的方式向客座专家提问。
    (请大家围绕本期客座专家的擅长领域进行提问、探讨)
    客座专家将在5月1日—5月31日为大家集中解答。机会难得,欢迎大家踊跃提问!


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-8-16 14:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2022-5-10 15:54:23 | 显示全部楼层
    请教下 现在接口自动化测试框架 用哪些方式管理测试用例 测试数据 好呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-10 17:34:56 | 显示全部楼层
    老师您好项目测试过程中,如何用好ui/接口自动化测试,提升测试效率?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-11 11:43:38 | 显示全部楼层
    你好,想实现http接口测试自动化,能定期执行并发送报告,目前有什么好用的工具吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-11 13:13:12 | 显示全部楼层
    接口测试自动化测试 怎么把上一个接口的输出做为下一个接口的输入呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-11 13:31:47 | 显示全部楼层
    海上孤帆 发表于 2022-5-11 11:43
    你好,想实现http接口测试自动化,能定期执行并发送报告,目前有什么好用的工具吗?

    http自动化测试,如果你的接口还在研发阶段,不是特别稳定,接口文档也不算特别完整,这个时候测试人员也是可以介入测试,推荐用抓包工具和接口工具配套使用,抓包用fiddler/charles都行,接口工具推荐postman,如果你不做接口性能压测的话,postman比较推荐,因为这个能够帮你管理一系列相关的测试用例,也能生成简单的结果报告,想要更好看的报告,可以结合newman;等到你们的接口稳定了,不怎么变动了,这部分如果属于回归测试范畴的话,可以将其通过自动化测试用例脚本化,即通过python requests + unittest/pytest + allure, 如有需要,可以结合数据驱动,参数化对框架进行优化。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-11 13:41:59 | 显示全部楼层
    哈士奇的罪恶 发表于 2022-5-10 17:34
    老师您好项目测试过程中,如何用好ui/接口自动化测试,提升测试效率?

    ui层面的自动化需要慎重点考虑,如果你们项目的UI界面变动比较频繁,非常不建议,自动化脚本的研发本身就需要大量的精力,包括技术能力经验,测试需求分析等,非常不推荐界面变动较频繁的项目做UI自动化,这类情况往往手工比自动化效率更高;除非某几个模块界面不怎么变动,或者变动不大,你们通过关键字模式。po模式等可以很方便的维护自动化测试用例,维护成本低,界面变动小,回归测试使用频率高,那么这个比较适合UI自动化;

    再说接口,接口自动化相较于UI自动化,成本低,因为接口往往一旦固定下来,不容易轻易变动,毕竟这个和开发设计有关,所以优先接口自动化,再考虑一些不经常变动的页面,需要频繁回归测试,冒烟测试的这些进行UI自动化。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-11 13:44:52 | 显示全部楼层
    巴斯蒂安 发表于 2022-5-11 13:13
    接口测试自动化测试 怎么把上一个接口的输出做为下一个接口的输入呢?

    这个和接口关联有关,涉及到接口的联调,举个例子 购物流程接口 : 登录后才能进行购物结账,那么你登陆后需要查看,接口的返回参数中是否有标记你登陆状态的参数,例如cookie, session, token之类,需要对登录接口返回做个分析,然后对下一个接口(例如购物结账)进行接口输入参数的分析,看看哪个参数需要获取你之前登录后的返回信息。建议可以先用抓包工具fiddler看看上一个接口的返回和下一个接口的输入参数。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-11 15:44:24 | 显示全部楼层
    Mario洁 发表于 2022-5-10 15:54
    请教下 现在接口自动化测试框架 用哪些方式管理测试用例 测试数据 好呢?

    关于测试数据的管理有这么几种方式,无非是要么文件储存,要么数据库存储:
    1. 以文件的方式进行测试数据的存储,可以尝试先在文件中写入一组测试i数据进行读取,调试通过后,再多增加两组数据,再进行调试,直到没有任何问题了,就可以放心大胆的构造任意的批量数据了。
    2. 有些接口测试数据必须从数据库中实时读取,那就需要写脚本连接数据库,通过执行SQL命令取出相应的测试数据。

    关于测试用例的管理,现在主流的自动化框架都能做到批量执行测试用例,建议可以将测试用例按业务类别区分,放在不同的目录下,那么执行的时候就可以通过配置文件批量指定需要执行的测试用例集了,以python编写自动化测试为例,pytest在配置文件方面做的挺强大的,可以多了解一下。

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-12 11:19:33 | 显示全部楼层
    你好老师,我想问下如何使用soapui进行自动化接口测试??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-12 11:42:29 | 显示全部楼层
    最近在做接口自动化测试,之前我用过的是python+unittest,但是之前的接口数据我放到了ini配置文件里面,然后封装了一个类,去读取ini文件里面的数据,现在我想把接口数据拿出来放到excel表中,但是我不知道该怎么数据拿出来,老师可以指教一下,谢谢了

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-2-9 13:35
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    发表于 2022-5-12 13:35:46 | 显示全部楼层
    你好,接口测试用例很多种,有用数据库的,有用表格的,有用yaml的,这是目前了解到的,可能还有很多其他地方式来获取数据,但是如果非要
    项目阶段,项目的大小,用例的可维护行,可移植性,编写用例的效率等等目前我已知可能的客观实际的影响条件,或许还有更加关键的影响
    影响因素,我不知道的,也请告知,主要目的是为了,根据公司的实际情况取判断,应该使用哪种方式比较好。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-13 15:16:40 | 显示全部楼层
    萌萌兔 发表于 2022-5-12 11:19
    你好老师,我想问下如何使用soapui进行自动化接口测试??

    任何工具做接口自动化的工作任务流程都是一致的:

    1. 需要结合接口文档/接口设计做接口测试需求分析,如果文档不齐全,可以通过fiddler抓包等看一下被测接口的输入返回,然后跟开发确认;
    2. 设计接口测试点,测试用例,这些都是需要基于确认的需求,才能算有效的测试点和测试用例,另外这些测试点测试用例,最好都能够经过团队一致评审,以防无效用例,无效工作
    3. 在上一步的基础上,就可以通过工具进行接口测试执行了,接口测试工具,postman/jmeter/soapUI都是可以用的,每种工具的理念都是一直的,只是操作方式不同,类似word和记事本,有道云等,都能编写文章,只是操作的按钮不大一样而已。所以对于工具的使用,一通百通,是有这个道理的,万变不离其宗。

    以soapUI为例,可以先阅读一下他的官方文档,入门的操作步骤,然后结合你整理的测试点,测试用例,结合soapUI工具进行接口测试的执行,soapUI入门的话比较简单,后续如果想灵活应用驾驭的话,需要熟悉groovy脚本的使用; 也可以关注一下51testing测试圈,有不同工具的讲堂分享预定,帮你快速入门soapUI应用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-13 15:20:43 | 显示全部楼层
    韶光暗淡 发表于 2022-5-12 11:42
    最近在做接口自动化测试,之前我用过的是python+unittest,但是之前的接口数据我放到了ini配置文件里面,然 ...

    根据你字面上的含义,我是这样理解的,需要结合python第三方库,专门用于处理excel文件的库,例如:openpyxl, 这个库比较强大,可以处理excel表格中的各项功能,这样你就可以根据api_name,取到对应列中的内容了,当然python excel处理的第三方库还有其他几个,专门用户数据分析的pandas库也提供了对应的表格内容提取处理功能,这些都可以尝试以下的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2022-5-13 15:25:33 | 显示全部楼层
    游泳的鱼儿 发表于 2022-5-12 13:35
    你好,接口测试用例很多种,有用数据库的,有用表格的,有用yaml的,这是目前了解到的,可能还有很多其他地 ...

    这个问题和之前有位同学提到的关于测试数据存储,用例维护有点类似,基本上可以遵循这样的原则:

    关于测试数据的管理有这么几种方式,无非是要么文件储存,要么数据库存储(你在问题中也提到了):
    1. 以文件的方式进行测试数据的存储,可以尝试先在文件中写入一组测试i数据进行读取,调试通过后,再多增加两组数据,再进行调试,直到没有任何问题了,就可以放心大胆的构造任意的批量数据了。
    2. 有些接口测试数据必须从数据库中实时读取,那就需要写脚本连接数据库,通过执行SQL命令取出相应的测试数据。

    关于测试用例的管理,现在主流的自动化框架都能做到批量执行测试用例,建议可以将测试用例按业务类别区分,放在不同的目录下,那么执行的时候就可以通过配置文件批量指定需要执行的测试用例集了,以python编写自动化测试为例,pytest在配置文件方面做的挺强大的,可以多了解一下。

    如果说你的项目很小,用例数也有限,规模不大,每次的回归测试集就这么几个,屈指可数,那完全可以不用搞那么复杂,看看postman本身的collection够不够用就行了,而且postman本身也支持数据驱动,你把数据单独弄个csv文件保持就行,这样就一个postman就能满足需求,当然前提是你的项目范围够小,测试集也就那么些,不复杂,管理相对还是简单的情况下。否则如果项目规模大,回归测试用例集庞大,那么就要考虑结合测试框架进行有效管理维护了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 5 天前 | 显示全部楼层
    专家你好,做接口测试的用 java来搭框架怎么搭呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 5 天前 | 显示全部楼层
    嘉宾你好,想要尝试进行接口测试,但是找不到合适的网站,请问哪里能找到呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 4 天前 | 显示全部楼层
    always_fly 发表于 2022-5-16 15:13
    嘉宾你好,想要尝试进行接口测试,但是找不到合适的网站,请问哪里能找到呢?

    可以看一下这里有一些开源的接口,方面你自己练习,但要说有点规模性的接口项目,确实没有特别好的;
    https://www.juhe.cn/docs/api/id/1/aid/1
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 4 天前 | 显示全部楼层
    MilgGtery 发表于 2022-5-16 11:44
    专家你好,做接口测试的用 java来搭框架怎么搭呢?

    JAVA做接口测试的话,需要掌握并能够应用这些库及相关框架技术:
    1. httpclient它是一个客户端的http通讯实现库,HttpClient的目标是发送和接收HTTP 报文,相当于python中的requests库
    2. mybatis/mavan这类工程项目管理类的框架,二选一即可
    3. testng/junit这类测试框架,testNG属于比较热门的,功能也强大
    4. 日志类库,log4j
    5. 可以结合数据驱动,进行参数化,实现测试数据与测试用例的分离,后期方便有效维护
    6. 测试报告,可以用allure,这个框架功能还是挺强的,也支持自己自定义测试报告
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2022-5-21 22:46 , Processed in 0.069632 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2022 Comsenz Inc.

    快速回复 返回顶部 返回列表