本主题解释了如何生成 JUnit 测试,该测试表示 web 浏览器中记录的操作。

本章包含:

关于 Junit 测试生成

SOAtest 可以生成 JUnit 测试,它代表一个新的或之前记录的 web 场景。可以根据 Web 应用程序设置功能测试,然后使用生成的 JUnit 测试用例来使用 JUnit 框架验证测试结果。它提供了测试脚本的灵活性以及 SOAtest 的易用界面,而不必了解新的测试脚本语言。

生成的类文件是基于 JUnit 的,并且依赖于以下 jar 文件。

来自 <Parasoft Test install dir>/plugins/com.parasoft.xtest.libs_<version>:

来自 <Parasoft Test install dir>/plugins/com.parasoft.xtest.libs_<version>/Parasoft:

来自 <Parasoft Test install dir>/plugins/com.parasoft.xtest.libs.base_<version>:

来自 <Parasoft Test install dir>/plugins/com.parasoft.xtest.libs.base_<version>/Parasoft:

来自 <Parasoft SOAtest install dir>/eclipse/plugins/com.parasoft.xtest.libs.web_<version>/root/lib-java-mod:

来自 <Parasoft SOAtest install dir>/eclipse/plugins/com.parasoft.xtest.libs.web_<version>/root:

来自 <Parasoft SOAtest install dir>/eclipse/plugins/com.parasoft.xtest.license.eclipse.core.web_<version>/lib:

前提条件

启动生成 JUnit 测试之前,先执行一次配置:

  1. 切换到 Java 透视图(选择 Window> Open Perspective> Other> Java)。
  2. 在工作空间中创建一个新的项目,并命名为 MyJUnitTest
  3. 在包视图中,右键单击新的 MyJUnitTest 项目,然后从快捷菜单选择 Properties
  4. 选择 Java Build Path,然后跳转至 Libraries 选项卡并单击 Add External JARs
    1. 将所有驻留在 <Parasoft Test install dir>/plugins/com.parasoft.xtest.libs_<version> 中的 jar 文件添加到项目的构建路径中。
    2. 将所有驻留在 <Parasoft Test install dir>/plugins/com.parasoft.xtest.libs_<version>/Parasoft 中的 jar 文件添加到项目的构建路径中。
    3. 将所有驻留在 <Parasoft Test install dir>/plugins/com.parasoft.xtest.libs.base_<version> 中的 jar 文件添加到项目的构建路径中。
    4. 将所有驻留在 <Parasoft Test install dir>/plugins/com.parasoft.xtest.libs.base_<version>/Parasoft 中的 jar 文件添加到项目的构建路径中/。
    5. 将所有驻留在 <Parasoft SOAtest installation dir>/eclipse/plugins/com.parasoft.xtest.libs.web_<version>/root 中的 jar 文件添加到项目的构建路径中/。
    6. 将所有驻留在 /eclipse/plugins/com.parasoft.xtest.license.eclipse.core.web_<version>/lib 中的 jar 文件添加到项目的构建路径中/。
  5. 来自 Java Build Path> Libraries 选项卡:
    1. 单击 Add Library
    2. 选择 JUnit,然后单击 Next
    3. 确保将 JUnit library version 设置为 JUnit 4,然后单击 Finish

在记录场景时,从该场景生成 JUnit 测试

若要在记录场景时,从该场景生成 JUnit 测试:

  1. 返回到 SOAtest 透视图。
  2. 打开 New 工具栏按钮(左上角)的下拉菜单,选择 Other,选择 SOAtest> Web> JUnit test from Web Browser Recording,然后单击 Next



  3. 完成记录并生成 JUnit 测试向导页面,如下所示:
  4. 点击 Finish 按钮。指定的开始页面将在选定的浏览器中打开。
  5. 指定希望通过在浏览器中跟随它来捕获的功能。可以单击链接、完成和提交表单、使用导航栏进行打开的 URLs、访问快捷方式、前进或后退,等等。

    为了保证记录正常运行,必须等到每个页面都已完全加载后再执行操作。  每次在执行操作之前,必须等待页面或页面的某些部分被重新加载。

若要完成表单,请直接在 GUI 控件中输入值,就像实际导航站点一样。例如,输入用户名和密码,选择单选按钮,选中或清除复选框,等等。

记录会话时,请注意:

  • 记录期间不支持 IE (网络选项高级设置)中的密码回调和自动完成。
  • 不支持 Google 工具栏的自动填充功能。
  • 如果在字段中输入术语的开头,而随后单击下拉菜单中的建议,则可能不会记录 "type" 测试。

     6.关闭浏览器窗口。

将向指定的输出位置添加一个 JUnit 测试类。新项目将不会被创建或添加到测试用例资源管理器中。

从以前记录的场景生成 JUnit 测试

若要生成 JUnit 测试,它代表以前记录的测试场景:

  1. 返回到 SOAtest 透视图。
  2. 在测试用例资源管理器中,右键单击要为其生成 JUnit 测试的 web 场景,然后从快捷菜单选择 Generate JUnit Tests
  3. 完成 Generation Options 对话框,然后单击 Finish。可用选项包括:

许多用户发现将所有测试放到同一个项目中很方便。然而,如果您愿意,可以创建多个项目。

执行生成的测试

若要执行生成的测试;

  1. 跳转至 Java 透视图。
  2. 刷新 MyJUnitTest 项目。应该看到一个表示生成的测试的节点。
  3. 右键单击 MyJUnit.java ,然后选择 Run As> JUnit Test

也可以从命令行中执行这些测试,如 Junit 文档中所述。

配置 JUnit 测试执行的许可证信息

运行 SOAtest 生成的 JUnit 测试要求许可证信息。许可证信息有以下两种方式:

添加断言语句到生成的测试

SOAtest 生成的每个 JUnit 测试都由一个测试函数组成,该函数模拟 SOAtest 测试的测试序列。无论服务器什么时候返回响应,测试都将为测试函数中声明的响应对象赋值。应该在这些分配之后插入断言语句,以验证是否需要来自服务器的响应。

我们创建了注释块,并在其中建议在测试函数中放置断言。

例如:

public void testA() throws Exception {
	WebConversation wc = new WebConversation();
 
	WebRequest req = new GetMethodWebRequest("http://mole/tests/"); 
	WebResponse resp = wc.getResponse(req);
	//Begin assertions
 
	//End assertions
	
	WebLink link = resp.getLinkWith("popup.html"); 
	link.click();
	resp = wc.getCurrentPage();
	//Begin assertions
 
	//End assertions
 
	WebForm form = resp.getFormWithName("childrenForm"); 
	resp = form.submit();
	//Begin assertions
 
	//End assertions
}

在上面的 JUnit 测试函数中,每次为 WebResponse 对象分配一个新值时,都会出现这些块。