2017-02-23 16 views
0

キュウリとセレンのテスト設定で春の起動アプリケーションがあります。私はキュウリ試験シナリオを実行するためのUIラッパーを作成しようとしています。私はcucumber.api.cli.Main.runメソッドを使用している選択された機能ファイルを実行する必要があります。 問題は、application.ymlファイルからプロパティを選択しようとしていますが、ステップ定義クラスでプロパティを選択できません。キュウリのステップ定義クラスを使用してアプリケーションのプロパティを取得する

これは私のコードがどのように見えるかである -

RunCukesクラス

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

キュウリ機能ファイルは

 @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; 
      } 
     } 

stepdefinitionクラスで実行されてからクラスを

 @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 

HOST_NAMEはLoginTestStepsクラスにヌルとして来ています。

答えて

0

これを試してみてください:

@Component 
@PropertySource("classpath:application.properties") 
public class LoginTestSteps { 
関連する問題