Geb 和 Spock 测试框架有什么区别
What is the difference between Geb and Spock testing frameworks
我是软件开发领域的新手,想扩展我在自动化测试方面的知识。我阅读了很多有关 Geb 和 Spock 测试框架的文章,但没有得出结论,它们的用途是什么。
我说得对吗:
Geb 用于页面对象(静态覆盖 UI 页面选择器、元素等)
Spock 用于编写测试命令(Cases/Steps 用于测试)(也能够 运行 API 测试,模拟数据,参数化端点,值等。 )
--> 它们还有哪些区别?我已经检查了两个文档,但无法理解。
我会欣赏每一个实用的建议或示例,以及两者之间的差异,因为我涵盖了很多东西,但只有理论示例,但我没有掌握主要内容。
提前致谢!
Geb 是一个 browser/web 自动化解决方案。您可以使用它来测试网页的功能。 Geb 可以自动启动网页、填写表单字段并单击网页上的按钮。来自官网:
"It can be used for scripting, scraping and general automation — or equally as a functional/web/acceptance testing solution via integration with testing frameworks such as Spock, JUnit & TestNG."
Geb 的优势在于网络自动化。
Spock 的优点在于它是测试和规范框架。
例子
您可以Geb查看以下内容:
当打开 mywebsite.com/login 并输入错误的用户名或密码时,应显示一条错误消息,例如 div.
当打开 mywebsite.com/submitData 时,填写商品名称和价格并单击提交按钮,预计会显示一条消息 "Thank you, the total number of items is now 5"
GEB 建立在 WebDriver 库之上,并且兼容所有使用 WebDriver 的浏览器和驱动程序。
最常用的实现 UI 自动化的方法是通过页面对象模型设计模式的实现,Geb 通过在其 'Page' [=50= 中实现所有样板代码来支持页面对象模型].自动化框架中的自定义页面需要扩展此 'Page' class 才能访问现成的函数和闭包。
一些额外的要点:
它使用 jQuery-ish 导航器 API 来识别页面上的元素。
有现成的 'js' 对象,可让您在页面上执行 JavaScript。
- 有些闭包可以让您切换到另一个 Window/iFrame/Alert 网页
- 下拉菜单、单选按钮、文件上传、复选框等的简化处理
- 引入 'Interact' 构建和执行用户操作的块(通过利用 Selenium WebDriver API 的 Action class)
- geb.config 文件允许开发人员添加对多种环境、驱动程序、报告、等待等的支持。
中阅读有关 Geb 的更多信息
另一方面,SPOCK 是一个 BDD 测试和规范框架,其灵感来自 JUnit、jMock、RSpec、Groovy、Scala、Vulcans 等框架
SPOCK 与 Geb 高度兼容并提供 'GebReportingSpec' class 需要通过测试 classes 进行扩展以建立与 Geb 的兼容性
我是软件开发领域的新手,想扩展我在自动化测试方面的知识。我阅读了很多有关 Geb 和 Spock 测试框架的文章,但没有得出结论,它们的用途是什么。
我说得对吗:
Geb 用于页面对象(静态覆盖 UI 页面选择器、元素等)
Spock 用于编写测试命令(Cases/Steps 用于测试)(也能够 运行 API 测试,模拟数据,参数化端点,值等。 )
--> 它们还有哪些区别?我已经检查了两个文档,但无法理解。
我会欣赏每一个实用的建议或示例,以及两者之间的差异,因为我涵盖了很多东西,但只有理论示例,但我没有掌握主要内容。
提前致谢!
Geb 是一个 browser/web 自动化解决方案。您可以使用它来测试网页的功能。 Geb 可以自动启动网页、填写表单字段并单击网页上的按钮。来自官网:
"It can be used for scripting, scraping and general automation — or equally as a functional/web/acceptance testing solution via integration with testing frameworks such as Spock, JUnit & TestNG."
Geb 的优势在于网络自动化。
Spock 的优点在于它是测试和规范框架。
例子
您可以Geb查看以下内容:
当打开 mywebsite.com/login 并输入错误的用户名或密码时,应显示一条错误消息,例如 div.
当打开 mywebsite.com/submitData 时,填写商品名称和价格并单击提交按钮,预计会显示一条消息 "Thank you, the total number of items is now 5"
GEB 建立在 WebDriver 库之上,并且兼容所有使用 WebDriver 的浏览器和驱动程序。
最常用的实现 UI 自动化的方法是通过页面对象模型设计模式的实现,Geb 通过在其 'Page' [=50= 中实现所有样板代码来支持页面对象模型].自动化框架中的自定义页面需要扩展此 'Page' class 才能访问现成的函数和闭包。 一些额外的要点:
它使用 jQuery-ish 导航器 API 来识别页面上的元素。
有现成的 'js' 对象,可让您在页面上执行 JavaScript。
- 有些闭包可以让您切换到另一个 Window/iFrame/Alert 网页
- 下拉菜单、单选按钮、文件上传、复选框等的简化处理
- 引入 'Interact' 构建和执行用户操作的块(通过利用 Selenium WebDriver API 的 Action class)
- geb.config 文件允许开发人员添加对多种环境、驱动程序、报告、等待等的支持。
另一方面,SPOCK 是一个 BDD 测试和规范框架,其灵感来自 JUnit、jMock、RSpec、Groovy、Scala、Vulcans 等框架
SPOCK 与 Geb 高度兼容并提供 'GebReportingSpec' class 需要通过测试 classes 进行扩展以建立与 Geb 的兼容性