• 我的订阅
  • 科技

自动化测试项目实战 | 使用Java API

类别:科技 发布时间:2023-02-04 10:00:00 来源:书圈
自动化测试项目实战 | 使用Java API

演示了如何使用Java API创建和运行第一个Dubbo接口自动化测试用例。

01

使用Java API

由于本节需要使用到Java,因此笔者首先创建了一个新的Maven工程mastering-test-automation-for-dubbo。然后修改工程的pom.xml文件引入相关依赖,依赖如下:

自动化测试项目实战 | 使用Java API

以上配置中,dubbo是Dubbo框架的基础依赖,dubbo-configcenter-zookeeper是Dubbo Zookeeper注册中心的依赖,而ims-api是IMS的Dubbo接口。

待依赖下载完成后,读者可以先熟悉一下IMS的Dubbo接口源代码。其中,只有GoodsCategoryService(物品类别)、GoodsService(物品)和UserService(用户)3个简单的接口,如图3-4所示。

自动化测试项目实战 | 使用Java API

■ 图3-4IMS的Dubbo接口

接着笔者以测试GoodsService接口的getById方法为例介绍Dubbo接口的测试,该方法用于根据物品ID获取物品。为此先在/src/test/java目录创建com.lujiatao.dubbo包,并新增JavaAPI类。

说明/

根据Maven工程的规范,测试代码应该存放在/src/test/java目录,非测试代码应该存放在/src/main/java目录。

使用Java API测试Dubbo接口可以看作是模拟一个服务消费者来调用服务提供者提供的Dubbo接口,而服务消费者本质上属于一个应用程序,因此首先需要配置该应用程序。在Dubbo中,使用ApplicationConfig类来配置应用程序的代码如下:

ApplicationConfig applicationConfig = newApplicationConfig;

applicationConfig.setName( "JavaAPI");

以上代码将应用程序的名称配置为JavaAPI。

然后需要配置注册中心。为了防止超时,笔者将超时时间设置为10s(10000ms),代码如下:

RegistryConfig registryConfig = newRegistryConfig;

registryConfig.setTimeout( 10000);

registryConfig.setAddress( "zookeeper://192.168.3.102:10003");

由于IMS使用ZooKeeper作为注册中心,因此以上代码使用了zookeeper作为注册中心地址的前缀,而192.168.3.102和10003是笔者搭建的注册中心IP地址和端口,读者应根据实际情况进行替换。

接着创建Dubbo接口引用的环节,需要使用到ReferenceConfig类,代码如下:

ReferenceConfig referenceConfig = newReferenceConfig<>;

referenceConfig.setApplication(applicationConfig);

referenceConfig.setRegistry(registryConfig);

referenceConfig.setInterface(GoodsService.class);

referenceConfig.setVersion( "1.0.0");

ReferenceConfig是一个泛型类,由于这里要测试GoodsService接口,因此将GoodsService作为类型形参传递给ReferenceConfig。另外需要使用之前创建的应用程序和注册中心配置,并且还需要设置接口及其版本号。

最后调用ReferenceConfig对象的get方法获取到目标接口GoodsService,然后调用其中的getById方法,代码如下:

GoodsService goodsService = referenceConfig. get;

Goods goods = goodsService.getById( 1);

Gson gson = newGsonBuilder.create;

System. out.println(gson.toJson(goods));

以上代码使用到了Gson,其用于将对象序列化为JSON。

运行JavaAPI类,执行结果如下:

{ "id": 1, "brand": "HUAWEI", "model": "Mate 40", "desc": "", "count": 0, "goodsCategoryId": 1, "createTime": "2021-05-19 08:51:14", "updateTime": "2021-05-19 08:51:14"}

由于IMS每次启动时会重新初始化数据库,因此读者看到的createTime和updateTime会与上述结果不一致。

有时出于测试目的,希望绕开注册中心直接调用Dubbo接口,这种方式被称为点对点直连。点对点直接需要删除配置注册中心的代码,并调用ReferenceConfig对象的setUrl方法设置直连URL即可。

【例3-4】Dubbo接口的点对点直接。

自动化测试项目实战 | 使用Java API
自动化测试项目实战 | 使用Java API

不管是使用注册中心还是点对点直连方式,当调用了Dubbo接口后,就可以使用单元测试框架编写自动化测试用例了。Java中的单元测试框架有TestNG、JUnit等。

