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+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

SpringBoot整合Apache Spark实现一个简单的数据分析功能

《SpringBoot整合ApacheSpark实现一个简单的数据分析功能》ApacheSpark是一个开源的大数据处理框架,它提供了丰富的功能和API,用于分布式数据处理、数据分析和机器学习等任务... 目录第一步、添加android依赖第二步、编写配置类第三步、编写控制类启动项目并测试总结ApacheS

在C#中调用Windows防火墙界面的常见方式

《在C#中调用Windows防火墙界面的常见方式》在C#中调用Windows防火墙界面(基础设置或高级安全设置),可以使用进程启动(Process.Start)或Win32API来实现,所以本文给大家... 目录引言1. 直接启动防火墙界面(1) 打开基本防火墙设置(firewall.cpl)(2) 打开高

Python实现繁体转简体功能的三种方案

《Python实现繁体转简体功能的三种方案》在中文信息处理中,繁体字与简体字的转换是一个常见需求,无论是处理港澳台地区的文本数据,还是开发面向不同中文用户群体的应用,繁简转换都是不可或缺的功能,本文将... 目录前言为什么需要繁简转换?python实现方案方案一:使用opencc库方案二:使用zhconv库

python调用dubbo接口的实现步骤

《python调用dubbo接口的实现步骤》本文主要介绍了python调用dubbo接口的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录 ​​其他实现方式与注意事项​​ ​​高级技巧与集成​​用 python 提供 Dubbo 接口

C#借助Spire.XLS for .NET实现Excel工作表自动化样式设置

《C#借助Spire.XLSfor.NET实现Excel工作表自动化样式设置》作为C#开发者,我们经常需要处理Excel文件,本文将深入探讨如何利用C#代码,借助强大的Spire.XLSfor.N... 目录为什么需要自动化工作表样式使用 Spire.XLS for .NET 实现工作表整体样式设置样式配置

C# FTP调用的实现示例

《C#FTP调用的实现示例》本文介绍了.NET平台实现FTP/SFTP操作的多种方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 .NET 自带 FtpWebRequest 实现 FTP 操作1.1 文件上传1.2

C#自动化生成PowerPoint(PPT)演示文稿

《C#自动化生成PowerPoint(PPT)演示文稿》在当今快节奏的商业环境中,演示文稿是信息传递和沟通的关键工具,下面我们就深入探讨如何利用C#和Spire.Presentationfor.NET... 目录环境准备与Spire.Presentation安装核心操作:添加与编辑幻灯片元素添加幻灯片文本操