2017-02-23 1 views
0

Ich habe eine Spring-Boot-Anwendung mit dem Gurken- und Selen-Test-Setup. Ich versuche einen UI-Wrapper zum Ausführen meiner Gurkentestszenarien zu erstellen. Ich muss die ausgewählten Feature-Dateien ausführen, für die ich die Methode gucurium.api.cli.Main.run verwende. Das Problem ist, ich versuche, Eigenschaften über meine application.yml-Dateien auszuwählen, aber meine Schrittdefinitionsklasse ist nicht in der Lage, die Eigenschaften auszuwählen.Anwendungseigenschaften über Gurkenschritt-Definitionsklassen aufnehmen

Dies ist, wie mein Code aussieht -

RunCukes Klasse

@RunWith(Cucumber.class) 
    @CucumberOptions(features = {"classpath:features"}, 
    plugin = { "pretty", "html:target/cucumber-html-report","json:target/cucumber.json" }, 
    tags = {"[email protected]"}) 
    public class RunCukesTest { 
    } 

Die Klasse von wo aus die Gurke Feature Dateien

 @Service 
     public class SeleniumLogic { 

     @Autowired 
     RunCukesTest runCukes; 

     public byte runTest(String[] argv) throws IOException{ 
      byte result = cucumber.api.cli.Main.run(argv,runCukes.getClass().getClassLoader()); 
      return result; 
      } 
     } 

Die stepdefinition Klasse ausgeführt werden

 @Component 
     public class LoginTestSteps { 
      @Autowired 
      private LoginPage loginPage; 

      @Value("${host.name}") 
      private String HOST_NAME; 

      @Given("^User is on the login page$") 
      public void user_is_on_the_login_page() throws Throwable { 
      loginPage.load(HOST_NAME); 
      } 
     } 

Application.yml

 host: 
     name: abc.com 

Die HOST_NAME als Null in der LoginTestSteps Klasse kommt.

Antwort

0

Versuchen Sie folgendes:

@Component 
@PropertySource("classpath:application.properties") 
public class LoginTestSteps { 
Verwandte Themen