实例讲解

自动化测试项目实战

从入门到精通(微课视频版)

精彩回顾

第一个unittest示例

演示了如何使用unittest创建和运行第一个单元自动化测试用例。

第一个pytest示例

演示了如何使用pytest创建和运行第一个单元自动化测试用例。

简单请求和响应

演示了如何使用Requests创建和运行第一个HTTP接口自动化测试用例。

下期预告

打开浏览器

演示了如何使用Selenium创建和运行第一个Web自动化测试用例。

打开待测应用程序

演示了如何使用Appium创建和运行第一个App自动化测试用例。

编写简单测试用例

以实际项目为依托,介绍如何编写一个简单的自动化测试用例。

将公共部分封装为函数

介绍如何将公共部分封装为函数,这是使用模块化来优化自动化测试用例的一种方法。

搭建Python私有仓库

介绍如何搭建一个Python私有仓库,以便使用函数库的方式来优化自动化测试用例。

使用Excel作为数据源

介绍如何使用Excel作为数据源进行数据驱动测试。

变量和常量

介绍关键字驱动测试框架Robot Framework中的变量和常量的用法。

自定义匹配器

介绍第三方断言函数库PyHamcrest的自定义匹配器功能。

02

参考书籍

书名:自动化测试项目实战——从入门到精通(微课视频版)

⇡ ⇡ ⇡ 点击上图查看更多图书信息 ⇡ ⇡ ⇡

本书特色

(1) 理论与实战案例结合。知识脉络全面、清晰,学习路线明确,案例丰富,便于读者学习知识点。

(2) 内容合理,循序递进。提供基础篇、进阶篇、实战篇的内容,以满足不同层次读者的需求。

(3) 视频讲解,强化实操。为第7章中项目案例实操部分配备微课视频讲解,便于读者理解、学习和掌握。返回搜狐,查看更多

责任编辑:

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2023-02-04 11:45:13

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

