Jubula分布指南—开源自动化功能测试工具

发表于:2017-4-14 09:05

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

 作者:Geethalakshmi    来源:51Testing软件测试网原创

分享:
  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.写的,她在全球顶尖的软件测试机构担任首席技术工程师,对功能自动化测试工具具有浓厚的兴趣。
版权声明:51Testing软件测试网(www.51testing.com)原创出品,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。
33/3<123
重磅发布,2022软件测试行业现状调查报告~

精彩评论

  • xiaosu453653
    2017-11-28 10:45:03

    你好,项目是JavaFX,用自动化工具导出API后怎样用eclipse搭建自动化环境呢?请高手指点一下。邮箱地址:453653861@qq.com

  • 风竹肃
    2017-11-26 00:09:41

    你好,请问:我导出代码后,怎样使用eclipse去执行呢?怎样用eclipse搭建jubula自动化环境呢?能否指点一下?
    我现在将用例生成java代码了,但是不知道怎样执行

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号