2017-02-27 2 views
2

Was ist falsch an meinem Testframework, dass ich meinen Test nicht ausführen kann?Die Klasse get.spock.GebSpec kann aufgrund fehlender Abhängigkeit nicht geladen werden. Org/spockframework/mock/MockController

mein build.gradle

version '1.0-SNAPSHOT' 
//task wrapper(type: Wrapper) { 
// gebVersion = '0.13.1' 
// seleniumVersion = '2.52.0' 
// 
// distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" 
//} 


apply plugin: 'groovy' 

    repositories { 
     mavenCentral() 
    } 

    sourceCompatibility = 1.5 

    dependencies { 
     testCompile group: 'junit', name: 'junit', version: '4.11' 
     // geb 
     compile 'org.codehaus.geb:geb-core:0.7.2' 
     compile 'org.codehaus.geb:geb-spock:0.7.2' 
     compile "org.seleniumhq.selenium:selenium-firefox-driver:2.52.0" 
     compile "org.seleniumhq.selenium:selenium-chrome-driver:2.52.0" 
     compile "org.seleniumhq.selenium:selenium-safari-driver:2.52.0" 
     compile "org.seleniumhq.selenium:selenium-support:2.52.0" 
     // spock 
     compile "org.codehaus.groovy:groovy-all:2.4.1" 
     testCompile "org.spockframework:spock-core:1.0-groovy-2.4" 
    } 

Mein GebConfig.groovy

//import geb.driver.SauceLabsDriverFactory 
    import org.openqa.selenium.chrome.ChromeDriver 
    import org.openqa.selenium.firefox.FirefoxDriver 
    import org.openqa.selenium.safari.SafariDriver 

    //baseUrl = 'http://madison.craigslist.org' 

    // default driver... 
    System.setProperty('webdriver.chrome.driver', "../resources/chromedriver") 
    driver = {new ChromeDriver()} 

    environments { 

       'chrome' { 
        def chromeDriver = new File('src/test/resources/chromedriver') // add .exe for Windows... 
        System.setProperty('webdriver.chrome.driver', chromeDriver.absolutePath) 
        driver = { new ChromeDriver() } 
       } 

    //   'ff' { 
    //    driver = { new FirefoxDriver() } 
    //    driver.manage().window().maximize() 
    //   } 

       'safari' { 
        driver = { new SafariDriver() } 
       } 
    } 

    waiting { 
     timeout = 6 
     retryInterval = 0.5 
     slow { timeout = 12 } 
     reallySlow { timeout = 24 } 
    } 

    reportsDir = "geb-reports" 

Seite Klasse

package pages 

    import geb.Page 
    import geb.Browser 

    class LoginPage extends Page{ 

     static url = "https://qmdev.quickblox.com" 
    // static at = {heading.isDisplayed()} 
     static at = {title == "Q-municate"} 

     static content = { 
      heading {$("div#l-welcome_block l-welcome_text_description")} 
      logInByEmailOrSocial {$("button", text:"login by email or social")} 
      logInPageTitle {$("div.l-welcome_block l-welcome_text_login")} 
     } 
    } 

Testklasse

import geb.spock.GebReportingSpec 
import pages.LoginPage 
import spock.lang.* 
import geb.spock.GebSpec 


@Stepwise 
class LoginPageTest extends GebReportingSpec{ 

    def "log in Q-municate"(){ 
     given: "Open Log In page" 
     to LoginPage 

     when: "chose log in by email" 
     LoginPage.logInByEmailOrSocial.click() 

     then: "Ensure that we are on LogIn page" 
     LoginPage.logInPageTitle.text() == "Log In" 
    } 
} 

über meinen Rahmen: Ich benutze Web-spock-groovy-gradle Bundle für die Automatisierung Web-UI und ich bin ein frisch-Benutzer mit Gradle. Bitte sagen Sie mir, was ist los mit meinem Build.gradle und GebConfig.groovy.

+0

Warum ist geb kompilieren Abhängigkeit, aber Spock einen Test kompilieren? –

+0

Ein Tippfehler in Ihrem Import vielleicht? Es ist 'geb.spock.GebSpec', nicht' get.spock'. Oder ist es nur ein Tippfehler in Ihrer Schlagzeile? – kriegaex

Antwort

0

Ihre Geb-Spock-Version von 0.7.2 ist ziemlich alt und könnte die Ursache für Ihr Problem sein. Ich schlage vor, diese zu ändern 2 Abhängigkeiten bis zur Version 1.1.1:

compile 'org.codehaus.geb:geb-core:0.7.2' //change to 1.1.1 
compile 'org.codehaus.geb:geb-spock:0.7.2' //change to 1.1.1 

Weiter mehr prüfe ich die Spock API-Version 1.1 für "org/spockframework/Mock/MockController" und es scheint nicht zu existieren.

enter image description here

(http://spockframework.org/spock/javadoc/1.1-SNAPSHOT/index.html) Wie Sie in diesem Bild sehen können, gibt es nur zwei Klassen, die Teil des Pakets sind spock.mock und MockController ist nicht einer von ihnen. Versuchen Sie, aktualisieren Sie Ihre GEB-Version und lassen Sie uns wissen, wenn das hilft

Verwandte Themen