51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2415|回复: 0
打印 上一主题 下一主题

[原创] WEB自动化测试之元素定位自动生成探索实践

[复制链接]
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-11-6 09:13:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    一、WEB自动化测试
      随着WEB程序的不断演化,WEB程序的功能愈发全面和完善。随之而来软件的规模和复杂度也与日俱增,系统内各组件之间的交互也愈发频繁。从而经常出现修改某一组件的代码,另一个组件功能出现意想不到的异常反应。这就要求测试人员执行大量的回归案例来解决这一问题,确保整个应用程序功能正常。
      日益复杂的系统和愈发严格用户体验,使得软件测试人员的测试任务愈发繁重。手工测试解决这一矛盾,需要投入大量的人力资源重复执行相似的测试步骤。客观上造成了人力资源的浪费。同时,由于测试人员技能的差异,使得软件测试质量不稳定也不可期。
      自动化测试是一种把人为驱动的测试行为转化为机器执行测试的方法。相较于传统的手工测试,这种使用机器代替人工执行测试、比对结果的方法,不仅节约了人力、时间等资源,也提高了测试效率。自动化测试具有的测试覆盖面广、测试流程规范等特点,也有力保障了测试质量的稳定可期。
      二、基于ATP平台的自动化测试框架
      ATP (Automation Testing Platform)是一款我行自主研发的自动化测试平台,是一款高效、高质完成大量占用人工成本较高的业务逻辑覆盖测试及回归测试的案例执行及结果分析的工具平台。如图-1所示,系统可以粗略的分为代码库、Object库和ATP平台三部分。代码库存放一种基于商语言描述的自动化测试脚本;Object库存放页面元素的定位描述信息;ATP平台依据Object库的元素定位信息和代码库的自动化脚本,进一步翻译成计算机可执行语言。计算机按步执行,完成测试工作。
      在这个过程中,测试人员需要手工录制和建设Object库。由于丰富的元素种类、不规范的程序编码、动态展示元素、结构复杂的DOM树等客观因素的存在,这就造成测试人员在手工录制和建设Object库时困难重重。尤其是给非计算机专业人员带来的巨大困惑和繁重工作。针对这一痛点,本文提出一种元素定位信息自动生成方法。该方法基于Page信息表(一种更直观的信息表)自动生成元素定位信息,自动构造Object对象库。
      如图-1红色虚线方框内容所示,该元素定位信息自动生成方法以Page信息表为输入,自动生成Object库中的各界面子库、总库和公共库。Page信息表、子库、总库、公共库的相对关系如图红框区域所示。
    三、元素定位信息自动生成方法
      Object库中元素定位信息描述直接决定了程序能否定位到元素,可以说Object库就是自动化测试成功的基石。因此,正确、快捷地获取元素定位信息就变得愈加重要。本文提出的元素定位信息自动生成方法是基于测试人员标注的页面信息自动生成、构建元素定位信息对象库。通过该方法,一、大量减少测试人员抓取元素定位信息的工作量;二、显著减少巨量元素信息的维护成本;三、降低了自动化测试的门槛,测试人员不需关注自动化的底层实现也可进行自动化测试;四、通俗易懂,用更接近交易操作逻辑的方式描述界面信息。使得测试人员摆脱底层实现的困惑,可以更专注于编写测试案例。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 10:37 , Processed in 0.064472 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表