Скрипты WebDriver, управляемые данными (использующие TestNG), долго запускаются

Я расширил Selenium, используя библиотеку Java WebDriver и платформу TestNG. При запуске тестовых сценариев я замечаю чрезмерное количество времени для начала выполнения теста, когда тест получает входные параметры из файла Excel (с использованием аннотации @DataProvider).

Задержка может составлять около 10 минут, что требует много времени для запуска и отладки. Есть ли причина такой значительной задержки?


person rs79    schedule 17.09.2015    source источник
comment
Прочтите руководство Как задать хороший вопрос, особенно часть, посвященную минимальному, полному и проверяемому примеру ( МКВЭ). Это поможет вам решить проблемы для себя. Если вы сделаете это и все еще застряли, вы можете вернуться и опубликовать свой MCVE, что вы пробовали и каковы были результаты, чтобы мы могли лучше помочь вам.   -  person JeffC    schedule 17.09.2015


Ответы (2)


Да, возможно, из-за того, как вы читаете из Excel (жадный поставщик данных), и зависит от того, насколько велик ваш файл Excel. Существует нечто, называемое ленивым поставщиком данных. Пример одного найден здесь . Выкладываю код по ссылке.

Для лучшего понимания нужно посмотреть ваш код.

public class LazyDataProviderExample {
    @Test(dataProvider = "data-source")
    public void myTestMethod(String info) {
        Reporter.log("Data provided was :" + info, true);
    }

    @DataProvider(name = "data-source")
    public Iterator<Object[]> dataOneByOne() {
        return new MyData();

    }

    private static class MyData implements Iterator<Object[]> {
        private String[] data = new String[] { "Java", "TestNG", "JUnit" };
        private int index = 0;

        @Override
        public boolean hasNext() {
            return (index <= (data.length - 1));
        }

        @Override
        public Object[] next() {
            return new Object[] { data[index++] };
        }

        @Override
        public void remove() {
            throw new UnsupportedOperationException("Removal of items is not supported");
        }
    }

}
person Shamik    schedule 18.09.2015

По какой-то причине эта проблема была решена путем восстановления моего пользовательского профиля Firefox — возможно, он был поврежден.

Просто опубликуйте это как ответ для справки, если кто-то увязнет в этой проблеме.

person rs79    schedule 29.09.2015