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调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

一分钟带你上手Python调用DeepSeek的API

《一分钟带你上手Python调用DeepSeek的API》最近DeepSeek非常火,作为一枚对前言技术非常关注的程序员来说,自然都想对接DeepSeek的API来体验一把,下面小编就来为大家介绍一下... 目录前言免费体验API-Key申请首次调用API基本概念最小单元推理模型智能体自定义界面总结前言最

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo