vic*_*csz 0 groovy selenium geb phantomjs
你如何在Geb中设置cookie?我遇到了给定示例的以下错误:
org.openqa.selenium.InvalidCookieDomainException:{"errorMessage":"只能为当前域设置Cookie"....
..我也尝试使用Cookie生成器显式设置cookie多米诺骨牌虽然这只会导致另一个异常:org.openqa.selenium.UnableToSetCookieException:{"errorMessage":"无法设置Cookie"}
请注意,我曾经在GebConfig.groovy文件中有一个baseURL ..但我也删除了它..除了PhantomJS驱动程序配置之外,配置文件中没有设置.
我在OSX上使用PhantomJS最新版本(1.3.0 jar和2.1.1驱动程序OSX).
请注意,示例DOES因某些原因使用Chrome Webdriver.
import geb.spock.GebSpec
import org.openqa.selenium.Cookie
class SetCookieIT extends GebSpec {
def "Cookie example"() {
given:
def options = driver.manage()
when:
go "https://www.wikipedia.org/"
then:
!options.getCookieNamed("my-geb-cookie")
when:
options.addCookie(new Cookie("my-geb-cookie", "foobar"))
go "https://www.wikipedia.org/"
then:
title == "Wikipedia"
options.getCookieNamed("my-geb-cookie").value == "foobar"
}
}
Run Code Online (Sandbox Code Playgroud)
维基百科没有拼写域名中的"ie","org.com"也看起来很奇怪.也许下次你想提供一个实际可执行的例子并做一些有意义的事情.:-7
对我来说这很好用:
package de.scrum_master.stackoverflow
import geb.spock.GebReportingSpec
import org.openqa.selenium.Cookie
class SetCookieIT extends GebReportingSpec {
def "Cookie example"() {
given:
def options = driver.manage()
when:
go "https://www.wikipedia.org/"
then:
!options.getCookieNamed("my-geb-cookie")
when:
options.addCookie(new Cookie("my-geb-cookie", "foobar"))
go "https://www.wikipedia.org/"
then:
title == "Wikipedia"
options.getCookieNamed("my-geb-cookie").value == "foobar"
}
}
Run Code Online (Sandbox Code Playgroud)
如果您有任何其他问题,请更新您的问题并提供SSCCE再现实际问题.
问题被修改后更新:PhantomJS的问题在于,如果您没有明确指定域,则拒绝创建cookie.这有效:
options.addCookie(new Cookie("my-geb-cookie", "foobar", ".wikipedia.org", "/", null))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
895 次 |
最近记录: |