问题标签 [geb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1330 浏览

testing - Geb(自动化测试框架)是一个好的验收测试框架吗?

Geb(自动化测试框架)是一个好的验收测试框架吗?

0 投票
1 回答
1532 浏览

file-upload - Groovy 文件上传和执行

我想从我的应用程序中将文件上传到查询工具页面。我将所有 SQL 脚本保存在我的项目文件夹中,我需要一个一个地上传这些脚本并执行它。对于我的自动化测试脚本和文件上传是依赖的。

请给我一些想法如何实现这一目标。

谢谢,阿什温

0 投票
1 回答
2132 浏览

testing - 我可以在 geb 中检查非 html 响应吗?

Geb 是一个很好的测试 Web 应用程序的框架,因为它非常直接地支持检查浏览客户端所看到的特定 DOM 元素。但是,有时请求的预期结果是纯文本(或 csv、json 等)。

有没有办法获得结果的原始文本?我还可以获得响应代码(例如 200)和内容类型吗?

0 投票
5 回答
15681 浏览

gradle - 如何将 JVM 系统属性传递给我的测试?

我有以下任务

系统属性似乎没有进入 Geb 测试,因为 Geb 不会生成 Firefox 来运行测试。当我在 Eclipse 中设置相同的系统属性并运行测试时,一切正常。

0 投票
3 回答
511 浏览

browser - 我的 cuke4duke 测试挂起并且永不终止

我无法弄清楚为什么我的基于网络的黄瓜测试永远不会终止。所有步骤定义都通过,但浏览器永远不会在最后一步退出,因此我的脚本挂起。

我目前正在运行 cuke4duke (0.4.3)、Geb(0.5.1)、maven(2.2.1)、selenium-firefox-driver/selenium-chrome-driver (2.0a6 和 a7)

我已经在 Chrome 和 Firefox (3.6) / Windows XP 和 Ubuntu 中测试了我的脚本,但没有成功。

这是我的 Maven 构建的输出

环境groovy

帮助页面.groovy

如果问题出在 webdriver 或 cuke4duke 发行版或其他任何地方,我无法确定。我也不确定如何在 Maven 构建中添加更多调试以找出问题所在。

0 投票
2 回答
1736 浏览

groovy - 使用 GEB 和 Cucumber 在页面中封装逻辑

使用 GEB 我使用页面对象模式来静态封装有关不同页面的信息。

然后我重构了我的 GEB 代码,以便从一个单独的类中使用,这样我就可以使用方法调用来封装常用命令。

例如,我将有一个方法 login() 将调用适当的 GEB 代码来登录到我正在测试的网站。然后,我将使用 TestHelper 类上的方法调用来获得其他常用功能。

我想将这些常用功能移至它们所作用的页面。例如,搜索页面将具有搜索方法,登录页面将具有登录方法。通过这种方式,我可以构建一个包含所有通用功能的页面库,以便在多个 GEB 项目中使用。现在要做到这一点,每个页面都必须在 geb.Browser 上有一个句柄,因此我现在必须在测试设置中实例化每个页面。通过这样做,我不再能够使用标准页面对象模式。

上面的代码将抛出一个空指针,因为对象不再能够以静态方式访问,这意味着我必须将代码更改为

这删除了将类用作页面的所有功能。

有没有人有任何解决方案来封装每个页面的数据,而不会导致页面行为不同。

0 投票
1 回答
5484 浏览

grails - 如何在 Grails Geb/Spock 测试用例中获取 sessionFactory?

我想我需要在 GebSpec 测试中刷新休眠会话,所以我想获得 sessionFactory。

看起来它应该被注入但是当我做这样的事情时: -

它因 sessionFactory 为空而失败。

0 投票
2 回答
15986 浏览

groovy - 页面事件后如何使用Geb检查元素属性值

在这里得到一些帮助后,我正在使用 Geb 编写一个功能性 Web 测试,并想在事件发生之前和之后测试表单提交按钮的disabled属性值,流程应如下所示:

  1. 加载页面,提交按钮在页面源中声明为禁用,因此应禁用,例如<input type="submit" class="submit" disabled="true"/>
  2. 选中页面上的复选框,这将导致一段 JQuery 代码执行,这将使用以下方式以编程方式启用禁用的提交按钮:$('input.submit').attr('disabled', false);

我的第一次尝试是使用 assertion $('input.submit').@disabled == 'true',这似乎适用于页面加载后的初始检查,但是在执行我的 JQuery 代码以启用按钮后,后续检查仍然返回相同的结果。这让我想知道这种检查是否只能在页面加载时报告值并且看不到任何后续的程序更改?

然后我发现了 Geb 的 jquery 迭代,我希望我可以使用它来返回提交按钮的值并对此进行断言,$('input.submit').jquery.attr('disabled') == false但是 Geb 文档确认所有对.jquery属性的调用都返回了 Geb Navigator 实例,很遗憾我没有' t 认为我可以返回我想要的信息。

我还怀疑 JQuery 代码是否实际上切换了提交按钮禁用状态,我已经使用 Firebug 对此进行了广泛测试,并且可以确认这在浏览器中运行良好,所以我怀疑这要么是我对 Geb 的理解的问题,要么也许是 Geb 本身的限制?

让我感到震惊的是,在页面上执行某些操作后检查元素属性的值可能是一个常见的用例,因此我宁愿希望我错过了一些非常简单的方法。非常感谢任何能帮助我解决这个问题的指针。

干杯,

埃德

0 投票
2 回答
7399 浏览

database - Groovy 我可以动态地执行一个字符串作为 groovy 命令吗?

我想从我的数据库中动态执行一个 groovy 语句。

我目前正在使用 geb (www.gebish.org) 来自动化我的浏览器,我想从我的数据库中使用“css 选择器”。

例如:

在此示例中,我想将 "$("form", name: "password").value("Test")" 完全移动到数据库中,并在我的代码中动态调用它。在这种情况下可能吗?

我是 Groovy 和 Java 的新手,也许我在推理上有一个错误,对于这样的问题有一个更简单的解决方案......请帮助我:)

0 投票
2 回答
2501 浏览

grails - 如何通过 Geb 和 Spock 的 Grails 测试?(使用 grails-functional-test-development)

请帮忙。

我有页面 login/auth.gsp

在正文中使用以下代码

在 test/functional/pages 目录下,我有 LoginPage

这是我的测试代码

我运行测试并失败。这是报告

有什么想法可以帮助我吗?我错过了一些配置还是我的类似 jQuery 的导航不正确?

对于测试,我正在使用“功能测试开发”插件。


更新:最初我完全使用示例中的 GebConfig 我刚刚注意到默认驱动程序是 HTMLUnit。

当我从命令控制台使用功能测试开发功能运行功能测试时。

我选择选项来运行所有功能测试。控制台显示失败的测试。

当我将默认驱动程序更改为 Firefox 时。它仍然失败,但我可以看到它自动打开 Firefox 浏览器并打开 URL:

它无法打开 URL 404。我认为这就是测试失败的原因。

我尝试从 IDE 运行以下命令。

它工作并打开了firefox浏览器,它完成了编写的测试脚本和测试通过。

所以,我在这里修改标题。现在的重点是 grails 的功能测试开发插件。也许你们中的任何人曾经尝试过这个插件并有答案?谢谢。

PS:我可以修改问题吗?还是我应该在stackoverflow 中创建新问题?