• 12
  • 12
分享

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

  close browser关键字配置不可缺少

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

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

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

2-1.png

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

  超时设置不可缺少

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

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

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

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

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

2-2.png

2-3.png

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

2-4.png

2-5.png

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

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

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

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

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

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

2-6.png

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

2-7.png

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

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

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

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

2-8.png

2-9.png

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

2-10.png

2-11.png

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

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

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



作者:薇薇   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 单元测试单元测试是应用程序测试策略中的基本测试,通过对代码进行单元测试,可以轻松地验证单个单元的逻辑是否正确,在每次构建之后运行单元测试,可以帮助您快速捕获和修复因代码更改(重构、优化等)带来的回归问题。一、单元测试的目的以及测试内容为什么要进行单元测试提高稳定性,能够明确地了解是否正确的完成开发;快速反馈bug,跑一遍单元测试用例,定位bug;在开发周期中尽早通过单元测试检查bug,最小化技术债,越往后可能修复bug的代价会越大,严重的情况下会影响项目进度;为代码重构提供安全保障,在优化代码时不用担心回归问题,在重构后跑一遍测试用例,没通过说明重构可能是有问题的,更加易于维护。单元测试要测什...
            0 0 1602
            分享
          • 一、Web性能测试:(压力测试、负载测试、连接速度测试)1、压力测试:并发测试 (如500人同时登录邮箱)2、负载测试:根据场景设计测试用例如:100用户登录邮箱200用户查看新闻300用户查看科技3、连接速度测试:①用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网②如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开③有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了④连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面小结:测试内容 性能测试连接速度测试登入链接时间,页面刷新时间等...
            0 0 2097
            分享
          •   功能测试对于测试人员来说并不陌生,功能测试执行的大体流程是根据需求说明书设计测试用例,测试执行,测试总结。同样性能测试的执行过程也是如此。然而,功能测试与性能测试的区别在于,功能测试是单用户,性能测试是多用户,是从1到N的量变。由于无法通过手工操作模拟多用户并发,因此需要借助工具来实现用户操作被测系统某场景的动作流程,也就是编写测试脚本。那么,如何开展性能测试呢?  1、需求分析  通常开发人员会提供接口文档以及非功能需求文档。标准的接口文档中描述了接口请求地址,请求方式,参数类型以及请求报文和响应报文示例。如果接口文档中描述内容不是很清楚,测试人员可以通过抓包工具比如Fiddler,Ch...
            13 13 1647
            分享
          •   Web自动化三大报错有哪些呢?接下来给大家讲讲。  Web自动化三大报错(Exception)  1. Exception1:no such element(没有在页面上找到这个元素)  reason1:元素延迟加载了  solution:  添加隐式等待:  # 隐式等待   driver.implicitly_wait(5)  每隔0.5s去找一次元素,如果找到就继续执行,如果没找到就继续去找。  一直到你配置的时间,还没找到,就报no such element。  大大加强了自动化的稳定性,默认都是需要配的。  reason2:定位器写错(拼写错误、id是变化的等)  so...
            0 0 413
            分享
          •   据第一财经报道,在结束访华行程前,挪威首相今晚在上海表示,此访签署了《中国和挪威关于建立绿色转型对话的联合声明》。  挪威首相提到,挪威不是欧盟国家,没有共同贸易政策,同时挪威也不生产汽车零部件,不会参与对华电动车加征关税。  据此前报道,8 月份挪威共售出 11114 辆汽车,电动汽车占比达 94%,创下新的世界纪录。今年 1 至 8 月,挪威电动汽车占新售乘用车销量的近 87%。  挪威是主要的石油和天然气生产国,但该国已设定目标在 2025 年之前仅销售零排放车辆,比欧盟的目标提前 10 年。作者:沛霖(实习)原文链接:IT之家(ithome.com)
            0 0 70
            分享
      • 51testing软件测试圈微信