• IBM Test Framework和Log4j


      一直以来在西安IBM实习,都是干的没有什么技术含量的活。终于,boss给我了一个有点技术含量的——帮一个同事完成一个framework。

      这个framework是基于IBM Rational Functional Tester这个工具的,用户使用RFT进行自动化测试,使用前需要进行操作录制,也就是按照流程在屏幕上做一遍动作,然后RFT把这些动作转换为代码,以便下次能根据代码完成自动化测试。但是,一般来说屏幕录制生成的代码质量是不高的,也就是说把我机器上的代码放在别人的机器上就不能用了。比如A用户录制的代码里面涉及到了点击屏幕坐标为(x,y)的按钮,但是B用户分辩率和A用户不一样,导致屏幕坐标失效,操作失败。为了解决这个问题,用户总是要改一些代码,这样就失去了自动化测试的意义。

      于是,我的同事想出了这样一个方法,放弃提前录制的步骤,直接让用户写xml,描述他要完成的操作,我们在解析xml文件时,通过用户的描述动态的找到屏幕中的控件,然后完成对各种控件的操作。

      比如下面的xml代码

    1 <input value="spss">
    2 <widget type="textField" text="Password: " />
    3  </input>
    4  <click>
    5 <widget type="button" text="OK" />
    6  </click>
      用户要完成的动作是:

      1.向标题为Password:的文本框输入“spss”字符串

      2.点击OK按钮

      看,这样是不是很简单!

      但是,摆在我们前面的问题很明显,提供全部动作和对象。用户描述的widget type可能是各种各样的控件,表格等等。我就负责对表格,列表等控件的实现,花了一天的时间研究了已有的代码,和同事讨论了一下,经过不少时间的努力,总算完成了我的任务,现在,这个IBM Test Framework基本的功能算是完成了。

      现在,需要加入的内容是:

      1.Log

      2.动作模板

      Log我想不用解释了吧,在网上看到对Log4j的评价很高,研究了一下,发现他果然很强大,决定将Log4j加入IBM Test Framework中去,一来是完成Log的功能,二来也算是对Log4j的学习,方便以后的使用。

      动作模板是同事提出来的设想,简单来说就是对于现在的xml,用户是要分解动作的,比如说我想要删除一个文件,我需要先想好怎么删除:在屏幕上找到一个文件,然后点击右键,选择删除,接着确认删除等。这是相当繁琐的,我们可以将上述步骤简化成一个模板,用户使用时只需要说明要删除的文件名即可,具体如何删除对用户透明。

      现在,我的同事现在有一大堆的事情要做,他的framework已经快变成我来实现了,anyway,这是一个学习的好机会,我要努力完成。

      Matthew,不要不给力呀!

  • 相关阅读:
    记一次网站迁移的过程
    如何才能搜索微信群和网盘群
    2021最新车载u盘歌曲集合,每轴更新。想要拉你入群
    工具分享:目录生成器
    福利,剪映PC版来了~ 支持windos系统和苹果系统
    微信8.0来了,可以加1w人好友,微商必看!!!
    centOS7安装 redis server
    Task handler raised error: ValueError('not enough values to unpack (expected 3, got 0)')
    《More Effective C++》读书笔记(下)
    《More Effective C++》读书笔记(中)
  • 原文地址:https://www.cnblogs.com/iammatthew/p/1874910.html
Copyright © 2020-2023  润新知