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

相关文章

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化: