groovy.lang.MissingMethodException при запуске моего теста - PullRequest
0 голосов
/ 27 июня 2019

Когда я пытаюсь запустить тест .groovy, консоль возвращает эту ошибку:

Внимание: groovy.lang.MissingMethodException: Нет сигнатуры метода: GebConfig.waiting () не применимдля типов аргументов: (GebConfig $ _run_closure1) значения: [GebConfig $ _run_closure1 @ 659499f1] Возможные решения: wait (), wait (long), toString (), toString (), wait (long, int), main ([Ljava.lang.String;) groovy.lang.MissingMethodException: Нет сигнатуры метода: GebConfig.waiting () не подходит для типов аргументов: (GebConfig $ _run_closure1) значения: [GebConfig $ _run_closure1 @ 659499f1] Возможные решения: wait (), wait (long), toString (), toString (), wait (long, int), main ([Ljava.lang.String;) в GebConfig.run (GebConfig.groovy: 28)

Процесс завершен с кодом выхода1

Мой GebConfig.groovy настроен следующим образом:


    import geb.driver.BrowserStackDriverFactory
    import org.openqa.selenium.WebDriver
    import org.openqa.selenium.chrome.ChromeDriver
    import org.openqa.selenium.firefox.FirefoxDriver
    import org.openqa.selenium.remote.DesiredCapabilities
    import org.openqa.selenium.remote.RemoteWebDriver


    baseUrl = "https://ourtestingurl.com/"

    /*driver = 'chrome'
     environments {
     'chrome' {
     def chromeDriver = new File('src/test/resources/chromedriver.exe')
     System.setProperty('webdriver.chrome.driver', chromeDriver.absolutePath)
     driver = { new ChromeDriver() }
     driver.manage().window().maximize()
     }
     'firefox' {
     def FirefoxDriver = new File('src/test/resources/geckodriver.exe')
     System.setProperty('webdriver.gecko.driver', geckoDriver.absolutePath)
     driver = { new FirefoxDriver() }
     }
     }
     */
    reportsDir = new File("target/geb-reports1")

    waiting {
        timeout = 50
        retryInterval = 0.5
        slow { timeout = 52 }
        reallyslow { timeout = 80}
    }

    String USERNAME = "username";
    String AUTOMATE_KEY = "niceTry";
    String URL = "https://" + USERNAME + ":" + AUTOMATE_KEY + "@hub-cloud.browserstack.com/wd/hub";
    driver = {
        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability("os", "Windows");
        caps.setCapability("os_version", "10");
        caps.setCapability("browser", "Chrome");
        caps.setCapability("browser_version", "75.0");
        caps.setCapability("browserstack.local", "false");
        caps.setCapability("browserstack.debug", "true");
        caps.setCapability("browserstack.selenium_version", "3.14.0");
        WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
    }

Я в полной растерянности и провел весь день, пытаясь это выяснить.

Ответы [ 2 ]

0 голосов
/ 29 июня 2019

У меня не было возможности проверить, является ли это причиной, но правильный синтаксис ожидающего блока можно найти здесь -> https://gebish.org/manual/current/#waiting-presets

То есть ваш ожидающий блок должен выглядеть примерно так ->

waiting {
   timeout = 50
   retryInterval = 0.5
   presets {
     slow { timeout = 52 }
     reallyslow { timeout = 80}
   }
 }
0 голосов
/ 28 июня 2019

У меня недавно была похожая проблема при открытии существующего проекта в intellij, где он смешал groovy и java. Intellij распознавал только исходные папки Java, поэтому мне пришлось изменить проект для использования папки src / main / groovy. Вы смотрели на настройку проекта для того, что вы используете?

...