AutoRunner 功能自动化测试项目实训之脚本的串联(调用)(十四)

本文主要是介绍AutoRunner 功能自动化测试项目实训之脚本的串联(调用)(十四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在自动化测试过程中我们首先要做的是脚本录制或者编辑,在这一过

程中由于被测系统的业务复杂程度不同,我们一般都是分模块或者功

能点来分别记录测试脚本,这样的话单个功能点测试和单个模块测试

的问题就解决了,但是我们在实际的测试项目里有很多功能和模块之

间都是有关联的,比如业务逻辑上的关联或者数据传输上的关联关系。

那么我们之前做的工作就白费了么?答案是我们绝对没有做白费力气

的事,我们需要对脚本进行串联,亦或称之为脚本串联,这里需要注

意几点问题:一是脚本之间的串联不是没有限制的,这里要求串联的

脚本是同一个项目下的,不同项目下的脚本不允许互相调用;二是脚

本之间的调用也要注意脚本之间的逻辑关系,举个简单的例子:一般

情况下我们对被猜测系统的测试都躲不开登录,然后才能进入系统开

始测试其他的例如增加信息、修改信息、删除信息,那么登录这个功

能的测试脚本和增加信息、修改信息、删除信息的脚本之间就有先后

顺序,必须先执行登录脚本然后才能执行增加信息、修改信息、删除

信息的脚本。当然还有其他的条件分支等等,具体怎么实现就要看具

体的被测系统和你的脚本逻辑了。

下面我们先来看个简单的项目案例,我们还是拿计算器这个程序作为

我们的测试对象,我们首先在add.bsh脚本里录制加法,然后在sub.bsh

脚本里录制减法,当然前提是在calc这个项目下:

先在add脚本里面做加法:

完整的加法脚本如下:

ar.window("CalcFrame_计算器").clickControl("Button_7", 11, 11, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_加", 12, 5, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_8", 21, 15, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_等于", 22, 26, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_清除", 24, 14, "left");

做完了加法下面我们在sub脚本里面录制减法的脚本:

完整的减法脚本如下:

ar.window("CalcFrame_计算器").clickControl("Button_8", 6, 19, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_减", 26, 8, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_3", 20, 12, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_等于", 13, 25, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_清除", 10, 9, "left");

在俩个脚本里面我们分别做了加法和减法俩种不同的功能测试,如果我

们想把这俩个功能一起测试,那么这个时候我们就可以把俩个脚本串联

起来,这里先做加法和先做减法从逻辑和功能上讲没有什么区别,所以

我们既可以在加法脚本里面调用减法脚本也可以在减法脚本里面调用加

法脚本,我们就以在加法脚本里面调用减法脚本的方法来讲脚本调用的

做法,接下来我们进入加法脚本,在加法脚本里面的结尾处添加调用减

法脚本的命令:

添加的脚本命令:

ar.callScript("sub.bsh");

完整的加法脚本添加调用减法脚本后应该是:

ar.window("CalcFrame_计算器").clickControl("Button_7", 11, 11, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_加", 12, 5, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_8", 21, 15, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_等于", 22, 26, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_清除", 24, 14, "left");

 

ar.callScript("sub.bsh");

然后我们在两个脚本里面分别添加打印语句,将加法和减法的结果分

别打印出来:

将加法的结果打印出来:

完整的脚本如下:

ar.window("CalcFrame_计算器").clickControl("Button_7", 11, 11, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_加", 12, 5, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_8", 21, 15, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_等于", 22, 26, "left");

 

String str1 = ar.window("CalcFrame_计算器").getProperty("Static_结果","value");

 

System.out.println("add= "str1);

 

ar.window("CalcFrame_计算器").clickControl("Button_清除", 24, 14, "left");

 

ar.callScript("sub.bsh");

 

 

将减法的结果打印出来:

完整的脚本如下:

ar.window("CalcFrame_计算器").clickControl("Button_8", 6, 19, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_减", 26, 8, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_3", 20, 12, "left");

 

ar.window("CalcFrame_计算器").clickControl("Button_等于", 13, 25, "left");

 

String str2 = ar.window("CalcFrame_计算器").getProperty("Static_结果","value");

 

System.out.println("sub= "+str2);

 

ar.window("CalcFrame_计算器").clickControl("Button_清除", 10, 9, "left");

做完了之后我们执行加法脚本得出如下结果:

加法和减法脚本一次执行,结果全部输出到输出区域,经对比都正确无误。

 

 

这篇关于AutoRunner 功能自动化测试项目实训之脚本的串联(调用)(十四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/592252

相关文章

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Java实现预览与打印功能详解

《Java实现预览与打印功能详解》在Java中,打印功能主要依赖java.awt.print包,该包提供了与打印相关的一些关键类,比如PrinterJob和PageFormat,它们构成... 目录Java 打印系统概述打印预览与设置使用 PageFormat 和 PrinterJob 类设置页面格式与纸张