2016-11-26 10 views
0

Я создал веб-приложение java с JSF 2.2.12, Prime Faces 6 и Omnifaces. В бэкэнд у меня есть стандартные слои, такие как Spring, Hibernate и мой сервер приложений Glassfish 4.1.1 Я выполняю некоторые тесты с Arquillian. Странность заключается в том, что на Linux (Ubuntu 16) работает, но с Windows нет.Arquillian с Windows и Glassfish 4.1 очень медленно

Вот мой Arquillian.xml файл

<?xml version="1.0"?> 
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns="http://jboss.org/schema/arquillian" 
      xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> 

    <container qualifier="glassfish" default="true"> 
     <configuration> 
      <property name="remoteServerAddress">localhost</property> 
      <property name="remoteServerHttpPort">8080</property> 
      <property name="remoteServerAdminPort">4848</property> 
     </configuration> 
    </container> 

    <extension qualifier="webdriver"> 
     <property name="browser">chrome</property> 
     <property name="remoteReusable">true</property> 
    </extension> 
</arquillian> 

И вот один пример тестового класса

public class IndexFrontendTest extends BaseArquillianTest { 

    @Drone 
    private WebDriver browser; 

    @ArquillianResource 
    private URL deploymentUrl; 

    @Page 
    private IndexPage indexPage; 

    private FrontendTestComponent frontendTestComponent; 

    @Before 
    public void setUp() { 
     browser.manage().window().setSize(new Dimension(1920, 1080)); 
     browser.get(deploymentUrl.toExternalForm()); 
     frontendTestComponent = new FrontendTestComponent(); 
    } 

    @RunAsClient 
    @Test 
    public void testCarManufacturersAndModels() { 
     indexPage.getCarManufacturersDropdown().selectByVisibleText("Ajax"); 
     frontendTestComponent.waitForJStoLoad(browser); 
     frontendTestComponent.checkSelect(indexPage.getCarModelsDropdown(), 1, true); 
    } 

    @RunAsClient 
    @Test 
    public void testContinentsAndCountries() { 
     indexPage.getContinentsDropdown().selectByValue("1"); 
     frontendTestComponent.waitForJStoLoad(browser); 
     frontendTestComponent.checkSelect(indexPage.getCountriesDropdown(), 45, true); 
    } 
} 

Класс BaseArquillianTest имеет только статический метод для Deploy

@RunWith(Arquillian.class) 
public abstract class BaseArquillianTest { 

    @Deployment(testable = true) 
    public static WebArchive createDeployment() throws IOException { 
     ... 
     ... 
    } 
} 

Мои Машина Dev имеет двойную загрузку. В Linux мои тесты занимают 60 секунд. В Windows требуется 20 минут, а иногда я вижу и ошибку, например «Bad Request».

Я пробовал 2 разные браузеры (phantomjs и хром), но такая же ситуация

Я пытался искать в Интернете, но, кажется, кто-то есть эта ошибка. Я полагаю, что я ошибаюсь в настройках.

Оказание помощи Вы можете помочь мне?

ответ

0

Проблема - ошибка внутри Glassfish.

Я переключился на Payara, и теперь все в порядке, даже если для завершения 4 тестов (и 2 разворота) требуется 2 минуты.

Я не знаю, подходит ли это время?