Jubula-从手动测试仪到自动化的一步

图片



Jubula是一种测试自动化工具,俄罗斯许多测试人员都不知道。他带着德国的一个项目来到我们公司。

该程序由BREDEX GmbH开发,是免费的。开发人员表明Jubula能够测试Swing,SWT / RCP / GEF和JavaFX中的应用程序。使用Jubula的测试人员无需了解任何编程语言,因为测试是通过黑盒方法进行的,并且不需要源代码,这使每个人都可以自己自动化测试用例。



Jubula可以用作独立的应用程序(如在我们的项目中一样)或用作Eclipse插件(https://projects.eclipse.org/projects/technology.jubula)。



安装该应用程序后,所有内容都可以使用:用于存储项目和AUT-Agent的数据库已配置(提供Jubula与被测应用程序的连接)。 要创建一个新项目,请从菜单中选择“测试-新建”并填写字段。在AUT可执行文件中,选择可执行文件的路径以运行被测应用程序。 当然,对于其中有多个测试人员工作的大型项目,将需要对集中式数据库进行特殊设置,该设置将存储所创建的测试用例以进行回归测试,并为所有用户提供访问权限。







图片







为了使用Jubula测试应用程序,实际上,您需要使用图形界面的应用程序本身。该程序已经包含一组最必要的操作:



图片



Jubula中的测试用例创建基于关键字方法。即,创建一个新的测试用例,用户使用诸​​如单击,检查,等待等之类的单词找到必要的动作,将其添加到测试中并为其分配必要的参数。



另外,Jubula提供了“记录”测试人员执行的动作并在以后重播它们的功能。这种方法并不流行,尽管它适用于快速创建前提条件,例如当您需要“进入”所需的窗口时(在该窗口中已经执行检查)。



要创建测试用例,只需将一个步骤从“测试用例浏览器”拖到打开测试套件的工作区中即可。几个步骤可以组合成一个模块(重构-提取测试用例),以后可以在不同的测试用例中使用。更换模块将改变使用该模块的所有测试中的步骤,您需要注意这一点。如果模块在工作空间中打开,则可以通过按F7轻松查看使用该模块的所有测试用例。 Jubula中还有更多热键,在“帮助”部分的单独一行中可以非常方便地突出显示这些热键。此外,在使用搜索栏的帮助目录中,您可以找到有关程序任何功能的感兴趣的信息(英语)。



图片



在创建测试用例之前,您需要添加所有图形组件在测试中使用。使用对象映射模式可以轻松完成此操作,该模式在打开应用程序时会激活。将鼠标悬停在所需对象上,然后按Ctrl + Shift + q。必须为对象指定名称并保存,然后可以在所需步骤的“组件名称”框中选择该对象。



图片



Jubula允许您根据需要创建自己的特定步骤。为此,有executeExternalCommand和invokeExternal(Method)操作。通过他们的帮助脚本或.jar文件启动。如果没有JAVA知识,则无法创建自己的团队。在我们的项目中,配置工程师编写了几个大的.jar文件,Jubula通过.bat访问这些文件,这些文件是用executeExternalCommand编写的。



让我们考虑一个在我们的项目中创建的模块示例,该模块将活动窗口与SVN上存储的图像进行比较。首先,将将来的.jpg文件(StoreValue)的名称另存为变量,在标准takeScreenshotofActivWindow中写入该名称和新屏幕快照所在的路径,然后在executeExternalCommand步骤中启动.bat文件,在其中我们将比较的图像以及一些参数,例如图像尺寸和最大允许偏差(以像素为单位)。通过相同的.bat文件,将启动.jar,其中包含用于比较文本,图像,pdf和csv文件的类。仅对于那些初次为项目创建Jubula或添加急需的东西的人,才需要此室内厨房。创建测试用例时,测试人员会使用现成的模块(例如,从我们这里比较图片),设置参数,甚至不知道.bat中写的内容,甚至不知道.jar中的内容。



Jubula可以在测试期间与第三方应用程序进行交互。我们的应用程序生成PDF和CSV格式的报告。通过该应用程序,您可以在Adobe Reader中打开一个报告,Jubula将使用键盘快捷键将其保存,为其指定测试人员预先选择的名称,然后将其与通过executeExternalCommand以上述方式保存到SVN的文件进行比较。



检测结果以最详细的方式显示,您可以看到所有输入和输出参数。如果测试在某个步骤失败,那么Jubula会记录该时刻的屏幕快照,您可以随时参考(可以禁用此功能以节省空间)。另外,对于有错误的步骤,在大多数情况下,可以使用日志视图,该视图简要描述了错误的本质。结果可以自动以XML / HTML格式保存到选定的文件夹中。



为了确定发生错误后的操作,使用了Event_Handler-所谓的事件处理程序。可以根据错误的类型进行配置,以继续,重复(指定次数),退出,暂停等。在事件处理程序中,您可以添加测试步骤或在出现错误时必须执行的几个步骤。



您可以使用If-Then-Else来影响下一步的选择,这对于使用不同参数的重复操作非常方便。



如果您需要“滚动”到所需的值,则“边做边做”或“同时做循环”是很好的帮助[按“向下”直到出现值“ 5”,反之亦然,直到该值为“ 5”,然后按“向下”]。



图片



自然,Jubula能够进行夜间跑步,以在早晨的测试前欣赏绿色的复选标记。



Jubula就像用户在计算机上进行测试一样进行测试:他将光标移至应用程序窗口上方,单击键,因此,为了进行实验的纯粹性,您现在不能移动鼠标或触摸键盘...经验表明,即使不触摸任何东西,用户也可以乍一看使Jubula感到尴尬,以至于她找不到正确的按钮,按下它或其他东西。因此,最好的选择是在另一台计算机上运行Jubula。在我们的项目中,这是一台远程计算机,每个人都以该用户的身份登录,但他在Jubula中所做的所有更改对其他任何人都可用。



在我们的项目中,Jubula与Polarion集成在一起,这使您可以查看统计信息,其中哪些测试通过或失败,哪些测试在此运行中根本没有运行。对于每个单独的测试用例,Polarion都有一个“测试记录”字段,该字段显示Jubula的最后一个夜间跑步的结果,可以独立设置其编号(最多300个)。如果没有定期监视测试,则可以轻松跟踪测试停止通过的版本。



该程序的一个重大缺点是无法回滚任何更改,根本就没有“后退”,“撤消”或类似功能。可能的最大方法是关闭所有内容而不保存更改。但是,如果您单击“保存”,就是这样。在紧急情况下,可以从某个日期恢复项目的版本,这充满了这一天之后所做的更改将永远丢失的事实。



Jubula是一个非常好的程序,可以自动化为桌面应用程序编写的测试。如果需要并且用户具有技能,它使您可以检查所有内容,不仅可以检查GUI,还可以检查服务器端的功能。但是这种创作真的很温柔,您需要找到一种解决方法,然后您就可以快乐地使用它了!



All Articles