groovy - Geb 和 Spock 测试框架有什么区别

标签 groovy automated-tests spock geb

我是软件开发领域的新手,想扩展我在自动化测试方面的知识。我阅读了很多有关 Geb 和 Spock 测试框架的文章,但没有得出结论,它们的用途是什么。

我说得对吗:

Geb 用于页面对象(静态覆盖 UI 页面选择器、元素等)

Spock 用于编写测试顺序(用于测试的案例/步骤)(也能够运行 API 测试、模拟数据、参数化端点、值等)

--> 它们还有哪些区别?我已经检查了两个文档,但无法理解。

我会欣赏每一个实用的建议或示例,以及两者之间的差异,因为我涵盖了很多东西,但只有理论示例,但我没有理解主要内容。

提前致谢!

最佳答案

Geb 是一种浏览器/网络自动化解决方案。您可以使用它来测试网页的功能。 Geb 可以自动启动网页、填写表单字段并单击网页上的按钮。来自官网:

“它可以用于脚本编写、抓取和一般自动化——或者通过与 Spock、JUnit 和 TestNG 等测试框架集成,同样作为功能/网络/验收测试解决方案。”

Geb 的优势在于网络自动化。

Spock 的优势在于它是测试和规范框架。

例子

您可以通过 Geb 检查以下内容:

  • 当打开 mywebsite.com/login 并输入错误的用户名或密码时,应显示一条错误消息,比如在 div 中。

  • 当打开 mywebsite.com/submitData,填写商品名称和价格并单击提交按钮时,预计会显示一条消息,例如“谢谢,商品总数现在为 5”

关于groovy - Geb 和 Spock 测试框架有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56740201/

相关文章:

android - 如何防止猴子测试打开通知面板并关闭wifi?

android - 通过Robotium Recorder免费版我们可以记录多少个测试用例

spock - 如何使用Spock框架进行参数捕获?

grails - 断言页面时出现Geb 'at null'

grails - Groovy 中的类转换异常

mysql - 从 groovy 脚本执行时命令无法正常工作

javascript - 如何修复 Protractor 中的错误 "Process exited with error code 1"?

groovy - 在 Groovy 中抛出/捕获异常

grails - 如何使用 groovy 调用 Grails 中的服务

java - Spock rightShift( mock )运算符显然不起作用