首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我如何让Geb与Grails 2.3.11协同工作?

Geb是一个基于Groovy的Web自动化测试框架,而Grails是一个基于Groovy的Web应用开发框架。要让Geb与Grails 2.3.11协同工作,可以按照以下步骤进行配置和集成:

  1. 配置Geb依赖:在Grails项目的BuildConfig.groovy文件中,添加Geb的依赖项。可以使用以下代码片段作为参考:
代码语言:txt
复制
dependencies {
    // 其他依赖项...
    test "org.gebish:geb-core:1.3.1"
    test "org.seleniumhq.selenium:selenium-firefox-driver:3.141.59"
}
  1. 创建Geb配置文件:在Grails项目的test/functional目录下创建一个名为GebConfig.groovy的文件,并添加以下内容:
代码语言:txt
复制
import org.openqa.selenium.firefox.FirefoxDriver

// Geb配置
driver = {
    System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver")
    new FirefoxDriver()
}

environments {
    // 配置不同环境的URL
    chrome {
        driver = {
            System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver")
            new ChromeDriver()
        }
    }
}

// Geb测试的基本配置
environments {
    // 默认配置
    default {
        baseUrl = "http://localhost:8080"
    }
}

请注意,上述代码中的/path/to/geckodriver/path/to/chromedriver需要替换为实际的驱动程序路径。

  1. 创建Geb测试:在Grails项目的test/functional目录下创建一个名为ExampleSpec.groovy的文件,并添加以下内容:
代码语言:txt
复制
import geb.spock.GebSpec

class ExampleSpec extends GebSpec {

    def "示例测试"() {
        when:
        go("/example")

        then:
        at ExamplePage
        title == "Example Page"
    }
}

上述代码中的ExamplePage是一个示例页面对象,你需要根据实际情况创建和定义。

  1. 运行Geb测试:可以使用Grails的测试命令来运行Geb测试。在终端中,进入Grails项目的根目录,并执行以下命令:
代码语言:txt
复制
grails test-app functional:

这将运行所有的功能测试,包括Geb测试。

以上是让Geb与Grails 2.3.11协同工作的基本步骤。通过配置Geb依赖、创建Geb配置文件、编写Geb测试,并使用Grails的测试命令来运行测试,你可以实现在Grails项目中使用Geb进行Web自动化测试。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OpenTelemetry 如何 Kubernetes 协同工作

OpenTelemetry 如何 Kubernetes 协同工作 翻译自 How OpenTelemetry Works with Kubernetes 。...将 OTEL Kubernetes 结合使用并不困难。事实上,为 Kubernetes 安装 OTEL operator 是一个简单的过程,在本文中,您将了解如何操作。...如何创建遥测数据 让我们考虑一个例子,我们有一个电子商务应用程序,其中包含三个工作负载——前端、驱动程序和客户——它们通过 HTTP 相互通信。...定义 Kubernetes Operator 的行为 您可以将 OpenTelemetry Operator 部署到您的 Kubernetes 集群,并它自动 instrumentation 和收集您的应用程序的遥测数据...它不部署其他 sidecar,例如 Envoy,但可以与它们一起工作以收集额外的遥测数据。

18110

「微服务架构」编曲编舞——系统协同工作的不同模式

只有当这些团队一起工作时,才能实现共同的业务目标和利润。如何组合和安排他们的服务以实施业务流程管理的问题是定义整个组织如何运作的关键部分。今天我们将讨论这样做的最佳方法。...以下是如何实现这两个功能。...如果 CRM 系统在客户端同步中没有响应,您将如何反应?您需要围绕通知在线商店有关情况来实现重复和业务逻辑。用这个缺失的部分重新表述你的设计。...我们可以通过这些工具自动生成最终事件,或者人类决定做什么,就像编排模式一样,但不是在一个大而全能的元素中。然而,你说得有道理——与我一起计划和管理比 Orchestration 更难。...这里有几个问题——您如何看待多个组件之间的共享和维护数据?您有什么计划来验证流程实例的状态? 编曲模式:就的设计而言,这个主题非常简单。从数据管理开始。

