首页 > 解决方案 > 如何从 citrus 测试类调用 citrus bean 配置类中的任何变量

问题描述

我必须在 citrus bean 配置类中使用我的用户名和密码,以及我在测试类中在字符串变量中设置的那些值。那么我如何在配置类中调用它们,因为配置类默认运行。

// 我的测试类如下 // Citrus 测试类

@Test
public class IntegrationTest extends TestNGCitrusTestRunner {

@CitrusTest()
    public void demoTest() {    

    variable("userName", System.getenv("UName"));
    variable("password", System.getenv("Password"));

    http(actionBuilder -> actionBuilder
                        .client("someclient")
                        .send()
                        .post()
                        .path("/token")
                        .messageType(MessageType.PLAINTEXT)
                        .payload("some load")
                        );

    http(actionBuilder -> actionBuilder
                        .client("someclient")
                        .receive()
                        .response()
                        .messageType(MessageType.JSON)
                        .extractFromPayload("$.token","accessToken")
                        .status(HttpStatus.OK)
                        );
    }
}

//citrus configuration class

@Configuration
@ComponentScan(basePackages = { "com.*" })
public class CitrusConfig {

private String proxyUser = "";
private string proxyPassword = "";

// 在上面的变量中,我如何调用我在测试类中设置的用户名和密码。

@Bean
public CloseableHttpClient httpClient() {

    CredentialsProvider credsProvider = new BasicCredentialsProvider();
            credsProvider.setCredentials(new AuthScope(proxyHost, Integer.parseInt(proxyPort)),
                    new UsernamePasswordCredentials(proxyUser, proxyPassword));
    }

}

提前致谢

标签: javacitrus-framework

解决方案


推荐阅读