Стъпките на SoapUI презаписват настройките на log4j

Имам настройка, при която изпълнявам JBehave тестове по време на изграждане на Maven.

Тестовите стъпки включват изпращане на заявки до уеб услуга с класовете SoapUI Java.

Всичко работи добре, тестово. Проблемът ми е, че частта от напредъка на SoapUI изглежда презаписва настройките на log4j, така че следващите извиквания на журнала да не се отпечатват в конзолата (нито файлове).

Опитах заобиколното решение, където се обаждам

    ClassLoader loader = this.getClass().getClassLoader();
    URL resource = loader.getResource("log4j.xml");
    PropertyConfigurator.configure(resource);

да се опитам да нулирам конфигурацията до оригиналната ми, но засега без успех.

Log4j (1.2) и SoapUI (4.5.1) използват обикновени настройки в pom. Регистраторът е създаден като protected final Log log = LogFactory.getLog(getClass());

Конзолният изход, който получавам, е следният:

    pool-1-thread-1 16:36:08,212 DEBUG ästeps.LoginSteps:25 - logging in user: testfir
    pool-1-thread-1 16:36:08,213 DEBUG äpages.LoginPage:26 - Create LoginPage
    pool-1-thread-1 16:36:08,985 DEBUG äpages.LoginPage:38 - login user: testfir
    pool-1-thread-1 16:36:10,343 DEBUG äpages.WorkspacePage:36 - creating WorkspacePage
    Givet user testfir has logged in
    16:36:11,634 WARN  [SoapUI] Missing folder [D:\proj\src\test\functional-tests\.\ext] for external libraries
    16:36:11,809 INFO  [DefaultSoapUICore] initialized soapui-settings from [C:\Users\xxx\soapui-settings.xml]
    16:36:12,176 INFO  [WsdlProject] Loaded project from [file:/D:/proj/src/test/functional-tests/src/test/resources/ReceiveCase-soapui.xml]
    16:36:12,640 DEBUG [HttpClientSupport$SoapUIHttpClient] Attempt 1 to execute request
    16:36:12,640 DEBUG [SoapUIMultiThreadedHttpConnectionManager$SoapUIDefaultClientConnection] Sending request: POST /soa-infra/services/default/ReceiveCases/ReceiveCase_v1_0_ep HTTP/1.1
    16:36:13,841 DEBUG [SoapUIMultiThreadedHttpConnectionManager$SoapUIDefaultClientConnection] Receiving response: HTTP/1.1 200 OK
    16:36:13,842 DEBUG [HttpClientSupport$SoapUIHttpClient] Connection can be kept alive indefinitely
    And a case exists
    When case is choosen
    16:36:46,832 DEBUG [SoapUIMultiThreadedHttpConnectionManager$SoapUIDefaultClientConnection] Connection closed
    Then the details are displyed

И очаквам лог изход с

Задаване на ИД на случай: 123456

по същия начин като „Създаване на страница за вход“.

Не мога да разбера защо е така и какво да направя, за да се показват записите в дневника ми. Някакви идеи там?

С най-добри пожелания, Крисчън


person Christian Karlsson    schedule 16.01.2013    source източник


Отговори (1)


Успях да намеря корена на проблема. Maven беше този, който изкриви кодирането на файла. Добавяне

    <configuration>
      <encoding>UTF-8</encoding>
      <inputEncoding>UTF-8</inputEncoding>
      <outputEncoding>UTF-8</outputEncoding>
      <argLine>-Dfile.encoding=UTF-8</argLine>
    </configuration>

към частта maven-surefire-plugin в pom файла реши проблема ми.

/Наздраве

person Christian Karlsson    schedule 23.01.2013