问题标签 [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 回答
3969 浏览

testing - 如何让 WebDriver 关闭 Firefox 安全警报?

我正在使用 spock、geb 和 WebDriver 编写测试脚本。该脚本在不安全的页面上提交表单。该页面提交到安全的 HTTPS URL。Firefox 对此显示警告,特别是:

安全警告

这会导致以下错误:

如果出现此警报,我如何让 WebDriver 消除它?

0 投票
3 回答
10932 浏览

grails - 在 Geb 中,displayed 和 present 有什么区别?

我正在编写功能测试并处理淡入淡出的模态窗口。

显示和呈现有什么区别?

例如我有:

其中 settingsModule 代表我的模态窗口。

在测试我的模态窗口(来自 Twitter 引导程序的模态窗口)时,我通常这样做:

不断地。在我的模块中,我有:

我总是抱怨:“必须显示元素才能点击”。

在我的 openSettingsModal 和 closeSettingsModal 中,我尝试了许多 waitFor 与时间间隔的组合以及是否使用存在......无法弄清楚。

任何指针将不胜感激。谢谢!

0 投票
1 回答
2013 浏览

grails - 如何在 grails 中运行 spock 功能测试的子集?

在其他一些测试框架中,我习惯于标记测试,例如@really_slow、@front_end

然后运行不同批次的测试,比如我可能想要设置一个构建从属来运行所有的 real_slow 测试,并且可能想要运行所有标记为前端但没有标记为非常慢的测试。

目前,要在 grails 中运行我的 spock+geb 测试,我只需运行 grails test-app functional:

我如何告诉它运行一个子集?

0 投票
1 回答
1815 浏览

selenium - geb StaleElementReferenceException

我刚刚开始使用带有 webdriver 的 geb 进行自动化测试。 据我了解,当我在页面上定义内容时,每次调用内容定义时都应该查找页面元素。

所以在这段代码中,我认为$('.loading')应该重复调用,以在模块的基本元素的上下文中通过其选择器在页面上查找元素。然而,此时我有时会遇到 StaleElementReference 异常。据我所知,该元素不会从页面中删除,但即使这样做,除非$在幕后进行一些缓存,否则不应产生此异常,但如果是这种情况,它会导致各种其他问题。

有人可以帮我理解这里发生了什么吗?为什么在查找元素时可能会得到 StaleElementReferenceException?指向相关文档或geb源代码的指针也很有用。

0 投票
1 回答
2409 浏览

selenium - Geb - 在 iF​​rame 内单击按钮转换到新页面

我是 Geb 的新手。对不起,如果我的问题不正确。

我正在尝试单击 iFrame 内的按钮CompaniesListPage并尝试转换到AddCompanyPage.

使用 iFrame 外部的常规按钮,我可以执行

loginButton (to: CompaniesListPage){$("input", id:"loginButton")}在 loginButton 单击时从 LoginPage 转换到 CompaniesListPage。

但是,使用 iFrame 内的按钮,我不知道如何实现这一点

在 CompaniesListPage 上,我试过这个

然后我明白我对 addCompanyButton 的声明应该是不正确的,我想要从该页面中单击并继续前进。

所以,在测试用例上,我做了一个

这行得通。但是,由于页面已经移动到AddCompanyPage现在并且想要处理它,我尝试了page (AddCompanyPage)

这抛出一个

geb.error.UnresolvablePropertyException: Unable to resolve AddCompanyPage as content for CompaniesListPage, or as a property on it's Navigator context

PS:如果有帮助,请告诉我。

0 投票
1 回答
1101 浏览

grails - Grails --- 加载器约束违规

在我的一个应用程序中,我必须将 geb 与 grails 一起使用。我安装了 geb 插件并添加了依赖 selenium 独立 jar。

现在的问题是在我清理或编译时出现如下错误

交互模式退出并出现错误:加载器约束违规:当解析被覆盖的方法时,当前类的类"org.apache.xerces.jaxp.SAXParserImpl.getXMLReader()Lorg/xml/sax/XMLReader;"加载器及其超类加载器()对于签名中使用的类型具有不同的类对象(使用 --stacktrace 查看完整跟踪)(instance of org/codehaus/groovy/grails/cli/support/GrailsRootLoader)org/apache/xerces/jaxp/SAXParserImpl,instance of <bootloader>org/xml/sax/XMLReader

0 投票
2 回答
732 浏览

grails - 在 Grails 应用程序中使用 Spring Security 插件进行功能测试

我有一个带有 spring 安全插件的安全 grails 应用程序,现在我正在尝试对登录过程进行一些测试,但到目前为止还没有成功。有人知道问题出在哪里吗?

这是我的 LoginPage.groovy

这是使用junit4的测试:

AuthenticatedPage 是需要身份验证的页面,但此时无法使用 geb 进行身份验证。有人知道这个问题吗?

提前致谢!

0 投票
1 回答
5278 浏览

java - GebConfig.groovy 和 Groovy ConfigSlurper 的 Geb 配置问题

我正在尝试启动并运行基于 Groovy 的浏览器自动化/测试框架,但在使基于 ConfigSlurper 的配置正常工作时遇到问题。

我的默认包中有一个 GebConfig.groovy 类,如下所示:

但是尝试运行脚本会导致以下错误:

我想我需要遗漏一些小而明显的东西。我在 Eclipse 中使用最新版本的 Geb (0.7.2) 和 Groovy 1.8。

0 投票
3 回答
4017 浏览

geb - 如何将 FirefoxDriver 设置为 Geb 的驱动程序

这似乎有效:

但是我如何使用FirefoxDriver而不是HtmlUnitDriver?这只是启动 Firefox,但所有drive指令都在HtmlUnitDriver...中执行

0 投票
1 回答
960 浏览

selenium - Groovy 代码:要导入哪个库

我运行上面的脚本并得到以下错误:java.lang.NoClassDefFoundError: org/openqa/selenium/TakesScreenshot