• 我的订阅
  • 科技

自动化测试项目实战 | 使用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
更多关于科技的资讯:
2026委员通道丨林杰:让工业具身智能 “落地生根”助力“数智强省”建设
大河网讯 2025 年“具身智能”冲上了年度热词,而河南也正以“数智强省”为目标加速迈进“十五五”。1月25日,在河南省政协十三届四次会议“委员通道”上
2026-01-25 08:24:00
浙江日报讯 近日,丽缙高新区,浙江氢阳能源装备有限公司董事长黄刚向记者分享了一则喜讯:该公司首批50余个氢能两轮车固态储氢瓶产品小批量测试顺利完成
2026-01-25 08:48:00
当煤价下行的寒意与成本上涨的压力双重叠加,煤炭行业正经历一场前所未有的经营大考。如何在市场波动中稳住经营基本盘?怎样在双线挤压下答好逆势增长“优”答卷
2026-01-25 07:32:00
零的突破!云知声中标全国首个省级医保大模型项目,打通医保治理现代化“最后一公里”
2026年开年,智慧医保领域迎来里程碑式突破——云知声智能科技股份有限公司成功中标全国首个省级医保垂直大模型项目“江苏省医保垂直大模型及智能体应用项目”
2026-01-24 17:26:00
香港大学中国商业学院2026年专业研究生文凭课程火热招生中
香港大学中国商业学院2026年专业研究生文凭课程全面启动招生!课程涵盖人工智能、创新管理、增长营销、财务金融、人力资源等前沿及核心商管领域
2026-01-24 17:27:00
当哲思遇见科技:华为阅读携手周国平,探讨如何在独处中沉淀自我
在信息纷扰、节奏加速的时代,何处寻得一方宁静,让思想深度扎根?华为阅读联合北京广播电视台纪实科教频道《我们读书吧》第二季
2026-01-24 17:29:00
1月8日,深圳市精锋医疗科技股份有限公司(以下简称精锋医疗)在香港联合交易所主板成功挂牌上市,成为2026年深圳IPO“第一股”
2026-01-24 17:29:00
赋能普惠,引领向善:龙环汇丰实践获公益节大奖肯定
1月22日,第十五届公益节暨2025ESG影响力年会在北京盛大开幕。本届大会以“15年,共益新篇章”为主题,回顾中国公益事业十五年发展历程
2026-01-24 17:30:00
鸿蒙 6“智感握姿” 让交互体验更“近”一步
你是否也经历过这样“手忙脚乱”的时刻:出差途中单手提包,电话突然响起,另一只手紧紧攥着手机,大拇指却怎么也够不到那段长长的滑动接听条
2026-01-24 17:27:00
蚌埠这场脑机接口大会,让“大脑连接未来”照进现实!
大皖新闻讯 1月23日至25日,安徽省脑机接口创新发展大会在蚌埠隆重启幕。为期三天的盛会汇聚了300余位来自高等院校、科研院所
2026-01-24 16:54:00
固体废物综合治理是生态文明建设的重要内容,也是推进美丽中国建设的关键环节。近日,国务院办公厅印发《固体废物综合治理行动计划》
2026-01-24 12:14:00
鲁网1月24日讯国家新一轮消费品以旧换新及数码智能产品购新补贴政策红利持续释放。作为通信行业标杆企业,山东移动济宁分公司积极响应国家号召
2026-01-24 14:00:00
提供16万多方生态空间 设立7亿元资本活水每日商报讯 眼下,“AI漫剧”正加速走入公众视野。作为人工智能时代下中国文化“新三样”(网文
2026-01-24 10:59:00
固安搭建AI智慧招商平台 30秒生成企业选址方案
1月20日,“立业固安”平台工作人员(中)通过平台向企业推荐合适的选址方案。 万 倩摄河北日报讯(记者刘英)30秒,生成一份定制化的选址方案
2026-01-24 08:19:00
近日,杭州德胜快速路(石德立交至明石路段)、秋石快速路(石德立交-石石立交)两项夜景照明提升工程顺利竣工。具体有哪些改变
2026-01-24 09:28:00