WebObjects/Project WONDER/Frameworks/ERSelenium
- 查看 Project Wonder - ERSelenium 位于 Wonder/Common/Frameworks 文件夹中。
- 在 Eclipse 文本编辑器中检查 ERSeleniumExample/Resources/Selenium/main/ 中的测试用例,以及来自BugTracker 的测试用例。
- 启动 ERSeleniumExample 并将您的浏览器指向 SeleniumStartTesting 直接操作 URL(例如,http://192.168.0.58/cgi-bin/WebObjects/ERSeleniumExample.woa/-42422/wa/SeleniumStartTesting)。
您也可以使用 Selenium IDE 来创建和编辑测试
- 启动 FireFox 并安装 Selenium IDE Firefox 插件。
- 使用 Selenium IDE 格式插件安装说明 安装 Selenese-ide-plugin.js(它位于 ERSelenium/Resources 中)。
- 使用 Selenium IDE 试玩 ERSeleniumExample/Resources/Selenium/ 中的测试用例。
ERSelenium 为有效使用 SeleniumCore 与 WebObjects 应用程序提供了一些功能,包括
- 可在每个测试之前/之后运行的自定义设置/拆卸操作。
- 基本 URL 独立性。
- 支持 HTML 和 Selenese 测试格式(计划支持 Java)。
- 从项目源代码树中的文件“即时”生成测试套件。
- 可书签的直接操作 URL,用于运行所有测试(可用于自动化测试)。
- 元命令(在注释中指定的特殊指令)。
SeleniumCore 是一个强大的 javascript 工具包,用于 Web 应用程序“黑盒”测试。它模拟各种用户操作,例如:点击超链接、在输入字段中编辑文本、从列表中选择项目等等。
您可以直接从工作区使用 ERSelenium
- 将其指定为项目的 工作区依赖项。
- 在项目的 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
- 不要在 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 中。