我刚开始使用geb和spock,但是当我只有代码的视图源时,我试图验证网页上显示的图像。任何建议都很感激!我根据以前编写的链接测试建模了这段代码,所以我肯定我遗漏了一些东西。我的页面文件的一个示例是:
// code not included where I have defined the url/etc. Below is content
someImage { $("img", file: "image-logo.png") }
我的规范页面的一个示例是:
def "Valid image"() {
given: "an image checker"
to SomePage
when:
someImage.hover()
then:
verifyAt()
您可以验证图像样式设置为Display
,任何具有css属性Display:None
的内容都不能通过webdriver API进行交互。
我在Geb中对navigator对象使用IsDisplay
方法时遇到了一些问题,因此我将执行以下操作:
在定义页面内容的地方,添加一个检查可以与之交互的内容的方法(因此设置为显示):
someImage { $("img", file: "image-logo.png") }
Boolean contentDisplayed(Navigator content) {
content
}
def "Valid image"() {
given: "an image checker"
to SomePage
when:
someImage.hover()
then:
contentDisplayed(someImage)
def "Valid image"() {
when: "an image checker"
to SomePage
then:
contentDisplayed(someImage)
我受到了某种测试污染。当我单独运行失败测试时,它们会通过。当我把它们一起运行时,我会得到错误。这些错误与数据库无关。我不能理解错误。例如:页面: 我不明白,因为模块的内容不是必需的。另外,另一个测试的污染会导致这种情况吗?我的测试太多了,无法列出。 我唯一的想法是cookie被设置而不是由我的程序。有一堆cookie,它们具有奇怪的名称,如“ba743b”、“kvcd”、“kn_ai”等,并具有神
全面披露:我对Geb和Spock都很陌生。
我在理解GEB/Spock测试中的一个问题时遇到了一些困难。我们正在使用gradle,并试图并行运行我们的测试。据我所知,gradle中的maxParallelForks属性将在单独的JVM中运行测试类。 我遇到的问题是,当我有6个测试类并将maxParallelForks设置为4个时,当测试开始时,我将得到4个测试类并行运行。太棒了!但最后两个班才是问题所在。假设在前4节课中,2节课在1分钟内完
我正在用Spock、Groovy和Geb编写UI功能测试,实现页面对象模式。在我的事件流中,我从当前页面导航以获得结果,因此,我需要在测试中切换页面对象,但我成功地做到了 下面的测试用例:
我配置了一些测试,根据web应用程序中的登录尝试检查不同的消息。因为消息和输入字段将在第三次登录尝试时更改。 登录是基于向特定电话号码发送密码的两步登录,因此在第一页LoginPage中,用户介绍他们的Id和电话号码,然后将其重定向到第二页ValidationLoginPage,用户在其中介绍接收到的密码。 我想检查一下,在第二个页面中,用户只能引入三个错误的密码,在第四次尝试时,引入密码的输入将
我尝试使用Grails 1.3.7、Geb、Spock和Selenium运行功能测试。下面是我的buildconfig.groovy文件: 测试代码如下所示: