6、在未分配的技术名称部分下按control + shift + Q显示相应字段技术名称,重复测试套件中的所有字段。
7、现在将未分配的组件名称映射到技术名称中
8、保存工作区并退出对象映射模式
步骤8 运行测试套件
在运行测试套件前,先确保使用Jubula调用AUT
单击测试套件中的运行按钮
(也可以将激活应用程序作为第一步,但是如果没有,请确保在运行测试套件后激活应用程序))
结果如下:
要点注意:
通过Excel向测试套件提供数据时,通过示例格式提供excel文件的位置:
C://Data//Data.xls
在上述演示中,使用变量'= Value1',='Value2'和='Result'对数据进行参数化。
在这种情况下,当需要通过excel文件传递值时,请确保该文件具有与名称完全匹配的相应列,并将其设置为在创建项目时选择的语言。
从All programs中启动Agent后,可连接外部AUT Agent,( localhost:60000),其中可以找到启动和停止Agent选项
可以在测试作业下创建多个测试套件,当测试涉及多个应用程序(不同的AUT可以分配给不同的测试套件)时,这会是很有帮助的。这阐述了关于这个测试工具的基础知识,熟悉Jubula的基本操作,使复杂功能自动化并处理各种测试对象。Jubula也可以通过不同的技术自动化开发应用程序,而不仅仅是swing应用程序。
使用JAVA代码在Jubula中创建框架:
通过上边的内容,我们可以了解到如何使用JAVA代码在Jubula中建构一个自定义的框架。
有些可能无法在Jubula工作区间中找到自动化功能并重复使用。大范围的自动化可能不能实现,但是对于我们使用Jubula GUI的每个动作,都会有个相应的JAVA方法。在这一部分,我们将看到例如JAVA方式的基本内容,这适应于任何可以构建的复杂框架。
Jars
Jubula的安装文件夹中提供了方法所需的jar:
C:\Program Files\jubula_8.2.0.021\development\api
AUT
让我们先看看如何连接AUT Agent,以及如何使用AUT配置创建AUT标识符来调用AUT
我们需要以下变量:
1 AUTAgent autagent = null;
2 AUTConfiguration autconfiguration = null;
3 AUTIdentifier autidentifier = null;
4 AUT aut = null;
与AUT agent链接
1 autagent = MakeR.createAUTAgent("localhost",60000);
2 autagent.connect();
启动AUT
1 autconfiguration = new
2 SwingAUTConfiguration("Autidentifier", "Autidentifier","runlocal.bat","C:\\Application",null,Locale.getDefault());
3 autidentifier = autagent.startAUT(autconfiguration);
4 aut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation());
5 aut.connect();
其中runlocal.bat是可执行文件,C:\\ Application是可执行文件所在的位置。
我们也可以为其他工具包创建配置。
例如:JavaFXAUTConfiguration, RCPAUTConfiguration, HTMLAUTConfiguration.
现在可以使用实例'aut'来执行测试动作。但是我们需要有对象标识符来执行测试操作
创建对象映射类
右键单击对象映射编辑器,从' Use in API ' 选择'Export Object Mapping to File',并将对象映射详细信息导出到Java类。
项目中包含这个类,我将其保存为OM.java,其中存在对象映射编辑器中每个对象的技术标识。
执行测试操作
测试操作可分为两步执行
步骤1:定义必须执行测试操作的组件
1 TextInputComponent input1 = SwingComponents.createJTextComponent(OM.txtValue1);
2 TextInputComponent input2 = SwingComponents.createJTextComponent(OM.txtValue2);
3 ButtonComponent equals = SwingComponents.createAbstractButton(OM.btnEquals);
4 TextComponent result = SwingComponents.createJLabel(OM.txtResult);
步骤2:执行操作
1 aut.execute(input1.replaceText("10"), "jubula");
2 aut.execute(input2.replaceText("15"), "jubula");
3 aut.execute(equals.click(1,InteractionMode.primary), "jubula");
4 aut.execute(result.checkText("25",Operator.equals), "jubula");
Jubula只是一个虚拟文本,其中最好还包含动作的描述。
'execute'语句包含CAP(C-Component,A-Action,P-Parameter(Data))
操作和参数对应于Jubula工作区中相同分测试用例。
使用多个AUT
当使用Jubula java方法开发框架时,使用多个应用程序并在它们之间进行交换会有些困难。处理多个应用程序时,确保在执行操作之前激活AUT,并在完成操作后将其关闭。
激活时:
连接autagent。
连接aut。
停用时:
断开aut。
断开autagent
例如:
1 Activate(autidentifier1); 2 //perform actions on aut1 3 Currentaut.execute(…) 4 Currentaut.execute(…) 5 Deactivate(autidentifier1); 6 Activate(autidentifier2); 7 //perform actions on aut2 8 Currentaut.execute(…) 9 Currentaut.execute(…) 10 Deactivate(autidentifier2); 11 Activate(autidentifier1); 12 //perform actions on aut1 13 Currentaut.execute(…) 14 Currentaut.execute(…) 15 Deactivate(autidentifier1); |
激活和停用时:
1 public static void Activate(AUTIdentifier autidentifier){ 2 3 if(autagent.isConnected()) { 4 autagent.disconnect(); 5 autagent.connect(); 6 } 7 else 8 autagent.connect(); 9 10 if(Currentaut==null){ 11 Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); 12 Currentaut.connect(); 13 } 14 15 else{ 16 17 if(Currentaut.isConnected()){ 18 Currentaut.disconnect(); 19 Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); 20 Currentaut.connect(); 21 } 22 else{ 23 Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); 24 Currentaut.connect(); 25 } 26 } 27 28 } 29 30 public static void DeActivate(AUTIdentifier autidentifier){ 31 32 if(Currentaut.isConnected()) 33 Currentaut.disconnect(); 34 35 if(autagent.isConnected()) 36 autagent.disconnect(); 37 38 } |
关于作者:本篇教程是由Geethalakshmi.写的,她在全球顶尖的软件测试机构担任首席技术工程师,对功能自动化测试工具具有浓厚的兴趣。