Arquillian с Windows и Glassfish 4.1 очень медленный

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

Вот мой файл 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 имеет только статический метод для развертывания

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

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

У моей машины Dev двойная загрузка. В Linux мои тесты занимают 60 секунд. На винду уходит 20 минут и иногда я вижу и ошибку типа "Плохой запрос".

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

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

Не могли бы вы мне помочь пожалуйста?

1 ответ

Решение

Проблема заключается в ошибке внутри Glassfish.

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

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

Другие вопросы по тегам