Перейти к содержимому

Selenium WebDriver: полное руководство
онлайн, начало 19 октября
Логи как инструмент тестировщика
онлайн, начало 22 октября
Школа для начинающих тестировщиков
онлайн, начало 22 октября
Тестирование REST API
онлайн, начало 22 октября
Фотография

На одном кампе Selenium летает, на другом еле ползет(


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 AndOne

AndOne

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 22 Май 2018 - 16:41

Всем привет! 
Столкнулся с такой проблемой: 
есть 2 разных кампа, с одного chrome драйвер селениум запускает очень быстро и работу производит в нем так же быстро, как мы привыкли в веб браузере. 
А вот на другом кампе даже инициализация (открытие браузера) происходит оооочень медленно. Медленно и он переходит на другие страницы. Все очень тухло. Из-за этого все тесты падают. 
В каком направлении копать?? Если вручную запустить браузер хром на компе, где все медленно - то он нормально работает Штатно.


  • 0

#2 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Максим

Отправлено 18 Сентябрь 2018 - 11:00

Столкнулся с такой же проблемой. Команда refresh() при локальном запуске выполняется грубо говоря за секунду. При запуске через дженкинс на удалённой машине в хедлесс режиме- 40 секунд. И как то вообще нет идей почему это работает именно так.


  • 0

#3 Noksa

Noksa

    Активный участник

  • Members
  • PipPip
  • 110 сообщений
  • ФИО:Александр

Отправлено 18 Сентябрь 2018 - 11:10

Ну отключите хедлесс режим и посмотрите на результаты
  • 0

#4 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Максим

Отправлено 18 Сентябрь 2018 - 11:24

Не могу, та машина без гуи. Можно конечно в докере сделать, но блин, путь долог и тернист, а результат нужен как всегда вчера. Я никогда до этого не запускал в докерах


  • 0

#5 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Максим

Отправлено 18 Сентябрь 2018 - 12:57

Дополню что попробовал запустить в хедлесе у себя.

При запуске в хедлесе без дженкинса, на своей машине тесты идут 3 минуты, на удаленной 12-16 минут. Так что видимо всё таки проблема как то касается или дженкинса или удалённой машины.


  • 0

#6 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Максим

Отправлено 21 Сентябрь 2018 - 09:19

В общем проблема так и не решилась. Локально отдельный тест идет 20 секунд, в дженкинсе на удаленке 4 минуты. Сделал максимальное упрощение этого теста, и нашёл интересную особенность. Создал метод где прописанно только sleep(100)В таком случае этот метод выполняется целых две минуты, и метод следующий за ним тоже выполняется две минуты. Если я в этот метод прописываю просто вывод на консоль System.out.println("тест"); в таком случае метод проходит очень быстро и нет непонятной задержки. Так же в этом методе пробовал прописывать например $("selector").waitUntil(Condition.visible, 5000); В этом случае тоже тест тормозится. При этом слипы например в других частях программы отрабатывают нормально.
Ниже накидаю скринов чтобы примерно понимать что у меня там происходит. Очень буду рад если кто подскажет направление куда копать.

 

мой пумник

<?xml version="1.0" encoding="UTF-8"?>
<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>тыц</groupId>
    <artifactId>тыц</artifactId>
    <version>1.0-SNAPSHOT</version>
    

    <properties>
        <aspectj.version>1.8.10</aspectj.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.14.0</version>
        </dependency>

        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-cucumber-jvm</artifactId>
            <version>2.7.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/ru.yandex.qatools.allure/allure-testng-adaptor -->
        <dependency>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-testng-adaptor</artifactId>
            <version>1.5.4</version>
        </dependency>

        <!--allure-maven-plugin -->
        <dependency>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-cucumber-jvm-adaptor</artifactId>
            <version>1.6.4</version>
        </dependency>

        <dependency>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-maven-plugin</artifactId>
            <version>2.6</version>
        </dependency>

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
            <scope>compile</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-java -->
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.5</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-testng -->
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-testng</artifactId>
            <version>1.2.5</version>
        </dependency>

        <dependency>
            <groupId>com.codeborne</groupId>
            <artifactId>selenide</artifactId>
            <version>4.12.3</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</artifactId>
            <version>1.7.25</version>
        </dependency>

        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-selenide</artifactId>
            <version>2.7.0</version>
            <scope>test</scope>
        </dependency>


    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <compilerArgs>
                        <arg>-XDignore.symbol.file=true</arg>
                    </compilerArgs>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.0</version>
                <configuration>
                    <!--<suiteXmlFiles>src/test/resources/runners/TestRunner.xml</suiteXmlFiles>-->
                    <suiteXmlFiles>src/test/resources/runners/runnerCucumber.xml</suiteXmlFiles>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                        -Dcucumber.options="--plugin io.qameta.allure.cucumberjvm.AllureCucumberJvm"
                    </argLine>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <excludeDefaults>true</excludeDefaults>
        <plugins>
            <plugin>
                <groupId>ru.yandex.qatools.allure</groupId>
                <artifactId>allure-maven-plugin</artifactId>
                <version>2.6</version>
            </plugin>
        </plugins>
    </reporting>

</project>

Мой ранер через который запускаю тесты

package cucumber.base;

import base.utilities.Props;
import base.utilities.Util;
import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.Screenshots;
import com.google.common.io.Files;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
import org.openqa.selenium.Dimension;
import org.testng.annotations.*;
import page_objects.LkSmarthome.blocks.HeaderBlock;
import page_objects.LkSmarthome.blocks.OmnichatBlock;
import page_objects.LkSmarthome.modalWindows.ChangePasswordModalWindow;
import page_objects.LkSmarthome.modalWindows.EnterEmailModalWindow;
import page_objects.LkSmarthome.pages.*;
import page_objects.mailForSpam.pages.EmailBox;
import ru.yandex.qatools.allure.annotations.Attachment;

import java.io.File;
import java.io.IOException;

import static com.codeborne.selenide.WebDriverRunner.getWebDriver;


@CucumberOptions(
        features = "src/test/java/cucumber/features",
        glue = "cucumber.steps",
        tags = "@test"
)

public class Runner extends AbstractTestNGCucumberTests {


    //инициализация страниц и вспомогательных классов
    //страницы
    protected static LoginPage loginPage = new LoginPage();
    protected static Props props = new Props();
    protected static SinginPage singinPage = new SinginPage();
    protected static EmailBox emailBox = new EmailBox();
    protected static Util util = new Util();
    protected static HelpPage helpPage = new HelpPage();
    protected static EventsPage eventsPage = new EventsPage();
    protected static ProfilePage profilePage = new ProfilePage();
    //блоки
    protected static HeaderBlock headerBlock = new HeaderBlock();
    protected static OmnichatBlock omnichatBlock = new OmnichatBlock();
    //модальные окна
    protected static ChangePasswordModalWindow changePasswordModalWindow = new ChangePasswordModalWindow();
    protected static EnterEmailModalWindow enterEmailModalWindow = new EnterEmailModalWindow();

    @BeforeSuite
    public static void setUp() {
        //isChrome();
        //Configuration.browser = "chrome";
        Configuration.headless = true;

        //настройки параметра браузера
        Configuration.collectionsTimeout = 12000;
        Configuration.timeout = 10000;

        if(props.getLocalRun()==true) {
            Configuration.baseUrl = "https://тутссылка";
            Configuration.browser = "chrome";
            Configuration.holdBrowserOpen = true;
            Configuration.headless = false;
        }

        //
        getWebDriver().manage().window().setSize(new Dimension(1440, 900));
        getWebDriver().manage().window().maximize();
    }

}


Прикрепленные файлы


  • 0

#7 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 316 сообщений
  • Город:Н.Новгород

Отправлено 21 Сентябрь 2018 - 11:05

Локально на "медленном" компе тоже идет быстро? Тогда м.б., проблемы со связью? Сравните время пинга для "быстрой" и "медленной" машины в одну и другую сторону. Если нет разницы, можно еще замерить время запроса непосредственно на селениум-сервер.


  • 0

#8 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Максим

Отправлено 21 Сентябрь 2018 - 18:28

Локально проверить на другом компе нет возможности, во первых он без гуи, во вторых находится в другом городе от меня. Пинг измерю и отпишу сюда, но есть сомнения что дело в пинге, другие методы то отрабатывают за секунды или быстрее. А метод например обновляющий страницу или слип отрабатывают долго, но опять же не везде...в общем странно это очень, первый раз с таким сталкиваюсь


  • 0

#9 Catchermax

Catchermax

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Максим

Отправлено 24 Сентябрь 2018 - 06:56

Да, дело не в пинге.


  • 0


Selenium 2.0: стартовый уровень
онлайн, начало 9 ноября
Программирование на Java для тестировщиков
онлайн, начало 16 ноября
Автоматизация функционального тестирования
онлайн, начало 9 ноября
Selenium WebDriver: полное руководство
онлайн, начало 19 октября



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале