Serenity BDD - HTTP Construtor Client - Edição Proxy - Como auth configuração NTLM?

votos
0

Oi Estou tentando executar testes de API do meu local de trabalho usando Serenity BDD e tenha a certeza, mas o proxy ou algo bloqueia mim e me dá problema de tempo limite de conexão

Serenity BDD - Código Restassured:

SerenityRest.rest().given().proxy(proxy_host, proxyPort).auth().basic(xxusernmexx, xxpassword)
        .spec(com.api.utils.ReuseableSpecifications.getGenericRequestSpec())
        .get(bin/userInfo).
        then().
        log().all();

O código acima funciona no meu laptop local conectado ao meu Wifi trabalho. mas não funciona no meu trabalho VM (Citrix)

Mas ao usar Java sozinho construção de um construtor de conteúdo do cliente e bater solicitações com que, em seguida, ele funciona. Código Java:

public class api{

    private HttpClient client; 
    Date expires = null ; 
    String cooki_1 = ; 
    HashMap<String, String> data_Header_1 = new  HashMap<String, String>();
    HttpCoreContext localContext ;
    BasicCookieStore cookieStore; 
    HttpClientContext httpClientContext;    
    String proxy_host = xxxxxx.xxxxx.intra; 
    int proxyPort = 8080;


    public api()
    {
        cookieStore  = new BasicCookieStore();
        localContext= new HttpCoreContext();
        httpClientContext = HttpClientContext.create();
        Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
                .register(AuthSchemes.NTLM,  new NTLMSchemeFactory())
                .register(AuthSchemes.BASIC, new BasicSchemeFactory())
                .register(AuthSchemes.DIGEST, new DigestSchemeFactory())
                .register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory())
                .register(AuthSchemes.KERBEROS, new KerberosSchemeFactory())
                .build(); 
        httpClientContext.setCookieStore(cookieStore);


        NTCredentials credentials = new NTCredentials(xxusernamexx,xxpasswordxx,null,xxdomainxx );
        CredentialsProvider credProvider = new BasicCredentialsProvider();
        credProvider.setCredentials(new AuthScope(proxy_host, proxyPort), credentials );

        this.client = HttpClientBuilder.create().setProxy(new HttpHost(proxy_host, proxyPort)).setDefaultAuthSchemeRegistry(authSchemeRegistry)
                .setDefaultCredentialsProvider(credProvider).setProxyAuthenticationStrategy(new ProxyAuthenticationStrategy())
                .setRedirectStrategy(new LaxRedirectStrategy()).setDefaultRequestConfig(RequestConfig.custom()
            .setCookieSpec(CookieSpecs.STANDARD).build()).setDefaultCookieStore(cookieStore).build();
        //System.setProperty(java.net.useSystemProxies, true);

        }

    public RestResponse postRequest(String url)
    {
......
}

Isso funciona ..na meu local de trabalho (máquinas virtuais)

Alguém pode por favor me avise como implementar o código java acima na bdd serenidade e descanso aulas asseguradas

Publicado 24/10/2019 em 12:53
fonte usuário
Em outras línguas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more