跳转到内容

WebObjects/Project WONDER/Frameworks/ERSelenium

来自维基教科书,自由的教科书

快速入门

[编辑 | 编辑源代码]

您也可以使用 Selenium IDE 来创建和编辑测试

概述和使用注意事项

[编辑 | 编辑源代码]

ERSelenium 为有效使用 SeleniumCore 与 WebObjects 应用程序提供了一些功能,包括

  • 可在每个测试之前/之后运行的自定义设置/拆卸操作。
  • 基本 URL 独立性。
  • 支持 HTML 和 Selenese 测试格式(计划支持 Java)。
  • 从项目源代码树中的文件“即时”生成测试套件。
  • 可书签的直接操作 URL,用于运行所有测试(可用于自动化测试)。
  • 元命令(在注释中指定的特殊指令)。

SeleniumCore 是一个强大的 javascript 工具包,用于 Web 应用程序“黑盒”测试。它模拟各种用户操作,例如:点击超链接、在输入字段中编辑文本、从列表中选择项目等等。

使用 ERSelenium

[编辑 | 编辑源代码]

您可以直接从工作区使用 ERSelenium

  1. 将其指定为项目的 工作区依赖项。
  2. 在项目的 Properties 文件中启用它
SeleniumTestsEnabled=true

可以在 Properties 中启用 ERSelenium 的调试输出,方法是

log4j.logger.er.selenium = DEBUG

其他 ERSelenium 属性

  • SeleniumTestsRoot="SomeOtherPath" - 更改测试位置。默认情况下,ERSelenium 会在“Resources/Selenium”中搜索测试。
  • SeleniumActionsClass="FullClassName" - 指定包含方法的类,这些方法应该在使用 SeleniumAction 直接操作进行测试之前和期间执行(有关详细信息,请参见下文)。默认情况下,使用 SeleniumDefaultSetupActions 类。
  • SeleniumReportPath="PathName" - 指定测试完成后创建的报告文件的路径。默认值为“./Contents/Resources/”。

在 SeleniumTestsRoot 文件夹(默认情况下为 Resources/Selenium)中,您应该创建测试层次结构。测试分为组,每组位于自己的文件夹中。每个文件夹中应该包含一组测试文件,每个文件都采用 ERSelenium 支持的格式之一。示例层次结构

./Resources
  ./Selenium
    ./registration
      ./successful.sel
      ./alreadyexists.sel
    ./shop
      ./buyitem.html
      ./notenoughmoney.html
      ./transfer.sel

您可以使用标准 HTML 和 wiki 风格的 Selenese 格式来编写测试,尽管 Selenese 格式通常是首选。

要运行所有测试,请将您的浏览器指向 SeleniumStartTesting 直接操作:http://[baseurl]/wa/SeleniumStartTesting

例如:http://127.0.0.1/cgi-bin/WebObjects/SampleProject.woa/-42421/wa/SeleniumStartTesting

要运行特定组的测试,请添加“/TestGroupName”。

http://[baseurl]/wa/SeleniumStartTesting/TestGroupName
http://127.0.0.1/cgi-bin/WebObjects/SampleProject.woa/-42421/wa/SeleniumStartTesting/registration

为 ERSelenium 编写测试的一些提示

[编辑 | 编辑源代码]
  • 不要在 open/openWindow 命令中使用完整 URL(http://[baseurl] 部分将由 ERSelenium 添加)。
  |open|/wa/EditPerson|
  |open|/|
  • 您可以通过打开 /wa/SeleniumAction/methodName URL 来使用 SeleniumActionsClass 属性中指定的类的设置/拆卸方法,例如
  |open|/wa/SeleniumAction/resetSession|
  • 您可以使用 @repeat-@values-@done 元命令来执行测试的特定部分,并在文本框中编辑不同的值,例如
  |open|/|
  @repeat
  ...some actions...
  @values __selenium_test@ @__sel notcorrect@@
  |type|xpath=id('content')/input|__selenium_test@incorrectdomain|
  ...some actions...
  @done

@repeat 和 @done 之间的命令将重复多次,每次在“xpath=id('content')/input”输入字段中使用新的值。

注意:在 Selenese 格式中,不以“|”开头的行被视为注释,因此上面的示例中的元命令将被 Selenium IDE 安全地处理。

  • Selenium IDE Firefox 插件XPath Checker 对创建和编辑 Selenium 测试非常有用。Selenium IDE Selenese 源代码插件(带适当的注释支持)位于 ERSelenium/Resources/selenese-ide-plugin.js 中。
华夏公益教科书