58930
  • 1. 了解Groovy

    可以Java类和库实现无缝集成。提供静态类型检测和静态编译代码的能力。 而我们比较常见的就是当脚本语言进行使用,毕竟它的运行效率是没有java原生的效率高的。...支持领域特定语言和其他紧凑语法,使您的代码变得易于阅读和维护 凭借强大的处理原语、OO能力和Ant DSL,使编写shell和构建脚本变得容易 在开发web、GUI、数据库或控制台应用程序时,减少脚手架代码,从而提高开发人员的工作效率...GrailsGrails是一个用于JVM的开源、全栈、web应用程序框架。它利用Groovy编程语言和约定而不是配置,提供了高效的、流式的开发体验。...由于其JUnit运行程序,Spock大多数IDE、构建工具和持续集成服务器兼容。 GPars:GPars框架为Java开发人员提供了直观和安全的方式来并发处理Java或Groovy任务。...受Grails的启发,Griffon遵循“配置之上的约定”范式,搭配直观的MVC架构和命令行界面。 GebGeb是一个功能强大的浏览器功能测试框架,可以您快速轻松地在Groovy中编写功能测试。

    1.4K20

    问与答91:如何到点后Excel自动提醒要做的工作

    Q:由于工作太多太杂,导致经常忘记要做的事情,希望利用Excel工作表来定时提醒当前要进行的工作。也就是说,在到达某个时刻后,工作表中的文本框会自动显示该时刻应该做的工作。...如下面的图1和图2所示,图1为工作安排表,列A中为安排的工作,列B中为相应工作开始的时间;图2用于显示当前应进行的工作。 ? 图1:工作安排表。...列A中是工作安排,列B中是工作开始的时间,可根据需要修改和添加。 ? 图2:显示当前工作的界面。单击“显示”按钮后程序开始工作,当达到某时刻后,文本框中会显示当前应进行的工作。...rng.Find(dTime) Sheet5.TextBox1.Value =rngFind.Offset(0, -1).Value DisplayData End Sub 注意,工作表中的

    1.3K10

    如何RPython一起工作 | 案例讲解

    那接下来的问题很清楚了,R和Python如何一起工作总结了2个方法来进行操作。 01....这种做法一定程度上可行,除了做定时器外,还可以Python即时执行”rscript”命令调用R脚本来工作,只是这种办法限制太大,只能够交换文件,Python不能对R进行精确的控制。 02....果然,找到了rpy2,可以实现使用python读取R的对象、调用R的方法以及PythonR数据结构转换等。实际上除了Python,其他语言R互通的第三方包也大大的有。...最后选择第2种方法,来RPython一起工作。下面开始进行操作讲解。 关于rpy2.robjects是rpy2对R的一个高级封装,该模块里包含了一个R对象和一系列的R数据结构。...rpy2的安装在此不多讲了,直接体验一下R如何Python无缝整合吧。

    1.9K20

    不是修电脑的!新年餐桌上,如何老妈搞懂自己的“技术”工作

    而对于技术从业者,新年聚餐还意味着,家人对你工作的关心,以及在你向亲戚解释完你的工作后,家人无言的注视。 你:试图解释什么是前端,所有人:疑惑脸。...非常类似程序员处理bug 的过程 解释你工作的时候到了!...2、产品设计师 这个工作有点像主厨。你需要确定客户的需求,设计食谱,检验现有解决方案是否满足了需求。你的工作不只是设计食物,你要设计食物呈现给顾客的整个体验过程--包括菜单,包装,展示到味道。...5、产品营销 你在前台工作,你的职责是吸引新客户来试吃样品然后购买糕点。你还需要不断给团队提供信息,确保面包店的客源不会流失。 如何工作? APIs 烤箱上的刻度盘。...机器学习 现在的烤箱变得越来越聪明,可以自动完成一些工作。比如根据烘焙的糕点种类调整温度,或者帮助完成烘焙过程中的一些特定动作(滚动或揉面团,打样等)。

    75430

    零基础学Java,大胆尝试找到工作兴趣的平衡点

    工作更像是网站的测试,遇到不理解的问题除了询问同事以外就要自己看书或上网找资料来解决。经过将近一年的历练,也对Java开发有了一定的了解。...来到这里后不仅收获了许多以前在课本上没有学到的新知识,也清楚目前自己最大的不足,那就是缺乏相应的知识经验,对所学的专业知识不能够很好地运用于实践操作。...,便积极地寻求解决之道,很多时候都会向老师请教询问。...在积累了一定的技术基础之后,对未来自己重新走向工作岗位更加有信心。回忆的学习经历,从零基础学Java到成为一名Java程序员,正是大胆尝试找到工作兴趣的平衡点。...这对今后的职业生涯更有期待,背负梦想,奋勇前行。

    69670

    《Spring Boot极简教程》第8章 Spring Boot集成Groovy,Grails开发第8章 Spring Boot集成Groovy,Grails开发小结参考资料

    Groovy和Grails简介 Groovy简介 Groovy 是一种动态语言,它在 JVM 上运行,并且 Java 语言无缝集成。 Groovy 可以大大减少 Java 代码的数量。...Grails这个独特的框架被视为是提升工程师生产效率的动态工具,因为其干脆的API设计,合理的默认值以及约定架构。java的无缝集成使得这个框架成为世界上众多框架中的首选。...我们使用Grails框架。就像 Rails Ruby 编程语言联系非常紧密一样,Grails 也离不开 Groovy。.../ 数据库的对象关系映射层使用GORM 我们使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行数据库层的持久化工作。..."org.grails.plugins:geb" testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"

    2.5K30

    8.2 Spring Boot集成Groovy、Grails开发小结参考资料

    Groovy和Grails简介 Groovy简介 Groovy 是一种动态语言,它在 JVM 上运行,并且 Java 语言无缝集成。 Groovy 可以大大减少 Java 代码的数量。...Grails这个独特的框架被视为是提升工程师生产效率的动态工具,因为其干脆的API设计,合理的默认值以及约定架构。java的无缝集成使得这个框架成为世界上众多框架中的首选。...我们使用Grails框架。就像 Rails Ruby 编程语言联系非常紧密一样,Grails 也离不开 Groovy。.../ 数据库的对象关系映射层使用GORM 我们使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行数据库层的持久化工作。..."org.grails.plugins:geb" testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"

    2.3K30

    在您的浏览器中构建和共享开发者环境

    简而言之,离线处理项目然后将更改推送(push)回远程Codenvy工作区,或是在云端工作然后在本地拉取(pull)更改。这使得Codenvy桌面IDE的协同工作非常方便。...想象一下,您已完成为您的Grails项目构建自定义运行时,并希望其他人使用它。邀请别人到您的工作区在这里不是一个好的解决方案,尤其是当你并不认识他们的时候。比如,你想您的博客受众分享。...那就是,不用写一个关于“如何试用一个特定框架”的长篇指南和教程,而只用发布这样一个Factory按钮。你的用户只需要一个浏览器。不用下载。不用安装。也不用设置环境偏好。 一个项目。复杂的环境。...如果你知道如何配置MongoDB以安装Leiningen,而且不需要经常翻阅他们的文档,那应该需要1个小时。点击下面这个按钮,就能身处于专门为这个特定项目建立的环境中。...Docker脚本项目相关联)以及建议大小的RAM。

    1.8K70

    在你的浏览器中构建和共享开发人员环境

    如何点击一个按钮,并在一个预先配置的开发环境找到自己,动动手指就可以IDE拥有丰富的编辑工具和项目资源?如何在本地开发,但在云中编译和运行项目?好的,第一件事情是首要的。...简而言之,你甚至可能无法打开您的远程Codenvy工作区来使用云IDE。你享受最喜爱的本地IDE的同时消费云资源。 你可能还想在Web端和本地客户端之间同步您的项目。...简而言之,先离线处理项目,然后将更改推回到远程Codenvy工作区是可能的,反之亦然,如果是先在云中处理项目,则在本地执行更改。这使得使用Codenvy桌面IDE非常方便。...一般工作流程可能如下所示: 拉一个项目>在本地IDE中进行更改>将更改推回到云>触发远程编译或运行 将你的桌面云结合使用,而不是代替你的桌面。...好吧,通过发布这样一个Factory按钮,取代了编写关于“如何试用一个特定框架”的冗长指导和教程的工作。你所有的用户需要的是一个浏览器。不需要下载,不需要安装,不用设置环境变量。

    4.5K90

    Grails——赋能敏捷开发的利器

    一开始是拒绝的,因为的本职工作就是做软件开发的,业余时间真没兴趣再做。而且从头开始做一个网页应用,工程浩大,也没有这个时间。...一个偶然的机会,接触到了Grails,通过它几个小时就能构建一个专业的涵盖前、后端的Web应用,于是尝试着开发那个订餐网站,结果,利用几个周末仅用了半个人/月的功夫就做好了一个能上线接单并具备后台管理...所以Grails可以说是面向Java开发者的快速开发框架。 通常情况下,开发新的应用程序,搭建开发和测试环境都要花不少时间,这也是人望而却步的重要原因。万事开头难,好的开始已经是成功的一半。...虽然是做Web应用出身的,但当年的已经“退出江湖”多年,对于很多的新的技术和框架已经脱节,而通过Grails可以在不需要懂这些技术和框架的情况下就运用到它们。...Spring曾经打造过类似Grails的框架Spring Roo,但是流产了。 接触敏捷,改变了对软件开发的认知,接触Grails,再一次刷新了的认知。

    1.9K50

    DevOps自动化组件-RUNDECK介绍、开发、部署、使用

    这些自动化的过程在工作流程中定义。工作流作用于自动化过程中的各个任务。工作流运行失败或者成功都会发出通知。当错误发生时,你可以选择立即失败,或者触发特定的错误处理程序步骤。...(1)如何二次开发RunDeck?...=smtp.sina.com.cn   grails.mail.port=25   grails.mail.username=xxx grails.mail.password=xxx RunDeck的使用...username="root" 回到文本控制台,刷新Nodes模块就会看到新增的节点信息,如 (3)新增用于节点服务器权限验证的key 入口从,右上角用户标志的左边那个配置按钮key storage进入,注意的的...)其他相关使用 如下图,还有用户权限控制,插件管理,报表导出等等功能,考虑篇幅这里就不一一列举了 文末结语 RunDeck功能概念清晰,webui交互友好,细粒度的安全策略控制非常适合跨部门跨职能的协同作业

    8.5K90

    创业公司技术选型原则

    很简单,因为到目前为止,一直走在创业的路上。 好了,言归正传。在重点去谈创业公司如何做技术选型之前,咱们先来看看技术选型的一般性原则。...技术路线,是在进行技术选型时必须要面对的问题,尽可能地选择符合公司技术路线的技术或工具,这样有助于工作的快速推进。...因为当前丰富的开源工具已经提供了充分的选择,在大多数情况下时能够人找到既满足自己要求同时又符合组织技术路线的工具。这里假设贵公司的技术路线并不是那种剑走偏锋类型。...创业公司如何进行技术选型? 技术选型工作并不会因为创业公司就变得轻松,相反,由于创业公司本身的不确定性和阶段性,反而有其独有的特点,在不同阶段对于上述原则的优先程度和取舍也会有所变化。...Grails作为司的主要开发工具,而不是市面上烂大街的SSH或SSM。

    2.1K20

    ElasticSearch:实现高效数据搜索分析的利器!项目中如何应用落地,带你实操指南。

    :“对实时性要求很高的 by id 查询也走 ES 吗?” 候选人有些慌:“这个。。。呵呵,觉得都可以吧。” :“为什么 ES 叫近实时搜索引擎,请问‘近实时’三个字如何体现的?”...面试场景二: :“请说下你对 ES 的理解。”...面试场景三: :“刚才你说的,你们系统线上环境的峰值 QPS 是 3000,那如果 QPS 再增加十倍,你打算如何优化?”...单词词典(Term Dictionary):记录了所有文档的单词倒排列表的关联关系,单词词典会比较大,一般通过 B + 树来实现,以满足高性能的插入查询。...分词器的主要工作是,把用户输入的一段文本,按照一定的逻辑,转换成一系列单词。 当然,仅仅这些还不够,因为单词中肯定是有重复的,接下来要做事情就是去重,以及去重之后的排序,这样便于搜索。

    66321

    如何成为一个JavaWeb开发者的

    一个完整的全栈开发者应该同样胜任前端开发和后端开发的工作。这可能是难度系数最高的一条路了,因为所涉及得技术非常多样。...不要将JavaJava混淆。虽然它们有一些语法的相似性,但这是两个完全不同的编程语言。Java才能真正推动Web2.0应用程序。...作为一个Javaweb开发人员,你的日常工作不可避免要与HTTP打交道。   服务器端技术   Java   Java——本文的问题就是如何成为一个Javaweb开发人员。...在的Spring入门在线教程上,对主要的Spring框架项目做了一个很好的概述,并说明了如何使用它们来构建企业级应用程序。   ...喜欢将Grails形容为用Groovy包装过的Spring。关键一点要记住的是,其背后依然是Spring。   Grails现在越来越受到企业的欢迎。

    96010

    如何成为一个JavaWeb开发者的

    一个完整的全栈开发者应该同样胜任前端开发和后端开发的工作。这可能是难度系数最高的一条路了,因为所涉及得技术非常多样。...不要将JavaJava混淆。虽然它们有一些语法的相似性,但这是两个完全不同的编程语言。Java才能真正推动Web2.0应用程序。...作为一个Javaweb开发人员,你的日常工作不可避免要与HTTP打交道。   服务器端技术   Java   Java——本文的问题就是如何成为一个Javaweb开发人员。...在的Spring入门在线教程上,对主要的Spring框架项目做了一个很好的概述,并说明了如何使用它们来构建企业级应用程序。   ...喜欢将Grails形容为用Groovy包装过的Spring。关键一点要记住的是,其背后依然是Spring。   Grails现在越来越受到企业的欢迎。

    88210

    (数据科学学习手札66)在ubuntu服务器上部署shiny

    但更为自由,且从0开始自己动手的过程又何尝不是一种极大的乐趣呢,本文就将针对在ubuntu 16.04服务器上部署shiny server的流程进行详细的说明; 二、环境配置 2.1 服务器配置说明   使用的服务器是阿里云...geb格式安装包下载链接:   Rstudio: ?   ...其实可以在服务器中输入wget 下载链接 来下载对应的文件,但是无奈这样下速度太慢,于是在本地电脑用了之后以很快的速度下载了Rstudio的geb文件,然后用pscp上传到我们的服务器上的指定目录下:...这里输入的账户和密码服务器登录账户密码一致,这里不得不吐槽一下Rstudio Server的傻逼设定,这里登入的账户和密码不能已获取超级用户权限,没关系,我们新建一个没有超级用户权限的用户: sudo...至此,我们就完成了在ubuntu上配置部署shiny应用的全部工作,当你想要部署新的应用时,只需要将应用对应文件夹放入应用默认目录下再按照格式访问即可。

    5K20

    调查:Java程序员最亲睐的Web框架

    一个用于在JVM上构建反应式应用程序的工具包 JSF :官方的Java EE web框架 Play Framework :更容易地使用Java & Scala构建可拓展的、快速又实时的web应用程序 Grails...AngularJS项目的应用程序生成器 Wicket :使得简洁、分离关注点和简单化开发到一个全新水平的web应用程序框架 JAX-RS :JDK的内部框架,用于创建REST风格的web服务 Stripes :使用...Servlet和JSP工作时变得轻松 Sling :一个使用 Java Content Repository,并得到OSGIt支持的web框架 GWT :Google开发的一个框架,可以编译Java代码为...:用于构建现代化HTTP应用程序的Java库系列 Express :这不是Java web框架,而是建立在Node.js上的Javascript框架 Ninja framework :全栈web框架,协同...GAE工作很好 Compojure :用于Ring和基于Clojure的web应用框架的小型路由库 ZK :一个开源的Java框架,用于构建企业级web和移动app Symphony2 :用于web开发的高性能

    95610
    领券