error de restablecimiento de conexión - cuando se ejecuta mvn instalación limpia para ejecutar funciones

Doritos:

Hemos generado un proyecto de prueba de karate usando el arquetipo de Maven, para probar varios servicios diferentes API. Tenemos un archivo de función que lleva a cabo una prueba con un punto final, que funciona bien cuando esta variable se ejecuta localmente en nuestra máquina. Sin embargo, nos gustaría realizar estas pruebas de karate en un entorno de CI en el que utilizar una dirección URL a nuestro servicio (desplegado) en un entorno de desarrollo. Cuando nos encontramos mvn clean installen nuestra línea de CI, obtenemos un error cuando se ejecuta la función:

 com.intuit.karate.exception.KarateException:
 MyFeatureTest.feature:8 -
 java.net.SocketException: Connection reset

nuestra configuración

pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.mycompany.app</groupId>
  <artifactId>our-karate-tests</artifactId>
  <version>1.0-SNAPSHOT</version>

  <properties>
    <java.version>1.8</java.version>
    <maven.compiler.version>3.6.0</maven.compiler.version>
    <karate.version>0.9.5</karate.version>
  </properties>

  <dependencies>
    <dependency>
        <groupId>com.intuit.karate</groupId>
        <artifactId>karate-apache</artifactId>
        <version>${karate.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.intuit.karate</groupId>
        <artifactId>karate-junit4</artifactId>
        <version>${karate.version}</version>
        <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
        <testResources>
            <testResource>
                <directory>src/test/java</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.version}</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <compilerArgument>-Werror</compilerArgument>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>            
        </plugins>        
    </build>       
</project>

MyFeatureTest.java

import com.intuit.karate.KarateOptions;
import com.intuit.karate.junit4.Karate;
import com.junit.runner.RunWith;

@RunWith(Karate.class)
@KarateOptions(features="classpath:MyFeatureTest.feature")
public class MyFeatureTest {
}

MyFeatureTest.feature

Feature: test an endpoint
    Background:
        * url 'https://dev.myapplication.com/api/signin'
        * configure ssl = true

    Scenario: test request
        Given request {"username":"john", "password":"doe"}
        When method post
        Then status 200
        And match response == {resp:"success"}

Lo que hemos tratado:

Estamos en condiciones de llamar al servicio a través del cartero sin ningún problema (tanto a nivel local y el servicio desplegado). También hemos intentado ejecutar diferentes métodos, por ejemplo GET. Lo extraño de todo esto es que el error se produce restablecimiento de conexión en nuestro entorno de CI, pero cuando nos encontramos la característica localmente, tenemos una org.apache.http.conn.ConnectTimeoutException: connect to https://dev.myapplication.com:443 failed: connection timeout.

Tenemos la sensación de que está relacionado con el karate-Apache cliente, sino que también hemos tratado de utilizar Apache-Jersey. Por desgracia, tenemos el mismo problema cuando se utiliza el cliente de punto y. También nos pareció que podría estar relacionado con SSL. Sin embargo, incluso cuando se utiliza un servicio no ssl (y eliminar la configuración de SSL de la característica), el mismo problema se produce. Hemos tratado de respuestas de la prueba de que no sea HTTPS sitios web como web.archive.org, así como los https como google.com, en un intento inútil y en el que basta con probar una petición GET. Sin embargo, el mismo problema se produce.

Peter Thomas:

Se parece mucho a que tienen un proxy HTTP que tratar.

Consulte los documentos, si ese es el caso: https://github.com/intuit/karate#configure

* configure proxy = 'http://my.proxy.host:8080'

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=277241&siteId=1
Recomendado
Clasificación