IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 自动化测试-从关键字视图到自然语言视图 -> 正文阅读

[开发测试]自动化测试-从关键字视图到自然语言视图

AutoRunner即将推出自然语言视图,即使用自然语言作为测试工程师编写与维护测试脚本的语言:

自然语言

如上图所示,没一行都使用自然语言来描述一个动作,使用者一目了然。

而且自然语言脚本也支持if、if-else、while、for等各种控制流和循环语句,能够支持比较复杂的控制逻辑。

引入自然语言脚本,对于自动化测试而言的最大优势在于,能够使不熟悉自动化测试的工程师方便的编写和维护自动化测试脚本。

这是一个巨大的进步:

用户通过录制,即在录制模式下,操作一遍需要自动化执行的过程,即可生成脚本,而无需通过所谓的画图方式来创建脚本。

创建完成的脚本,通过中文自然语言来展示,没有编程基础的人也可以看懂、修改这些测试脚本。

如果需要增加测试脚本的功能,只需要通过拖拽的方式就可以实现,无需复杂的编程。

每一步都可以看到操作的对象是哪一个,操作的对象通过AutoRunner的对象指示器来显示。

可以方便的查看对象的属性信息。

AutoRunner采用beanshell作为测试脚本语言(兼容java语法,beanshell也是java标准之一),带来的优势是:高扩展性(凡是java支持的jar包都可以扩展,也可以支持jni调用dll扩展),开发测试脚本的高效率(对于熟练使用java的自动化测试工程师)。

为了支持不熟悉java的测试工程师,以及满足熟悉业务但不会编程序的其他人员使用,AutoRunner在早期的版本支持了关键字视图,能够使用结构化的方式来显示没一行测试脚本。比如,我们需要给一个输入字段赋值,脚本是 setValue(“field1”, “给字段filed1赋值”),使用关键字视图,我们看到的是对象“filed1“,和操作”setValue“,以及具体的值”给字段field1赋值“。

某些厂商使用了配置或者自然语言脚本,其实内部是xml文件格式。执行脚本的时候,实际上是通过一个分析解释xml文件来进行执行的。Xml格式能够方便的编辑和显示,但是也存在很多缺点:

扩展性。如果遇到无法实现的功能,比如发送一个短信,必须要修改解释执行程序才能够实现,这样就带来巨大的问题,我们知道自动化测试是非常复杂的,具有复杂的应用场景和使用环境,这就导致扩展性层出不穷,最终解释程序无法承载(除非你做成jvm)。另外一个问题就 在于,只有产品开发者才能修改这些解释程序,使用者很难做到。其实这个问题,自动化测试工具开发者早就发现,所以QTP使用的是微软的vb来作为自动化测试语言,使用微软vb自有的解释器来执行,而不是自己编写一个,都是为了扩展方便。

复杂业务逻辑处理。在自动化测试实践中,会遇到很多复杂的逻辑,比如计算手续费、计算基数、利息等算法。那么使用xml的配置,基本上都无法实现——因为算法太复杂了。

AutoRunner是如何提供方便的自然语言脚本,并且避免这些问题的呢?

AutoRunner使用的语言,并不是xml,而是beanshell。使用java的标准之一beanshell作为脚本语言,就可以像java一样扩展功能,不受到限制。

Java的beanshell可以编写跟java代码一样复杂的控制逻辑。

用户可以直接编写测试脚本,AutoRunner会自动把它(脚本)转化为自然语言脚本,这个很神奇吧!!!因为我们写了一个java的编译器,用来把java脚本编译成一颗语法树,再把语法树转化为自然语言脚本,就是你在IDE上看见的那个!

功能强大的脚本视图,适合有开发经验的测试工程师使用。

自然语言视图,适合缺乏开发经验与初学者来使用。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 13:27:13  更:2021-09-12 13:27:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:31:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码