【发布时间】:2011-09-15 07:49:36
【问题描述】:
我们目前正在使用 Richfaces 3.0、Seam 2.2 和 JBOSS 6.0 开发一个贸易项目。我们正在使用 Selenium 进行 GUI 测试。我只想知道是否有可能在硒测试中访问 bean。
【问题讨论】:
标签: java testing selenium javabeans jsf-1.2
我们目前正在使用 Richfaces 3.0、Seam 2.2 和 JBOSS 6.0 开发一个贸易项目。我们正在使用 Selenium 进行 GUI 测试。我只想知道是否有可能在硒测试中访问 bean。
【问题讨论】:
标签: java testing selenium javabeans jsf-1.2
不,Selenium 和 Seam bean 是完全不同的抽象级别。 Seam bean 在 JBoss 服务器内运行,而 Selenium 在 Web 浏览器上运行。
如果你想以某种方式从内部控制应用程序,你必须为这些 bean 提供一些接口,这些接口可以通过 Selenium 测试访问。例如,如果使用 Java 编写,您可能会将某些操作公开为 Web 服务或 JMX bean,并从 Selenium 测试套件中访问它们。
但是请注意,这不是最佳实践 - Selenium 测试只能在用户界面(端到端)级别上工作。尝试仅通过用户界面而不是手动访问应用程序内部来设置您的应用程序。
更新:如果您有一些通用设置(如用户、产品等),请将它们作为通用部署基础架构的一部分插入到您的数据库中。然后,您可以对创建/接受用户、添加产品等进行单一测试,然后简单地重用数据库中已经存在的普通用户。
【讨论】:
技术上没有什么可以阻止您允许 selenium 对您的 bean 可见并直接调用它们的方法。但是,这不是一个好的设计实践。 Selenium 用于测试应用程序的行为(主要通过 GUI),不应该关心 bean 级别。也许如果你给我们一个用例说明你为什么需要这样做,这可能是有意义的?
过去,我通过 selenium 公开了 Web 服务和 JDBC 测试,作为 QA 人员测试应用程序某些部分的捷径,如果这就是您所说的,但最好通过 Web 服务使用它提到了 Tomasz。
【讨论】: