使用 JUnit (Java) 的 Selenium 单元测试

Posted

技术标签:

【中文标题】使用 JUnit (Java) 的 Selenium 单元测试【英文标题】:Selenium Unit Test using JUnit (Java) 【发布时间】:2011-10-02 18:26:14 【问题描述】:

我只是想快速询问一下,我在互联网上甚至在 SO 上都找到了 Selenium IDE 如何根据您在浏览器中所做的事情创建 Java 源文件。但是所有这些来源都会导致一些单元测试。对于 Java,我相信 Selenium IDE 支持 JUnit 和其他一些。

但我想问,为什么?我的意思是,如果您仍然需要在执行之前编译它们,为什么要使用单元测试而不是只运行代码并查看 WebDriver 是否抛出任何异常?在这里使用例如 JUnit 有什么好处?我知道它主要以这种方式使用,我只是不知道为什么。谢谢。

【问题讨论】:

【参考方案1】:

我想到了几个原因:

1) 您可以将您的 selenium 测试挂接到您的构建过程(以及您的 CI 过程)中。

2) 您可以使用 JUnit 断言。

3) 您可以构建多个 JUnit 测试套件(然后可以并行运行)。

我敢肯定还有更多,但我想这取决于您拥有的测试数量以及您正在从事的项目的规模。如果您的项目已经有一组 JUnit 测试,那么无需太多努力就能编写 selenium 测试非常好。

【讨论】:

【参考方案2】:

如果您使用 Junit,您可以在使用 @before 和 @after 注释开始新测试之前快速从失败中恢复。你也可以用它来 TearDown 测试。这也使测试更有条理。

【讨论】:

【参考方案3】:

并非总是有例外。您的应用程序可以处理异常/用户输入/等并导航到预期的不同页面而不会引发异常 - 这可以通过 JUnit 轻松验证 - 断言页面的预期标题/存在具有实际值的元素。

【讨论】:

以上是关于使用 JUnit (Java) 的 Selenium 单元测试的主要内容,如果未能解决你的问题,请参考以下文章

Java单元测试工具:JUnit4

java中框架Junit应该怎么使用?

java之Junit

Java的Junit与debug模式入门

Java测试工具使用--Junit

使用 JUnit (Java) 的 Selenium 单元测试