我正在编写一个geb测试,用于在高位图中断言轴标签。
我编写的测试在使用selenium chrome驱动程序运行时起作用。当我使用phantomjs运行时,它会失败。
//Selector in GEB
$(id:"graph-id").find("g.highcharts-legend-item").find("tspan").text()
这会在Chrome中按预期返回。它在phantomjs中返回空。
我们必须为我们的CI构建使用phantomj。
答案 0 :(得分:0)
我的机器上没有幻像,但你可以试试这个并告诉我们它是否正常工作?
$("#graph-id .highcharts-legend-item").find("tspan").text()
答案 1 :(得分:0)
如果由于某种原因geb不能正确支持你的phantomjs驱动程序,你可以直接通过浏览器执行javascript选择器:
def webElements = browser.driver.executeScript("""return document.querySelectorAll("#graph-id g.highcharts-legend-item tspan"); """)
def gebNavigators = webElements.collect{ new NonEmptyNavigator(browser, it) }
这将为您提供指向所选元素的geb导航器列表。
答案 2 :(得分:0)
我们通过将phantomjs的版本从1.9.7恢复到1.9.1来解决了这个问题 和以下库依赖项:
def seleniumVersion = "2.41.0"
def gebVersion = "0.9.0"
test "org.gebish:geb-spock:$gebVersion"
test "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
test "org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion"
test "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
test( "com.github.detro.ghostdriver:phantomjsdriver:1.0.4" ) {
transitive = false
}