Serenity BDD - Client Builder HTTP - Problème Proxy - Comment configurer auth NTLM?

voix
0

Salut Im essayant d'exécuter des tests API de mon lieu de travail en utilisant la sérénité BDD et rassurez-vous, mais les blocs proxy ou quelque chose et me donne problème de délai de connexion

Serenity BDD - Code Restassured:

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

Le code ci-dessus fonctionne dans mon ordinateur portable local connecté à mon travail Wifi. mais ne fonctionne pas dans mon travail VM (citrix)

Mais lorsque vous utilisez Java la construction d' un seul constructeur de contenu client et en appuyant sur les requêtes avec qui il travaille. Code 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)
    {
......
}

Cela fonctionne ..dans mon lieu de travail (machines virtuelles)

Quelqu'un peut-il s'il vous plaît laissez-moi savoir comment mettre en œuvre le code Java ci-dessus dans BDD de sérénité et de repos des classes assurées

Créé 24/10/2019 à 12:53
source utilisateur
Dans d'autres langues...                            

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