Serenity BDD - HTTP Builder Client - Problemă Proxy - Cum autorizare de configurare NTLM?

voturi
0

Bună Im încercarea de a rula teste API de la locul meu de muncă folosind Serenity BDD și fiți siguri, dar proxy sau ceva blochează și mi dă conexiune problemă timeout

Serenity BDD - Cod Restassured:

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

Codul de mai sus funcționează în laptop-ul meu local conectat la Wi-Fi mea de lucru. dar nu funcționează în munca mea VM (Citrix)

Dar atunci când se utilizează Java singur construirea unui constructor de conținut client și lovind cereri cu care atunci funcționează. Java cod:

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)
    {
......
}

Aceasta funcționează ..in locul meu de muncă (Virtual Machines)

Poate cineva te rog să-mi spuneți cum să pună în aplicare codul java de mai sus în BDD liniște și odihnă clase asigurate

Întrebat 24/10/2019 la 12:53
sursa de către utilizator
În alte limbi...                            

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