Невозможно утвердить текст метки оси в highcharts с помощью Geb

Я пишу тест geb, который утверждает метки оси на графике highcharts.

Тест, который я написал, работает при запуске с драйвером selenium chrome. Когда я запускаю phantomjs, это не удается.

//Selector in GEB

$(id:"graph-id").find("g.highcharts-legend-item").find("tspan").text()

Это возвращается, как и ожидалось, в Chrome. Он возвращает пустой в phantomjs.

Мы должны использовать phantomjs для наших сборок CI.


person lapolonio    schedule 04.09.2014    source источник
comment
Что такое г кстати?   -  person Sharif Mamun    schedule 05.09.2014
comment
g — это группа в SVG.   -  person Paweł Fus    schedule 05.09.2014


Ответы (3)


Если по какой-либо причине 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, которые указывают на выбранные элементы.

person jk47    schedule 05.09.2014

У меня нет phantomjs на моей машине, но не могли бы вы попробовать это и сообщить нам, работает ли оно или нет?

$("#graph-id .highcharts-legend-item").find("tspan").text()
person Sharif Mamun    schedule 05.09.2014
comment
Если это действительно так, пожалуйста, не забудьте переформулировать свой ответ, чтобы он читался как ответ, а не как комментарий. Кроме того, пожалуйста, уточните, почему вы думаете, что это решает вопрос. - person Artjom B.; 05.09.2014

Мы решили проблему, изменив версию 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
}
person lapolonio    schedule 08.10.2014