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

Фотография

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


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

#1 AndOne

AndOne

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

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

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

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


  • 0

#2 Catchermax

Catchermax

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

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

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

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


  • 0

#3 Noksa

Noksa

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

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

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

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

#4 Catchermax

Catchermax

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

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

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

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


  • 0

#5 Catchermax

Catchermax

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

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

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

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

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


  • 0

#6 Catchermax

Catchermax

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

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

Отправлено 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
  • 400 сообщений
  • Город:Н.Новгород

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

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


  • 0

#8 Catchermax

Catchermax

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

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

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

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


  • 0

#9 Catchermax

Catchermax

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

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

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

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


  • 0


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

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