自动化测试项目实战 | 打开浏览器
演示了如何使用Selenium创建和运行第一个Web自动化测试用例。01打开浏览器要使用Selenium打开浏览器,就需要安装对应编程语言的客户端
2023-02-05 10:00:00
学会和软件代码“交朋友”(工匠绝活)
...大量的实际案例进行训练。“在训练过程中要编写大量的自动化测试脚本,覆盖各种常见的测试场景。”叶重涵说,在这个过程中,他需要不断优化代码结构,提高脚本的可维护性和执行效率。“计
2024-08-16 05:43:00
可超高频,可降延迟!金百达银爵DDR5内存ZEN4平台超频实战!
一、AMD也超频INTEL发布12代酷睿之后,DDR5内存开始崭露头角,更高的频率和带宽,带来了性能的极大提升。AMD奋起直追
2022-12-21 06:00:00
...持振感的动态静态调节。支持触觉控制的开关。测试框架自动化测试框架arkxtest支持模拟鼠标滚轮滑动、滑动左右键双击等模拟UI操作能力。支持Shell命令方式进行UI模拟操作
2024-01-01 09:33:00
...算机科学、信息科学、大数据、电子、信息与通信工程、自动化、人工智能、软件工程、数学、物理、光学、声学、材料、机械、自动控制等相关专业
2023-06-19 14:00:00
无人机企业引爆低空经济革命,卓翼智能2024Q1行动揭秘
...轻型消防车底盘设计,集成系留供电系统、CAFS、无人机自动化起降放舱、储液箱,整车通过性更高,现场展开迅速,具备独立作业能力,所有系统集成在综合消防保障车内,无需额外配置。无
2024-04-11 17:00:00
华为云codeartsapimock发布三大特性
...eArtsAPIMock支撑业务产品的快速持续交付与微服务模式下的自动化测试构建能力,快速构建8个Mock实例、60多个模拟接口
2023-10-14 03:38:00
浪潮海岳测试平台inTest 1.0正式发布
...平台inTest1.0,涵盖测试管理、代码审查、精准测试、接口自动化测试、UI自动化测试、性能测试、性能基线、安全测试八大模块
2024-01-08 18:33:00
格雷希尔GripSeal和集成商们的托盘式生产组合连接方案
...,以及托盘侧C9对接模块(或是对接板),实现高寿命的自动化连接。托盘到达对应测试工位,设备侧推动C9对接模块(或是对接板)实现1秒连接,包含水气/动力电/高压电/低压/信号等
2023-01-03 15:02:00
更多关于科技的资讯:
2025年玛咖(玛卡)品牌综合评测:如何找到适合自己体质的调理方案?
在个性化健康日益成为主流的今天,男性对保健品的需求已从“大众配方”转向“个体化方案”。玛咖作为广受关注的植物补充剂,其功效虽获认可
2025-11-04 15:47:00
可梦AI开放测试获首批企业盛赞!“短剧男频标杆”的蜜糖网络实力入驻,共启AI短剧工业化新篇
短剧行业全流程智能平台可梦AI正式开启企业测试通道,凭借“真AI驱动全链路、需求响应极速、企业服务定制化”的核心优势,迅速赢得首批入驻企业的高度认可
2025-11-04 13:50:00
CFCA安心诉存证服务,融资租赁行业的电子证据守护者
目前,融资租赁行业正在快速向数字化转型迈进,行业内线上业务的繁荣发展,使得电子数据在交易出现司法纠纷时所起到的作用愈发重要
2025-11-04 13:51:00
当年轻人开始在夏天“进补”,巨量星图如何用一场计划“养”出多个品牌破圈增长
当养生成为这届年轻人的日常,一边熬夜一边搜索“祛湿攻略”,左手冰美式右手胶原蛋白,已成为他们的生活常态。对于大健康品牌来说
2025-11-04 13:52:00
平台化协同·场景为先--中叉网对话安庆联动属具公司的高质量跃迁
2025年8月上旬,“合力改变物流搬运方式--合力•中叉网 | 2025中国叉车和移动机器人高质量发展万里行”再次走进安徽叉车集团旗下的安庆联动属具股份有限公司
2025-11-04 13:52:00
智造能力的跃升,正在成为中国品牌突破创新的底气
智造能力的跃升,正在从结构上打破「高端化」市场格局。以厨电市场为例,以往在单价8万元/㎡以上住宅项目中,进口厨电占比高达78%
2025-11-04 08:12:00
畅通京津冀算力“高速路”!河北大力推进京津冀三地网络协同、服务协同、算力资源协同
河北大力推进京津冀三地网络协同、服务协同、算力资源协同畅通京津冀算力“高速路”10月17日,在2025中国国际数字经济博览会上
2025-11-04 08:12:00
厦门网讯(厦门日报记者 李晓平)近日,省工信厅公布省级人工智能硬件优质产品名单,全省18个入选产品中,厦门独占8席,包括瑞为
2025-11-04 08:38:00
在生成式AI重构流量分配格局的2025年,中国GEO服务商市场已形成清晰的三大梯队。据《2025中国生成式AI搜索生态白皮书》数据显示
2025-11-04 08:49:00
在生成式AI重构流量分配规则的2025年,企业面临着一个核心问题:为什么同样是GEO服务,不同服务商带来的商业回报差距能高达300%以上
2025-11-04 08:50:00
厦门网讯(厦门日报记者 吴燕如 李晓平)我市再添人工智能新型孵化载体——10月31日,位于数字立方大厦的思明未来科技园正式揭牌运营
2025-11-04 09:10:00
大皖新闻讯 11月4日,星巴克咖啡公司宣布与博裕投资达成战略合作,双方将成立合资企业,共同运营星巴克在中国市场的零售业务
2025-11-04 09:31:00
在远程操控下,焦炉“四大车”(装煤车、推焦车、拦焦车、熄焦车)有条不紊地进行作业;通过设备预测性维护系统,设备的早期故障得到智能诊断……在河北新兴能源科技股份有限公司(以下简称“新兴能源科技公司”)
2025-11-04 09:01:00
“产业炬光灯”聚焦厦企笃正新能源 紧跟市场谋创新
“产业炬光灯”聚焦笃正新能源。厦门网讯(厦门日报记者 林露虹)把阳光“存”起来,变成随时可用的电能。厦门企业笃正新能源在离网光伏储能领域持续深耕
2025-11-04 08:07:00
需求释放结构升级,消费市场涌动“焕新”潮
“还有咖啡节”在玄武湖公园打造了时尚潮流集市,吸引许多市民前来消费打卡,在明媚秋光中度过惬意周末。 通讯员 常成 南京日报/紫金山新闻记者 孙中元 摄今日关注数字4
2025-11-04 07:41:00