使用 IBM Rational Functional Tester 自动化定制控件

发表于:2008-5-04 15:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

#
IBM
分享:

        除了自定义控件,没有什么能比使一个测试自动化项目变得更有趣的了,尤其是第三方自定义控件。如果您做过客户端/服务端测试,您应该知道这一点的。如果您测试过小应用程序,您很可能会遇到这样的情况。通常情况下,它们代表应用程序功能的一个关键百分率。更为常见的是,它们会将您的测试自动化工具推上战场,将它的胳膊拉到它的背后,然后使它尖叫“够了,我投降!”这样,它无论如何也要做出相应的X,Y的选择。

        对于这篇简介,这个要进行自定义控件的工具是 IBM® Rational® Functional Tester。这是关于使第三方自定义控件自动化操作中,两部分组成系列中的第一部分。首先是在一个更高的层面,对当您利用 Rational Functional Tester 进行自动化操作这些控件时将会涉及到的事物有一个简短的了解和认识。将来即将关联的指南将提供一个现实的例子,重点强调大众化自定义控件。在这篇文章中,它将一步步向您介绍,如何利用这三个步骤。

        测试小组对开发小组已经决定用一套自定义控件来进行工作的事实一无所知的事实也不少见,这些人要么在室内自己创造,要么从第三方供应商那购买。实际上,测试者们和质量担保分析者们(QA)通常只在他们开始记录测试脚本时才意识到这个问题。这就是您引用“绿野仙踪”中 Dorothy 的话,看看您的狗,说“Toto,我感觉我们已经不在堪萨斯州了。”换句话说,您可能并不知道您在这种状态下,接下来要做什么。难道您捆上了能发出火花的红宝石拖鞋,并将您的鞋后跟点三下,说过“没有像面向对象的测试自动化这样的自动化测试”吗?不可能。除此之外,难道您真的想被抓到穿着红宝石拖鞋来诅咒您自己吗。还有,如果您真的对继续您的测试自动化很重视的话,那么您很可能需要在铺着黄色砖的道路上艰难地行走,直到来到自动化工程的绿宝石之城。磨损的拖鞋可要可不要。

自动化工程之路

        如果您停下来好好想想,您会发现您正尝试用您可能一无所知的控件目在工作,除了可能是您预料之中的事之外。您了解它们的“黑匣子”行为,但是还必须去了解这些控件目的内部工作情况。就像绿野仙踪中的 Dorothy 一样,您需要做大量的研究从而找出如何使您的测试工具,Rational Functional Tester,与这些控件交互 。这将不可避免地要把它自己置于一种尝试或者错误的选择之中。然而,利用这三个将基本步骤 ,您可以躲开那些在您自动化项目过程中试图伏击您的努力,并使您处于困境的捣乱的飞天猴:

        找出您要怎样来处理这些控件,从而使它们来实现您想要实现的任务。 
        获取一些关于控件的信息(文档等等),这样您就可以将那些行为转化为控件使用的语言。 
        Instruct Rational Functional Tester 是关于如何使这些控件来实现想要的行为。
步骤 1. 确定您想要这些控件来做什么

        首先,要从基础做起。您想要 Rational Functional Tester 在自定义控件上实现什么样的行为?您想要它来分离数据?在这个控件上点击?

        不管是什么,都要把它记下来。这是一项很重要的内容,虽然这些显而易见的材料您可能认为并不值得用文件来记录。把它记下来,将为您稍后利用这个控件的文档来绘制导轨有很大帮助。这是成功地使 Rational Functional Tester 与自定义控件相互作用的关键的第一步。

步骤 2. 找出更多关于自定义控件的信息

        在步骤 1中,您已经对您需要 Rational Functional Tester 对您的自定义控件产生什么作用形成了牢固的观念(行为)。步骤 2 重点是为这些控制寻找合适的信息。这就像询问开发人员使用每个控件的属性和方法一样简单,或者会涉及更多一点的内容。比如,您发现您自己下载一个自定义控件的试用版本仅仅是为了获得 API (Application Programming Interface)文档。您还可以利用 Rational Functional Tester 提供的 Test Object Inspector,它将向您显示任何具体控件所使用的属性和方法。

        顺便提一下,我是不是提到过您朝着 Emerald City of Automation Engineering的方向在铺着黄色地砖的道路上艰难地行走?您将发现您自己正在浏览大量描述这些控件是如何处理特定事件的宝典信息。比如,您可能需要查找 Sitraka 表格中特定例子中行列的数量(有些您可能已将在步骤 1中记录过),以及通知您可以调用 getNumRows()方法的 Test Object Inspector。这与您想要的行为密切相连,因此您可以标记这个方法来使用。

        无论如何 ,这就是尝试和错误的入口之处。当您知道应该在这些控件上执行什么行为之后,您应该筛选您的信息并找到如何告诉它们如何利用它们能理解的语言来执行这些行为。这个过程有点像在另一个国家使用语言字典一样,因此您只需要找到正确的翻译即可。

        当您拥有了您的译文(比如,调用哪种方法或者参考哪个属性),将它们写在您在步骤 1 中记录的控件行为旁边。现在,无论什么时候您想要执行一个特定的行为,就会知道如何告诉这个控件如何操作(同样是,调用哪种方法或者参考哪个属性)。

步骤 3. 将这个信息运用到 Rational Functional Tester

        现在您需要打开 Rational Functional Tester 脚本编辑器,查看程序的背后是什么,这样说,就像绿野仙踪中的 Dorothy 一样。在这里您将会注意到您正处于工程设计的领域,因为您正从测试自动化向工程转移。我是通过简单的手编程序的简单练习来区别两者的。我认为,当您编写代码时,您已经不再仅仅是一位处理测试自动化的 QA 分析员。您已经变成一位自动化工程师,因为您正在设计一个超出典型方法的解决方案。如果您本来打算将您从先前两个步骤和这个步骤中获得的资产捆绑在一起,那么事实上正在扮演一个代理服务器的角色。您要告诉 Rational Functional Tester 如何通过它们的语言与这些控件对话。

这里,您有两个重要的选项。

        您可以利用 Rational Functional Tester 提供的反射方法(例如,invoke())。 
        您可以利用属性方法(getProperty(),getProperties(),setProperty()等等)。 
        决定选择哪一个取决于您在步骤 2中所做的研究。比如,如果您发现您需要调用一个程序,您可能会选择invoke()(反射)方法。当您完成选择之后,您已经成功地使 Rational Functional Tester 与分散在您程序中的自动化控件相互产生了作用。

这条路从这里将要延伸到何处

        这是关于使第三方自定义控件自动化操作中,两部分组成系列中的第一部分。这篇文提供了利用 Rational Functional Tester 进行自动化操作这些控件时所设计的事务的概述。自动操作第三方自定义控件是一个重要的过程。然而,当您正确地进行时,这个脚本能变得像防弹装置一样紧密。在这篇文中,它将一步一步地向您提供如何利用这三个重点步骤的说明。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号