0

我们目前正在使用 Richfaces 3.0、Seam 2.2 和 JBOSS 6.0 开发一个贸易项目。我们正在使用 Selenium 进行 GUI 测试。我只想知道在硒测试中是否有可能访问 bean。

4

2 回答 2

1

不,Selenium 和 Seam bean 是完全不同的抽象级别。Seam bean 在 JBoss 服务器中运行,而 Selenium 在 Web 浏览器上运行。

如果您想以某种方式从内部控制应用程序,则必须为这些 bean 提供一些接口,这些接口可以通过 Selenium 测试访问。例如,如果用 Java 编写,您可能会将某些操作公开为 Web 服务或 JMX bean,并从 Selenium 测试套件访问它们。

但是请注意,这不是最佳实践 - Selenium 测试应该只在用户界面(端到端)级别上工作。尝试仅通过用户界面设置您的应用程序,而不是手动访问应用程序内部。

更新:如果您有一些通用设置(如用​​户、产品等),请将它们作为通用部署基础架构的一部分插入到您的数据库中。然后,您可以对创建/接受用户、添加产品等进行一次测试,然后简单地重用数据库中已经存在的普通用户。

于 2011-09-15T07:58:49.413 回答
0

从技术上讲,没有什么可以阻止您允许 selenium 对您的 bean 可见并直接调用它们的方法。但是,这不是一个好的设计实践。Selenium 用于测试应用程序的行为(主要是通过 GUI),不应该关心 bean 级别。也许如果你给我们一个你可能需要这样做的用例,这可能是有意义的?

过去,我通过 selenium 公开了 Web 服务和 JDBC 测试,作为 QA 人员测试应用程序某些部分的捷径,如果这就是您所说的,但最好通过 Web 服务使用它,正如 Tomasz 提到的那样。

于 2011-09-15T08:12:11.067 回答