热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软件测试工程师必备:WebUI自动化测试用例脚本编写技巧

robotframework-ride是一款开源的通用的自动化软件。功能强大、应用灵活,适用于功能测试、协议测试、跨系统测试、webUI页面测试等,今天

robotframework-ride是一款开源的通用的自动化软件。功能强大、应用灵活,适用于功能测试、协议测试、跨系统测试、webUI页面测试等,今天就来和大家聊聊关于webUI自动化测试的一些使用技巧或功能吧。

close browser关键字配置不可缺少

测试webUI,不可避免的就是打开浏览器,试想一下,我们每跑一个自动化用例都打开一次浏览器而不关闭,当我们执行了十几个甚至更多的用例时,我们的桌面上将会打开十几个甚至更多的浏览器,这样我们的电脑性能将会被拖慢。

如果我们手工去关闭,不小心就可能关闭错误把正在运行的关闭掉,导致测试执行失败,退一步来说,自动化执行的时候还要人工干预,这也不是自动化的目的了,所以在写测试用例执行脚本的时候,close browser关键字是不可少的。

那么这个关键字在哪里设置?它是设置在我们测试用例脚本执行上方的teardown事件中,如下图:

这样设计好之后,我们执行完测试用例,浏览器就会自动关闭,不会出现电脑上浏览器堆积的现象。

超时设置不可缺少

我们在手工测试的时候,由于系统未经过验证或环境了问题,经常会遇到打开网页或查询的时候,网页一直在转圈圈,无法打开或查询到我们想要的内容,跑自动化的时候这种现象也是不可避免。

手工测试的时候,时间长了我们可以人工干涉,强制关闭页面,自动化的时候,要怎么办呢?

那就要用到超时(timeout事件)设置了,当然这个时间也不是随便设置的,要根据这个网页实际打开的时间和我们的性能要求来设置的,如果涉及到查询花费时间比较长的时候这个时间也要相对长一些,避免用例没执行完毕,任务失败。

一般来说我们设置这个时间要比实际打开网页或查询出结果的时间多几秒就可以了,因为太接近很可能会因为后台的一些进程没处理完毕,导致我们的任务执行失败。

比如我们打开一个网页的时间是5秒钟,我把超时时间就设置为5秒,这样执行用例到最后失败了,就是因为这个时间设置的太接近了。

然后我们把这个时间修改为9秒,保存后再次执行用例,用例跑成功了。

必要的变量设置可以提高工作效率节省时间

在测试用例编写的时候,我们会发现有些关键的信息我们是经常用到的,比如用户名和密码。

不管我们测试哪个页面功能,我们首先要做的就是输入用户名和密码登录系统,如果我们每次都去输入麻烦不说,还很浪费时间。

另外就是密码是需要不定期修改的,每次修改后我们的用例的密码肯定也要跟着变的,这个时候如果我们一个个的去查找用例修改密码显然也是很浪费时间的事情,还有可能会存在没有检查修改到的问题,那怎么办呢?

ride页面给我们提供了一个变量设置的功能,我们可以把这些频繁使用存在变化的参数设成变量,每次引用或修改的时候直接修改相应的变量值就可以了,避免查找和重复输入的工作。

具体操作方法是选中用例套件,单击右键,在弹出的菜单中单击new list variable。

就可以到变量创建页面了,创建好的变量在测试套件下就能看到如下图。

自定义关键字减少重复动作的重复录入

在测试网页系统的时候,每一个测试用例必不可少的就是登录系统,所以在执行相关用例前,我们首先要登录系统,每一个用例都要写相同的登录系统脚本,未免太浪费时间。

这时候我们需要借ride中的创建关键字功能,把重复的动作定义为一个关键字直接拿来用。

如我把登录163邮箱系统这个测试用例编写好之后,选中所有编写行,单击右键,选中扩展关键字选项,就会弹出下图的页面,在此页面我们可以自行给新创建的关键字命名。

如这次窗口输入login163mail,点OK保存后,在左方的列表就会出现一个名为login163mail的配置文件,原来的登录测试脚本也变成了login163mail这一行关键字。

在以后的用例编写脚本中,有要登录的时候都可以用这个关键字来实现,当然如果我们编写脚本时还有类似的功能模块,同样的也可以定义成关键字来用,好了今天就和大家聊这么多。

PS:有同学可能会问,为什么不用create keyword?

其实也可以用的,但用这个选项就不会有关键字命名那个弹框弹出来,就是系统默认的名字,这个名字有可能就会是编写行的第一个关键字,就会造成关键字重复,同时也不利于我们后期的使用,还是要修改,何不一步到位。


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 006_Redis的List数据类型
    1.List类型是一个链表结构的集合,主要功能有push,pop,获取元素等。List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,List的设 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
author-avatar
lululove8_530
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有