Извиняюсь, если этот вопрос кажется тривиальным, .. но я очень плохо знаком с groovy / selenium как частью системы maven, в которую я был брошен, и мне нужно понять, чего мне не хватает при попытке получить этот метод на работу.
Я получаю ошибку ниже:
groovy.lang.MissingMethodException: No signature of method: GebConfig.findElement() is applicable for argument types: (org.openqa.selenium.By$ByName)
Мне нужно найти элементы на веб-странице, и я хотел бы использовать метод findElement, однако мой код не очень удобен как часть определений шагов.
После большого количества попыток я получил следующее:
package step_definitions
import features.support.Requests
import geb.*
import org.apache.commons.io.*
import org.openqa.selenium.By
import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement
import org.openqa.selenium.*
import org.openqa.selenium.remote.*
import cucumber.api.groovy.EN.*
When(~/^find the element named "(.*?)"$/) { String btnName ->
WebElement myElement = driver.findElement(By.name(btnName));
}
Я знаю, что могу использовать для кнопки такие вещи, как ниже, и аналогичные для других вещей, таких как переключатели и поля ввода:
browser.$(‘input’, name: ‘btnK’)
$(‘input’, name: ‘btnK’)
Но я бы предпочел знать, как использовать подход findElement.
Любая помощь будет оценена.
Спасибо
Jim ... ..