<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:discourse="http://www.discourse.org/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>automated-testing.info - Последние темы</title>
    <link>https://automated-testing.info/latest</link>
    <description>Последние темы</description>
    <language>ru</language>
      <lastBuildDate>Sun, 26 Apr 2026 09:06:21 +0000</lastBuildDate>
      <atom:link href="https://automated-testing.info/latest.rss" rel="self" type="application/rss+xml" />
        <item>
          <title>Подключение к запущенному хрому с помощью Selenium.</title>
          <dc:creator><![CDATA[Andrej_Pahomov]]></dc:creator>
          <category>webdriver</category>
          <description><![CDATA[
            <p>Добрый день</p>
<p>Подскажите пожалуйста можно ли подключиться с помощью селениума из кода на Java к запущенному на локальной машине хрому. Браузер запускается из стороннего приложения, добавить какие-то параметры для его запуска я не могу.</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/podklyuchenie-k-zapushhennomu-hromu-s-pomoshhyu-selenium/30729">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/podklyuchenie-k-zapushhennomu-hromu-s-pomoshhyu-selenium/30729</link>
          <pubDate>Sun, 26 Apr 2026 09:06:21 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30729</guid>
          <source url="https://automated-testing.info/t/podklyuchenie-k-zapushhennomu-hromu-s-pomoshhyu-selenium/30729.rss">Подключение к запущенному хрому с помощью Selenium.</source>
        </item>
        <item>
          <title>Кто уже реально юзает AI в автотестах? Или всё ещё хайп?</title>
          <dc:creator><![CDATA[sevnight]]></dc:creator>
          <category>общие вопросы</category>
          <description><![CDATA[
            <p>Интересно как обстоят дела не в статьях, а в реальности.</p>
<p>Кто уже внедрил AI в автотесты — отпишитесь:</p>
<ul>
<li>Юзаете или пока «смотрим и не трогаем»?</li>
<li>Для чего применяете:
<ul>
<li>генерация тестов</li>
<li>разбор падений / логов</li>
<li>self-healing локаторов</li>
<li>генерация тестовых данных</li>
<li>что-то своё</li>
</ul>
</li>
<li>Какой стек:
<ul>
<li>какие LLM (OpenAI / локальные / ещё что?)</li>
<li>инструменты (LangChain, свои велосипеды и т.д.)</li>
<li>как это вообще у вас интегрировано (локально / CI / сервис)</li>
</ul>
</li>
<li>Есть ли реальный профит или больше поиграться?</li>
<li>Какие подводные (галлюцинации, нестабильность, безопасность, цена)?</li>
</ul>
<p>Интересны именно живые кейсы, а не «мы думаем внедрить».</p>
<p>А то ощущение, что половина рынка уже «на AI», а по факту — максимум чатик открыт во втором окне</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/kto-uzhe-realno-yuzaet-ai-v-avtotestah-ili-vsyo-eshhyo-hajp/30727">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/kto-uzhe-realno-yuzaet-ai-v-avtotestah-ili-vsyo-eshhyo-hajp/30727</link>
          <pubDate>Fri, 24 Apr 2026 10:47:49 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30727</guid>
          <source url="https://automated-testing.info/t/kto-uzhe-realno-yuzaet-ai-v-avtotestah-ili-vsyo-eshhyo-hajp/30727.rss">Кто уже реально юзает AI в автотестах? Или всё ещё хайп?</source>
        </item>
        <item>
          <title>Как сохранять и восстанавливать сессию пользователя без повторной авторизации?</title>
          <dc:creator><![CDATA[sevnight]]></dc:creator>
          <category>webdriver</category>
          <description><![CDATA[
            <p><strong>Проблема</strong> заключается в том, как сохранять и восстанавливать авторизованную сессию пользователя без повторной авторизации в автотестах.</p>
<p>Авторизация тяжёлая (сертификат, организация, редиректы), и хочется один раз авторизоваться, сохранить состояние браузера и потом переиспользовать его.</p>
<p>Я <strong>попытался</strong> сделать следующее:</p>
<ul>
<li>Сохранять cookies и восстанавливать их</li>
<li>Сохранять localStorage / sessionStorage</li>
<li>Сохранять текущий URL и открывать его после восстановления</li>
<li>Играться с очисткой/неочисткой cookie и кэша</li>
<li>Пробовал изоляцию через WebDriver BiDi (userContext) вместо восстановления сессии</li>
<li>Рассматривал вариант с user-data-dir (профиль браузера)</li>
</ul>
<p>У меня <strong>получилось</strong>:</p>
<ul>
<li>Частично восстановить сессию через cookies + storage</li>
<li>Через BiDi получить изолированные контексты пользователей и переключаться между ними</li>
<li>Через user-data-dir получить рабочую авторизацию без повторного логина (но без изоляции)</li>
</ul>
<p>У меня <strong>не получилось</strong>:</p>
<ul>
<li>Стабильно восстанавливать сессию только через cookies + storage</li>
<li>Избежать 401 после “восстановления”</li>
<li>Сделать так, чтобы авторизация корректно “переживала” восстановление</li>
<li>Использовать BiDi без проблем:
<ul>
<li>extension не работает в новых контекстах без incognito</li>
<li>нельзя нормально включить incognito доступ программно</li>
<li>проблемы с новыми вкладками</li>
</ul>
</li>
<li>Найти “чистое” решение без профиля браузера</li>
</ul>
<p><strong>Код</strong></p>
<pre><code class="lang-java">package helpers.browserstate;

import com.codeborne.selenide.Selenide;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.net.URI;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

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

public class BrowserStateManager {
    private static final Logger logger = LoggerFactory.getLogger(BrowserStateManager.class);

    public void saveCurrentState(String label) {
        WebDriver driver = getWebDriver();
        String pageUrl = driver.getCurrentUrl();
        String currentOrigin = extractOrigin(pageUrl);

        Map&lt;String, OriginStorageState&gt; storageByOrigin = new LinkedHashMap&lt;&gt;();
        storageByOrigin.put(currentOrigin, OriginStorageState.builder()
                .origin(currentOrigin)
                .localStorage(readStorage("localStorage"))
                .sessionStorage(readStorage("sessionStorage"))
                .build());

        BrowserStateSnapshot snapshot = BrowserStateSnapshot.builder()
                .label(label)
                .pageUrl(pageUrl)
                .cookies(driver.manage().getCookies().stream()
                        .map(StoredCookie::from)
                        .collect(Collectors.toList()))
                .storageByOrigin(storageByOrigin)
                .build();

        BrowserStateRepository.save(snapshot);

        logger.info("Сохранено состояние браузера по лейблу '{}'. pageUrl={}, cookies={}",
                label, pageUrl, snapshot.getCookies().size());
    }

    public void restoreState(String label) {
        BrowserStateSnapshot snapshot = BrowserStateRepository.get(label);
        WebDriver driver = getWebDriver();

        driver.manage().deleteAllCookies();
        clearStorage();

        restoreCookiesByDomain(snapshot.getCookies());
        restoreStorage(snapshot.getStorageByOrigin());

        Selenide.open(snapshot.getPageUrl());
        Selenide.refresh();

        logger.info("Восстановлено состояние браузера по лейблу '{}'. pageUrl={}",
                label, snapshot.getPageUrl());
    }

    private void restoreCookiesByDomain(List&lt;StoredCookie&gt; cookies) {
        Map&lt;String, List&lt;StoredCookie&gt;&gt; cookiesByDomain = cookies.stream()
                .filter(cookie -&gt; cookie.getDomain() != null &amp;&amp; !cookie.getDomain().isBlank())
                .collect(Collectors.groupingBy(cookie -&gt; normalizeDomain(cookie.getDomain()), LinkedHashMap::new, Collectors.toList()));

        for (Map.Entry&lt;String, List&lt;StoredCookie&gt;&gt; entry : cookiesByDomain.entrySet()) {
            String domain = entry.getKey();
            List&lt;StoredCookie&gt; domainCookies = entry.getValue();

            String url = "https://" + domain;
            Selenide.open(url);

            for (StoredCookie storedCookie : domainCookies) {
                try {
                    Cookie cookie = storedCookie.toSeleniumCookie();
                    getWebDriver().manage().addCookie(cookie);
                    logger.info("Добавлена cookie '{}' для домена '{}'", storedCookie.getName(), storedCookie.getDomain());
                } catch (Exception e) {
                    logger.warn("Не удалось добавить cookie '{}' для домена '{}'. Текущий URL='{}'. Ошибка: {}",
                            storedCookie.getName(),
                            storedCookie.getDomain(),
                            getWebDriver().getCurrentUrl(),
                            e.getMessage());
                }
            }
        }
    }

    private void restoreStorage(Map&lt;String, OriginStorageState&gt; storageByOrigin) {
        if (storageByOrigin == null || storageByOrigin.isEmpty()) {
            return;
        }

        for (OriginStorageState state : storageByOrigin.values()) {
            Selenide.open(state.getOrigin());
            clearStorage();
            writeStorage("localStorage", state.getLocalStorage());
            writeStorage("sessionStorage", state.getSessionStorage());
        }
    }

    @SuppressWarnings("unchecked")
    private Map&lt;String, String&gt; readStorage(String storageName) {
        JavascriptExecutor js = (JavascriptExecutor) getWebDriver();

        Object raw = js.executeScript("""
                const storage = window[arguments[0]];
                const result = {};
                for (let i = 0; i &lt; storage.length; i++) {
                    const key = storage.key(i);
                    result[key] = storage.getItem(key);
                }
                return result;
                """, storageName);

        if (raw == null) {
            return new LinkedHashMap&lt;&gt;();
        }

        return new LinkedHashMap&lt;&gt;((Map&lt;String, String&gt;) raw);
    }

    private void writeStorage(String storageName, Map&lt;String, String&gt; values) {
        JavascriptExecutor js = (JavascriptExecutor) getWebDriver();

        js.executeScript("""
                const storage = window[arguments[0]];
                const values = arguments[1] || {};
                Object.keys(values).forEach(key =&gt; storage.setItem(key, values[key]));
                """, storageName, values);
    }

    private void clearStorage() {
        JavascriptExecutor js = (JavascriptExecutor) getWebDriver();
        js.executeScript("window.localStorage.clear();");
        js.executeScript("window.sessionStorage.clear();");
    }

    private String extractOrigin(String url) {
        URI uri = URI.create(url);
        return uri.getScheme() + "://" + uri.getAuthority();
    }

    private String normalizeDomain(String domain) {
        return domain.startsWith(".") ? domain.substring(1) : domain;
    }
}
</code></pre>
<p><strong>Логи</strong> :</p>
<pre><code class="lang-auto">Failed to complete negotiation with the server: Error: Unauthorized: Status code '401'
SignalR error: Пользователь не авторизован
</code></pre>
<ul>
<li>Chromium-Gost (portable)</li>
<li>Selenium 4.x</li>
<li>Selenide 7.x</li>
<li>CryptoPro extension</li>
</ul>
<hr>
<p><strong>Ищу советы:</strong></p>
<ul>
<li>кто как решает переиспользование сессий?</li>
<li>реально ли обойтись без user-data-dir?</li>
<li>есть ли рабочие подходы?</li>
<li>или это в принципе ограничение</li>
</ul>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/kak-sohranyat-i-vosstanavlivat-sessiyu-polzovatelya-bez-povtornoj-avtorizaczii/30714">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/kak-sohranyat-i-vosstanavlivat-sessiyu-polzovatelya-bez-povtornoj-avtorizaczii/30714</link>
          <pubDate>Fri, 27 Mar 2026 09:52:16 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30714</guid>
          <source url="https://automated-testing.info/t/kak-sohranyat-i-vosstanavlivat-sessiyu-polzovatelya-bez-povtornoj-avtorizaczii/30714.rss">Как сохранять и восстанавливать сессию пользователя без повторной авторизации?</source>
        </item>
        <item>
          <title>Запуск автотестов appium на Tecno CM7 Android 15</title>
          <dc:creator><![CDATA[pbezpal5]]></dc:creator>
          <category>appium</category>
          <description><![CDATA[
            <p>Всем привет! Столкнулся с проблемой, что на девайсе Tecno CM7 с Android 15 не работает корректно appium. Автотест стартует, приложение запускается, но дальше сессия просто зависает. Уже перерыл все что можно и писал в appium, но проблема так и не решается. Настройки девайса уже перерыл все, результата нет. Подскажите, кто-то сталкивался с подобной проблемйо работы appium c девайсами Tecno? Удалось ли вам найти решение?</p>
<p>Ссылка на issue в github appium - <a href="https://github.com/appium/appium/issues/22081" class="inline-onebox" rel="noopener nofollow ugc">Crash appium with device Tecno CM7 Android 15 · Issue #22081 · appium/appium · GitHub</a></p>
<p>Инсайд, driver.getPageSource() не помог</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/zapusk-avtotestov-appium-na-tecno-cm7-android-15/30713">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/zapusk-avtotestov-appium-na-tecno-cm7-android-15/30713</link>
          <pubDate>Thu, 26 Mar 2026 13:39:39 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30713</guid>
          <source url="https://automated-testing.info/t/zapusk-avtotestov-appium-na-tecno-cm7-android-15/30713.rss">Запуск автотестов appium на Tecno CM7 Android 15</source>
        </item>
        <item>
          <title>AI инструменты, и их интегрирования в различные системы</title>
          <dc:creator><![CDATA[Valdemar]]></dc:creator>
          <category>общие вопросы</category>
          <description><![CDATA[
            <p>В нынешнее время, почти всю работу можно скинуть на AI помощников в разных сферах начиная от продавцов заканчивая школьными учителями.<br>
“Зачем мы до сих по берем на себя огромную часть рутины которая по сути своей может быть автоматизирована?”<br>
Я сам занимаюсь внедрением искусственного интеллекта в бизнесы, для обеспечения качественной работы менеджерского состава. Чтобы менеджеры не  выгорали на работе.<br>
Вот мой вопрос:<br>
Есть, ли кто так же внедряет автоматизацию в бизнес, с какими основными проблемами вы сталкиваетесь? По мимо того что многие думают что машины пришли чтобы их заменить -(</p>
            <p><small>2 сообщения - 2 участника</small></p>
            <p><a href="https://automated-testing.info/t/ai-instrumenty-i-ih-integrirovaniya-v-razlichnye-sistemy/30667">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/ai-instrumenty-i-ih-integrirovaniya-v-razlichnye-sistemy/30667</link>
          <pubDate>Tue, 06 Jan 2026 13:36:38 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30667</guid>
          <source url="https://automated-testing.info/t/ai-instrumenty-i-ih-integrirovaniya-v-razlichnye-sistemy/30667.rss">AI инструменты, и их интегрирования в различные системы</source>
        </item>
        <item>
          <title>Приходят не все результаты тестов тест опс</title>
          <dc:creator><![CDATA[dmitry.andresckul]]></dc:creator>
          <category>allure</category>
          <description><![CDATA[
            <p>В Jenkins есть джоба, которая каждую ночь запускает тесты, обычно они бегают 3 до 10 утра. В пайплайне прописана отправка результатов тестов в test ops:</p>
<p>withAllureUpload(<br>
name: ‘${JOB_NAME} - #${BUILD_NUMBER}’,<br>
projectId: ‘981’,<br>
results: [[path: “${env.WORKSPACE}/dist/allure-results”]],<br>
serverId: ‘<a href="http://testops.nnnnn.nnnn.ru" rel="noopener nofollow ugc">testops.nnnnn.nnnn.ru</a>’,<br>
tags: ‘custom’<br>
) {<br>
sh script<br>
}</p>
<p>В 5 утра происходит рестарт дженкинс, в логах джобы указывается:</p>
<p>Resuming build at Fri Oct 17 05:02:42 MSK 2025 after Jenkins restart<br>
Waiting for reconnection of tkle-jen0010 before proceeding with build<br>
Ready to run at Fri Oct 17 05:03:27 MSK 2025</p>
<p>После рестарта тесты бегают дальше, джоба продолжает работать. В аллюр отчёте отображаются результаты всех тестов, с этим проблем нет. Но в test ops результаты тестов перестают приходить после рестарта дженкинса. То есть с 3 до 5 утра пробежали 150 тестов, они отображаются в test ops, после 5 утра проходя еще 350 тестов, их уже нет в тест опсе. Но в обычном аллюр отчёте есть все тесты.</p>
<p>В чём может быть проблема и как это можно исправить?</p>
<p>На первом скрине, где Allure TestOps, не отображаются результаты<br>
На втором скрине отображается информация Launch, это запуск одного теста, для примера</p>
<p><img src="https://automated-testing.info/uploads/default/original/3X/8/5/85d044b1a042d56496785b56a2bc307aad9b312a.png" alt="image" data-base62-sha1="j5LIpV1jOOlPDiT2Dvyak11tO1s" width="499" height="522"></p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://automated-testing.info/uploads/default/original/3X/a/d/add995fc7f25b1ccf09198515bdf9ffb9c1ec5b9.png" data-download-href="https://automated-testing.info/uploads/default/add995fc7f25b1ccf09198515bdf9ffb9c1ec5b9" title="image"><img src="https://automated-testing.info/uploads/default/original/3X/a/d/add995fc7f25b1ccf09198515bdf9ffb9c1ec5b9.png" alt="image" data-base62-sha1="oNWMeBOK9xCcZR6w7Xnf0FvzKQN" width="700" height="85" data-dominant-color="F4F7F5"></a></div><p></p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/prihodyat-ne-vse-rezultaty-testov-test-ops/30623">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/prihodyat-ne-vse-rezultaty-testov-test-ops/30623</link>
          <pubDate>Fri, 17 Oct 2025 08:33:01 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30623</guid>
          <source url="https://automated-testing.info/t/prihodyat-ne-vse-rezultaty-testov-test-ops/30623.rss">Приходят не все результаты тестов тест опс</source>
        </item>
        <item>
          <title>С чего начать обучаться автоматизации тестирования на qml?</title>
          <dc:creator><![CDATA[Nastutk]]></dc:creator>
          <category>обучение</category>
          <description><![CDATA[
            <p>Здравствуйте! Имея год опыта ручного тестировщика, я хочу двигаться дальше в автоматизацию тестирования ui на qml для desktop приложений. Могли бы вы дать советы/ поделиться материалами для обучения и развития? Есть ли какие-то курсы или хорошие youtube каналы на эту тему?</p>
            <p><small>2 сообщения - 2 участника</small></p>
            <p><a href="https://automated-testing.info/t/s-chego-nachat-obuchatsya-avtomatizaczii-testirovaniya-na-qml/30599">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/s-chego-nachat-obuchatsya-avtomatizaczii-testirovaniya-na-qml/30599</link>
          <pubDate>Mon, 22 Sep 2025 18:23:59 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30599</guid>
          <source url="https://automated-testing.info/t/s-chego-nachat-obuchatsya-avtomatizaczii-testirovaniya-na-qml/30599.rss">С чего начать обучаться автоматизации тестирования на qml?</source>
        </item>
        <item>
          <title>Allure report &gt; при исполнении простых тестов не запускающих Web/WebDriver - Execution секция репорта пустая</title>
          <dc:creator><![CDATA[John_Wind]]></dc:creator>
          <category>allure</category>
          <description><![CDATA[
            <p>При исполнении обычных тестов, типа “найти слово” или “посчитать слова”, где НЕ используется веб/веб-драйвер - allure report не содержит ничего в разделе “Execution”</p>
<p>играюсь с простыми задачами на логику + прикручивание к заданиям тестов.</p>
<p>задачи из категории “возьмите некоторую строку и найдите в ней… (что-нибудь)”</p>
<p>при исполнении таких тестов, в Allure Report &gt;&gt; в разделе Execution - ничего не отображается,<br>
а хотелось бы допустим полученный результат конкретного теста, допустим нашли слово в предложенной строке столько то раз (сама логика реализована и переменная с этим числом у меня есть, так же она видна в консоли после System.out.println(переменная), осталось как-то её передать в Allure Report).</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://automated-testing.info/uploads/default/original/3X/9/0/9045f53d426c5420a524af806659cc6643b68fea.png" data-download-href="https://automated-testing.info/uploads/default/9045f53d426c5420a524af806659cc6643b68fea" title="image"><img src="https://automated-testing.info/uploads/default/optimized/3X/9/0/9045f53d426c5420a524af806659cc6643b68fea_2_700x268.png" alt="image" data-base62-sha1="kAiDG8RhqpXMYWuafYA0jUTswJQ" width="700" height="268" srcset="https://automated-testing.info/uploads/default/optimized/3X/9/0/9045f53d426c5420a524af806659cc6643b68fea_2_700x268.png, https://automated-testing.info/uploads/default/optimized/3X/9/0/9045f53d426c5420a524af806659cc6643b68fea_2_1050x402.png 1.5x, https://automated-testing.info/uploads/default/optimized/3X/9/0/9045f53d426c5420a524af806659cc6643b68fea_2_1400x536.png 2x, https://automated-testing.info/uploads/default/original/3X/9/0/9045f53d426c5420a524af806659cc6643b68fea.png 3x" data-dominant-color="F4F4F1"></a></div><p></p>
<p>пример теста:</p>
<pre><code>/**
 * &lt;b&gt;&lt;/&gt;Expected result: Count the number of words in provided string, suppose that each word is separated with space.&lt;/b&gt;
 * &lt;p&gt;
 * Provided string: "Напишите функцию are_anagrams, которая принимает на вход две строки и возвращает True, если они являются анаграммами, и False в противном случае. Анаграммами называются строки, которые содержат одни и те же буквы, но в разном порядке. Напишите также тесты с использованием pytest, чтобы проверить правильность работы функции на разных входных данных. Напишите функцию combine_lists, которая принимает на вход два списка и возвращает новый список, содержащий все элементы из обоих входных списков, сохраняя порядок их следования.Напишите также тесты с использованием pytest, чтобы проверить правильность работы функции на разных входных данных."
 */
@Test
@DisplayName("Task04_Test01_Count number of words &gt;&gt; regular string")
@Description(useJavaDoc = true)
public void Task04_count_words_Test01() throws Exception {

    System.out.println("Provided String is  &gt;&gt; " + string1);
    System.out.println("sum of all words is &gt;&gt; " + CountWords(string1));
}
</code></pre>
            <p><small>3 сообщения - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/allure-report-pri-ispolnenii-prostyh-testov-ne-zapuskayushhih-web-webdriver-execution-sekcziya-reporta-pustaya/30540">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/allure-report-pri-ispolnenii-prostyh-testov-ne-zapuskayushhih-web-webdriver-execution-sekcziya-reporta-pustaya/30540</link>
          <pubDate>Wed, 02 Jul 2025 17:47:34 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30540</guid>
          <source url="https://automated-testing.info/t/allure-report-pri-ispolnenii-prostyh-testov-ne-zapuskayushhih-web-webdriver-execution-sekcziya-reporta-pustaya/30540.rss">Allure report &gt; при исполнении простых тестов не запускающих Web/WebDriver - Execution секция репорта пустая</source>
        </item>
        <item>
          <title>[Опрос] Сравнение Selenide vs Playwright</title>
          <dc:creator><![CDATA[sevnight]]></dc:creator>
          <category>общие вопросы</category>
          <description><![CDATA[
            <p>Всем привет! Прошу поделиться опытом и мнением, на горячую тему, о сравнении фреймворков в 2025 году.</p>
<p>Уже долгое время идёт активный хайп вокруг playwright (ну ещё cypress). Кликбейтные названия типа “Убийца Selenium” и тому подобные.</p>
<p>Playwright позиционируют как более мощный и эффективный фреймворк, вроде “да, он сложнее, но вы от этого только выиграете”. Клиенты-заказчики смотрят на это и верят… Спрашивают у AI, и он им говорит тоже самое. Представляют как BE-разработчики подключатся к делу и намутят крутой ассинхронщины.<br>
Лично меня настораживает весь этот хайп, ведь большинство статей просто слова без доказательств.</p>
<p>Изучив немного эти инструменты, могу сказать, что да, он хороший, достойная альтернатива, но этого мало чтобы переставать поддерживать текущий стек. Текущий же тоже хорош вполне себе! Но мало где об этом говорят. И это не очень хорошо… Создаётся впечатление, что новый стек может вытеснить старый просто за счет сильной рекламы! Клиент просто скажет хочу playwright! А клиент всегда прав…</p>
<p>Немного ранее в конце 2024 команда Selenium высказалась об этом <a href="https://www.selenium.dev/blog/2024/selenium-vs-blog-posts/" class="inline-onebox" rel="noopener nofollow ugc">Selenium Vs … blog posts | Selenium</a></p>
<p>А я сижу и думаю: “- Это про Selenium , а есть же Selenide! Сравните с ним!”</p>
<p>Прошу делиться ссылками и мнением. Есть ли у вас опыт сравнения и что вышло в итоге?</p>
            <p><small>7 сообщений - 4 участника</small></p>
            <p><a href="https://automated-testing.info/t/opros-sravnenie-selenide-vs-playwright/30533">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/opros-sravnenie-selenide-vs-playwright/30533</link>
          <pubDate>Fri, 27 Jun 2025 09:42:21 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30533</guid>
          <source url="https://automated-testing.info/t/opros-sravnenie-selenide-vs-playwright/30533.rss">[Опрос] Сравнение Selenide vs Playwright</source>
        </item>
        <item>
          <title>Work Remote Outreach Automation Lead (E-mail)</title>
          <dc:creator><![CDATA[Mike1]]></dc:creator>
          <category>работа</category>
          <description><![CDATA[
            <p><a href="http://Chainbound.org" rel="noopener nofollow ugc">Chainbound.org</a> — performance marketing &amp; growth agency working with global influencer and creator campaigns. We’re hiring an Outreach Automation Lead to own our cold email pipeline end-to-end: from parsing contact data to running multi-domain campaigns at scale. <strong>Responsibilities:</strong></p>
<ul>
<li>Deploy and manage our internal tools to scrape YouTube contact data by keywords</li>
<li>Run &amp; monitor scraping software on cloud servers (Hetzner, DigitalOcean, etc.)</li>
<li>Clean, deduplicate, and structure data in Excel / Google Sheets — Set up and maintain email warm-up systems (Warmbox, Lemwarm, Instantly, etc.)</li>
<li>Launch and manage cold email campaigns across 50+ inboxes/domains</li>
<li>Monitor inbox health, handle bounce/reply tracking, troubleshoot deliverability</li>
<li>Fully own the cold outreach stack: config, testing, reporting</li>
</ul>
<p><strong>Requirements:</strong></p>
<ul>
<li>Strong experience with cold email campaigns and warm-up tools</li>
<li>Ability to operate and maintain cloud servers (basic sysadmin level)</li>
<li>Deep understanding of SPF, DKIM, DMARC, inbox rotation, reply-based deliverability</li>
<li>Experience managing scraping tools and structuring large contact datasets</li>
<li>High level of ownership, async-friendly work ethic</li>
<li>English: Intermediate+ (for tools, reading docs, occasional async check-ins)</li>
</ul>
<p><strong>Bonus if you have:</strong></p>
<ul>
<li>Built or scaled outreach for an agency or B2B SaaS</li>
<li>Familiar with Smartlead, Instantly, Lemlist, Mailgun, SES, etc.</li>
<li>Comfortable automating parts of the stack (scripts, zaps, webhooks)</li>
</ul>
<p><strong>We offer:</strong></p>
<ul>
<li>$2,000-$3,000/month</li>
<li>Remote, flexible work with minimal bullshit</li>
<li>Tools, infrastructure, and support provided</li>
<li>Long-term, stable role with growth potential</li>
<li>Direct impact on growth — no fluff, only ops <strong>To apply:</strong> Send us a short intro with your experience in cold outreach, tools you’ve used, and how you’d structure a system managing 50+ inboxes. <strong><span class="mention">@Recruiter_hot_vacancy</span></strong>
</li>
</ul>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/work-remote-outreach-automation-lead-e-mail/30513">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/work-remote-outreach-automation-lead-e-mail/30513</link>
          <pubDate>Tue, 03 Jun 2025 14:24:26 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30513</guid>
          <source url="https://automated-testing.info/t/work-remote-outreach-automation-lead-e-mail/30513.rss">Work Remote Outreach Automation Lead (E-mail)</source>
        </item>
        <item>
          <title>Selenide, Selenium Grid | скачивание файла (Configuration.fileDownload = PROXY)</title>
          <dc:creator><![CDATA[Mar_yan_Stasyuk]]></dc:creator>
          <category>инфраструктура</category>
          <description><![CDATA[
            <p>Здавствуйте,<br>
При скачивание локально файла вот такой output:<br>
downloads<br>
downloads\1747163136572_4848_1<br>
downloads\1747163136572_4848_1\layout_tree.json<br>
downloads\22832617-72e8-4474-a076-65c1868d6ff3<br>
downloads\22832617-72e8-4474-a076-65c1868d6ff3\43833<br>
downloads\c26a6c71-cd42-4e02-ba54-19f30d8e6b0a<br>
downloads\c26a6c71-cd42-4e02-ba54-19f30d8e6b0a\export<br>
downloads\d1d8bbab-2f82-41c6-b553-68602d9c57db<br>
downloads\d1d8bbab-2f82-41c6-b553-68602d9c57db\6812<br>
При скачивание файла через gitlab(selenium-grid) не хватает файлов и папок:<br>
downloads<br>
downloads/b562b80c-71dc-4e78-9787-36d32b2b344a<br>
downloads/b562b80c-71dc-4e78-9787-36d32b2b344a/-1<br>
downloads/a84876c1-b792-4326-bfdf-37ae1fee7dcc<br>
downloads/a84876c1-b792-4326-bfdf-37ae1fee7dcc/export</p>
<p>Не понимаю в чем проблема.</p>
<p>Пример кода:</p>
<pre><code class="lang-auto">@BeforeClass(alwaysRun = true, description = "Opening web browser...")
    public void config() {
        if (Constants.REMOTE_URL != null) {
            Configuration.remote = Constants.REMOTE_URL;
        }
        Configuration.fileDownload = PROXY;
        Configuration.downloadsFolder = "downloads";
        Configuration.proxyEnabled = true;

        Configuration.browser = System.getProperty("browser", "chrome");
        Configuration.browserSize = "1920x1080"; //1920x1080 //1280x920
        Configuration.holdBrowserOpen = false;
        Configuration.timeout = 10000;
        Configuration.headless = false;
        Configuration.savePageSource = false;
        Configuration.screenshots = true;
        Configuration.pageLoadStrategy = "normal";

        SelenideLogger.addListener("AllureSelenide", new AllureSelenide()
                .screenshots(true)
                .savePageSource(false)
        );
    }

 @AfterClass(alwaysRun = true)
    public void disableProxy() {
        Configuration.proxyEnabled = false;
        Configuration.fileDownload = null;
        Configuration.downloadsFolder = null;
    }

добавлена зависимость:
       &lt;dependency
            &lt;groupId&gt;com.codeborne&lt;/groupId
            &lt;artifactId&gt;selenide-proxy&lt;/artifactId
            &lt;version&gt;${selenide}&lt;/version
        &lt;/dependency
</code></pre>
<p>версии:<br>
testng: 7.11.0<br>
selenide: 7.7.3</p>
            <p><small>2 сообщения - 2 участника</small></p>
            <p><a href="https://automated-testing.info/t/selenide-selenium-grid-skachivanie-fajla-configuration-filedownload-proxy/30498">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/selenide-selenium-grid-skachivanie-fajla-configuration-filedownload-proxy/30498</link>
          <pubDate>Wed, 14 May 2025 12:18:27 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30498</guid>
          <source url="https://automated-testing.info/t/selenide-selenium-grid-skachivanie-fajla-configuration-filedownload-proxy/30498.rss">Selenide, Selenium Grid | скачивание файла (Configuration.fileDownload = PROXY)</source>
        </item>
        <item>
          <title>Нужны добровольцы на бета-тестирование моей проприетарщины</title>
          <dc:creator><![CDATA[Rodegast]]></dc:creator>
          <category>инструменты</category>
          <description><![CDATA[
            <p>“Meta Test” это стартап по созданию платформы автоматизации QA тестирования через selenium.</p>
<p>“Платформа предназначена для создания и запуска UI-тестов для автоматизированной проверки веб-приложений людьми без навыков программирования. Для описания тестов используется специальный декларативный ”метаязык“ (это не BDD!), что позволяет избавится от сложных для понимания концепций по подобии Page Object Model. Но тем не менее метаязык можно использовать вместе с обычным кодом на языке python что например позволяет более гибко работать с источниками тестовых данных, отправлять API запросы и даже создавать новые команды для метаязыка. ”</p>
<p>Все участники бета тестирования могут бесплатно получить до трёх лицензионных ключей (каждый ключ выдаётся на 1 домен).</p>
<p>Сайт проекта: <a href="https://metatest.kybyc.xyz/" rel="noopener nofollow ugc">https://metatest.kybyc.xyz/</a><br>
Телеграмм канал: <a href="https://t.me/kybyc_meta_test" class="inline-onebox" rel="noopener nofollow ugc">Telegram: View @kybyc_meta_test</a></p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/nuzhny-dobrovolczy-na-beta-testirovanie-moej-proprietarshhiny/30479">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/nuzhny-dobrovolczy-na-beta-testirovanie-moej-proprietarshhiny/30479</link>
          <pubDate>Sun, 27 Apr 2025 20:48:33 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30479</guid>
          <source url="https://automated-testing.info/t/nuzhny-dobrovolczy-na-beta-testirovanie-moej-proprietarshhiny/30479.rss">Нужны добровольцы на бета-тестирование моей проприетарщины</source>
        </item>
        <item>
          <title>Тестирование веб-интерфейсов при использовании инструмента Midscene для автоматизации</title>
          <dc:creator><![CDATA[zhoushaw]]></dc:creator>
          <category>webdriver</category>
          <description><![CDATA[
            <p>Проблема заключается в том, что я хочу использовать инструмент Midscene для тестирования веб-интерфейсов.</p>
<p>Я пытался сделать автоматизированное тестирование с использованием Midscene для контроля браузера.</p>
<p>У меня получилось успешно открывать страницы, делать скриншоты, кликать по элементам и вводить данные.</p>
<p>Какие рекомендации есть по поводу эффективного использования Midscene для автоматизации тестирования? Есть ли интеграция с другими инструментами?</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/testirovanie-veb-interfejsov-pri-ispolzovanii-instrumenta-midscene-dlya-avtomatizaczii/30475">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/testirovanie-veb-interfejsov-pri-ispolzovanii-instrumenta-midscene-dlya-avtomatizaczii/30475</link>
          <pubDate>Thu, 24 Apr 2025 02:27:14 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30475</guid>
          <source url="https://automated-testing.info/t/testirovanie-veb-interfejsov-pri-ispolzovanii-instrumenta-midscene-dlya-avtomatizaczii/30475.rss">Тестирование веб-интерфейсов при использовании инструмента Midscene для автоматизации</source>
        </item>
        <item>
          <title>Какой язык выбрать для реализации api для selenoid</title>
          <dc:creator><![CDATA[pbezpal5]]></dc:creator>
          <category>selenoid</category>
          <description><![CDATA[
            <p>Всем привет! Наверное многие здесь знают такой инструмент, как selenoid. У нас для интеграции с автотестами написана апишка на bash. Но решили переписать апишку на ооп. Но стает вопрос, какой язык выбрать? Java или kotlin.</p>
<p>Аришка будет не высоконагруженная. При запуске автотестов апишка будет отдавать какие-то данные и скачивать мобильные сборки. У кого какие мысли? Может есть практический опыт апишек на java и kotlin. Спасибо за любую инфу</p>
            <p><small>6 сообщений - 3 участника</small></p>
            <p><a href="https://automated-testing.info/t/kakoj-yazyk-vybrat-dlya-realizaczii-api-dlya-selenoid/30470">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/kakoj-yazyk-vybrat-dlya-realizaczii-api-dlya-selenoid/30470</link>
          <pubDate>Sun, 20 Apr 2025 09:09:35 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30470</guid>
          <source url="https://automated-testing.info/t/kakoj-yazyk-vybrat-dlya-realizaczii-api-dlya-selenoid/30470.rss">Какой язык выбрать для реализации api для selenoid</source>
        </item>
        <item>
          <title>Проблема с КриптоПро на Хроме со 135 версии</title>
          <dc:creator><![CDATA[breakmt]]></dc:creator>
          <category>selenide</category>
          <description><![CDATA[
            <p>Здравствуйте. Кто-то сталкивался с проблемой с новым Хромом (135 версия) в котором КриптоПро убрали из магазина и теперь при старте сессии автотестом после установки этого расширения он выключен, то есть его каждый раз надо включать. Кто-то знает, как это можно сделать?</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/problema-s-kriptopro-na-hrome-so-135-versii/30445">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/problema-s-kriptopro-na-hrome-so-135-versii/30445</link>
          <pubDate>Thu, 03 Apr 2025 07:20:21 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30445</guid>
          <source url="https://automated-testing.info/t/problema-s-kriptopro-na-hrome-so-135-versii/30445.rss">Проблема с КриптоПро на Хроме со 135 версии</source>
        </item>
        <item>
          <title>What is IBM Cognos Analytics &amp; How Does It Fit in Test Automation?</title>
          <dc:creator><![CDATA[Maria_Richards]]></dc:creator>
          <category>обучение</category>
          <description><![CDATA[
            <p>Hey everyone,</p>
<p>I’ve been diving into different analytics tools lately and came across <strong><a href="https://www.igmguru.com/blog/what-is-ibm-cognos-analytics" rel="noopener nofollow ugc">IBM Cognos Analytics</a></strong>. From what I understand, it’s mainly used for business intelligence, reporting, and data visualization. But I’m curious—how does it relate to test automation?</p>
<p>Can Cognos be integrated with automated testing frameworks? For example, can it be used to analyze test reports, track software performance metrics, or generate insights from test data? If anyone has experience using it alongside Selenium, JMeter, or other automation tools, I’d love to hear your thoughts.</p>
<p>Also, is Cognos something worth learning for a test automation engineer, or is it more relevant for data analysts? Any recommended resources or real-world use cases would be super helpful!</p>
<p>Looking forward to your insights. Thanks in advance!</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/what-is-ibm-cognos-analytics-how-does-it-fit-in-test-automation/30436">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/what-is-ibm-cognos-analytics-how-does-it-fit-in-test-automation/30436</link>
          <pubDate>Thu, 27 Mar 2025 05:32:30 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30436</guid>
          <source url="https://automated-testing.info/t/what-is-ibm-cognos-analytics-how-does-it-fit-in-test-automation/30436.rss">What is IBM Cognos Analytics &amp; How Does It Fit in Test Automation?</source>
        </item>
        <item>
          <title>Configuration.pageLoadTimeout странно работает на selenide</title>
          <dc:creator><![CDATA[iGembaruk]]></dc:creator>
          <category>selenide</category>
          <description><![CDATA[
            <p>Проблема (Вопрос) заключается … что на JAVA 19 версии, selenide 7.7.3(пробовал несколько) на любом сайте если не увеличить Configuration.pageLoadTimeout постоянно возникает ошибка org.openqa.selenium.TimeoutException: java.util.concurrent.TimeoutException. По умолчанию если не ошибаюсь он 30 секунд, пробовал написать самый простой тест и тоже валится. С чем может быть проблема? Некоторые сайты протокола http падают в ошибку так как вечно находятся в загрузке.<br>
Пример метода который вызываю следующий:</p>
<pre><code>    Selenide.open("http://www.johngoodpasture.com/");
    далее попросту действия на странице недоступны, так как вечно грузится страница и по истечению 200 секунд тест падает
</code></pre>
<p>Если нужно могу создать почти пустой проект с одним методом и показать, что постоянно возникает проблема. Возможно есть проблема с другими зависимостями?</p>
            <p><small>5 сообщений - 2 участника</small></p>
            <p><a href="https://automated-testing.info/t/configuration-pageloadtimeout-stranno-rabotaet-na-selenide/30430">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/configuration-pageloadtimeout-stranno-rabotaet-na-selenide/30430</link>
          <pubDate>Thu, 20 Mar 2025 08:38:27 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30430</guid>
          <source url="https://automated-testing.info/t/configuration-pageloadtimeout-stranno-rabotaet-na-selenide/30430.rss">Configuration.pageLoadTimeout странно работает на selenide</source>
        </item>
        <item>
          <title>ERR_TIMED_OUT при использовании selenide-proxy 7.7.3</title>
          <dc:creator><![CDATA[tikhonovdo]]></dc:creator>
          <category>selenide</category>
          <description><![CDATA[
            <p>Ситуация: проект, который использует selenide-selenoid и selenide-proxy версии 7.4.0 сломался прокси, выдавая ERR_TIMED_OUT в Chromium при попытке открытия любого адреса.</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://automated-testing.info/uploads/default/original/3X/9/e/9ef2ae2eff4e9cc8dad048ae9222914f277837be.png" data-download-href="https://automated-testing.info/uploads/default/9ef2ae2eff4e9cc8dad048ae9222914f277837be" title="proxy-test-01"><img src="https://automated-testing.info/uploads/default/optimized/3X/9/e/9ef2ae2eff4e9cc8dad048ae9222914f277837be_2_700x322.png" alt="proxy-test-01" data-base62-sha1="mG7nBprPH06dvMlIqSiFJsrMIDI" width="700" height="322" srcset="https://automated-testing.info/uploads/default/optimized/3X/9/e/9ef2ae2eff4e9cc8dad048ae9222914f277837be_2_700x322.png, https://automated-testing.info/uploads/default/optimized/3X/9/e/9ef2ae2eff4e9cc8dad048ae9222914f277837be_2_1050x483.png 1.5x, https://automated-testing.info/uploads/default/optimized/3X/9/e/9ef2ae2eff4e9cc8dad048ae9222914f277837be_2_1400x644.png 2x, https://automated-testing.info/uploads/default/optimized/3X/9/e/9ef2ae2eff4e9cc8dad048ae9222914f277837be_2_2100x966.png 3x" data-dominant-color="FCFCFD"></a></div><p></p>
<p>Я нашел <a href="https://github.com/valfirst/browserup-proxy/issues/457" rel="noopener nofollow ugc">эту тему</a>, обновился до 7.7.3 и надеялся, что это решит ситуацию, однако изменений не произошло.</p>
<p>На всякий случай проверил с разными версиями Chrome: 117, 124 и 133 версий – никакой динамики.</p>
<p>Также набрел на <a href="https://selenide.org/2020/11/17/why-proxy-does-not-work-in-selenoid/" rel="noopener nofollow ugc">эту заметку</a> и привел версии всех зависимостей к одной единственной – эффекта не оказало.</p>
<p>Вот <a href="https://github.com/tikhonovdo/selenide-demos" rel="noopener nofollow ugc">демо проект</a>, в котором можно воспроизвести проблему (<a href="https://github.com/tikhonovdo/selenide-demos/blob/master/src/main/kotlin/ru/tikhonovdo/selenidedemo/ProxyUseCase.kt" rel="noopener nofollow ugc">runProxyUseCase</a>, если вдруг демо разрастется).</p>
<p>Если явно задать <code>Configuration.proxyEnabled = false</code> – всё прекрасно работает!</p>
<p>Версии ОС и софта следующие:</p>
<ul>
<li>win 11 x64, java 21, kotlin 1.9.25</li>
<li>Selenide 7.7.3</li>
<li>Selenium 4.29.0</li>
<li>chrome 134.0.6944.2 windows</li>
</ul>
<p>P.S. кажется я плохо искал и почти сразу после создания темы увидел <a href="https://automated-testing.info/t/stranicza-sajta-nedostupna-pri-ispolzovanii-selenid-proxy/30290/3">такой тред</a>, в котором разбирается кажется похожая проблема.</p>
            <p><small>9 сообщений - 2 участника</small></p>
            <p><a href="https://automated-testing.info/t/err-timed-out-pri-ispolzovanii-selenide-proxy-7-7-3/30427">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/err-timed-out-pri-ispolzovanii-selenide-proxy-7-7-3/30427</link>
          <pubDate>Tue, 18 Mar 2025 15:56:00 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30427</guid>
          <source url="https://automated-testing.info/t/err-timed-out-pri-ispolzovanii-selenide-proxy-7-7-3/30427.rss">ERR_TIMED_OUT при использовании selenide-proxy 7.7.3</source>
        </item>
        <item>
          <title>Странное поведение на ожиданиях Selenide</title>
          <dc:creator><![CDATA[Ustim_QA]]></dc:creator>
          <category>selenide</category>
          <description><![CDATA[
            <p>Тест не проходит если использую Selenide.sleep и Duration.ofSeconds()</p>
<p>Я сначала да же не понял в чем проблема. Думал что то с локаторами. У меня стол сначала Selenide.sleep(5000). Потом вызывался метод click по кнопке. И я на тесте всегда получал<br>
на кнопке Expected: clickable: interactable and enabled<br>
и не мог понять в чем проблема. Спрашивал ЧатGPT, весь DOM просмотрел на наличие скрытых и теневых элементов. Потом убрал Sleep и все, тест прошел без проблем.<br>
Использую версию Selenide 7.7.0.<br>
А на  Duration.ofSeconds() у меня вообще тест зависает в бесконечность. ПРосто висит и не прибивается никогда. Может 10 минут висеть. Кто с подобным сталкивался ?</p>
<p>Я убрал все слипы и ожидания и тесты ходят.</p>
<p>У меня не получилось понять проблема в моих тестах, или версии Selenide.</p>
<p>Код</p>
<pre><code class="lang-java">    @Step("Click on the 'Pay and subscribe' button.")
    public AccountPage clickPayAndSubscribeButton() {
        Selenide.sleep(50000);
        payAndSubscribeButton.click();
        return page(AccountPage.class);
    }
и
    @Step("Assert: that the subscription type title field has {assertText}.")
    public AccountPage assertionSubscriptionTypeTitle(String assertText) {
        subscriptionTypeTitle.shouldHave(Condition.text(assertText), Duration.ofSeconds(1000));
        return this;
    }
</code></pre>
<p>Selenide 7.7.0<br>
Java 17<br>
Junit 5</p>
            <p><small>5 сообщений - 3 участника</small></p>
            <p><a href="https://automated-testing.info/t/strannoe-povedenie-na-ozhidaniyah-selenide/30422">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/strannoe-povedenie-na-ozhidaniyah-selenide/30422</link>
          <pubDate>Fri, 14 Mar 2025 19:59:29 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30422</guid>
          <source url="https://automated-testing.info/t/strannoe-povedenie-na-ozhidaniyah-selenide/30422.rss">Странное поведение на ожиданиях Selenide</source>
        </item>
        <item>
          <title>Многомодульный проект Cucumber (Java, Junit5).</title>
          <dc:creator><![CDATA[Dmitriy1]]></dc:creator>
          <category>java</category>
          <description><![CDATA[
            <p>Здравствуйте!<br>
Вопрос состоит в следующем:<br>
Возможно ли использовать имплементированные шаги из другого модуля?<br>
На данный момент у меня есть модуль core с реализованными шагами (лежат в core.steps) и модуль project1 (условно).<br>
В ранере project1 в glue я указываю:<br>
<span class="mention">@ConfigurationParameter</span>(key = GLUE_PROPERTY_NAME, value = “core.steps”)<br>
Но feature не видит шаги.<br>
Кто-нибудь работает/работал по подобной схеме?</p>
            <p><small>2 сообщения - 2 участника</small></p>
            <p><a href="https://automated-testing.info/t/mnogomodulnyj-proekt-cucumber-java-junit5/30393">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/mnogomodulnyj-proekt-cucumber-java-junit5/30393</link>
          <pubDate>Tue, 25 Feb 2025 07:28:49 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30393</guid>
          <source url="https://automated-testing.info/t/mnogomodulnyj-proekt-cucumber-java-junit5/30393.rss">Многомодульный проект Cucumber (Java, Junit5).</source>
        </item>
        <item>
          <title>Evinced Appium Java SDK кто-то использовал для тестирования accessibility?</title>
          <dc:creator><![CDATA[pbezpal5]]></dc:creator>
          <category>appium</category>
          <description><![CDATA[
            <p>Всем привет! Нашел такое решение <a href="https://developer.evinced.com/sdks-for-mobile-apps/appium-sdk-java-doc" rel="noopener nofollow ugc">Evinced Appium Java SDK</a> для автоматизации тестирования accessibility мобильного приложения. Кто-то использовал это решение в автотестах?</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/evinced-appium-java-sdk-kto-to-ispolzoval-dlya-testirovaniya-accessibility/30388">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/evinced-appium-java-sdk-kto-to-ispolzoval-dlya-testirovaniya-accessibility/30388</link>
          <pubDate>Sat, 22 Feb 2025 10:22:50 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30388</guid>
          <source url="https://automated-testing.info/t/evinced-appium-java-sdk-kto-to-ispolzoval-dlya-testirovaniya-accessibility/30388.rss">Evinced Appium Java SDK кто-то использовал для тестирования accessibility?</source>
        </item>
        <item>
          <title>Подключение нескольких девайсов iOS к Mac для автотестов</title>
          <dc:creator><![CDATA[pbezpal5]]></dc:creator>
          <category>общие вопросы</category>
          <description><![CDATA[
            <p>Всем привет! Есть:</p>
<ul>
<li>один MacMini</li>
<li>5 iPhone</li>
</ul>
<p>Настраиваю стенд для автотестов на iOS и столкнулся с проблемой, что при подключении нескольких iPhone стабильно работает только один iPhone, т.е. только на одном iPhone запускается приложение и автотесты.</p>
<p>На остальных стабильно слетает WebDriverAgent после запуска тестов.</p>
<p>Кто-то сталкивался с такой проблемой? Может есть решение, чтобы на одном маке запускать автотесты на несколько iphone? Или на одном маке можно запуска автотесты только на одном iphone?</p>
<p>Спасибо за любую информацию)</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/podklyuchenie-neskolkih-devajsov-ios-k-mac-dlya-avtotestov/30360">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/podklyuchenie-neskolkih-devajsov-ios-k-mac-dlya-avtotestov/30360</link>
          <pubDate>Tue, 04 Feb 2025 15:31:49 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30360</guid>
          <source url="https://automated-testing.info/t/podklyuchenie-neskolkih-devajsov-ios-k-mac-dlya-avtotestov/30360.rss">Подключение нескольких девайсов iOS к Mac для автотестов</source>
        </item>
        <item>
          <title>Как грамотно реализовать общие компоненты у страниц</title>
          <dc:creator><![CDATA[vladsolovev653]]></dc:creator>
          <category>общие вопросы</category>
          <description><![CDATA[
            <p>Всем привет! Важная ремарка - это моя первая тема, а также я только начинаю погружаться в автоматизацию, с нуля внедряю в проект, где ее никогда не было, так что опыта у меня мало.</p>
<p>Столкнулся с проблемой циклических импортов в своей архитектуре. Пример кода будет с сайта <a href="https://www.saucedemo.com/" rel="noopener nofollow ugc">https://www.saucedemo.com/</a>, чтобы многие были в контексте.</p>
<p>Вводные:</p>
<ol>
<li>В случае с упомянутым сайтом у нас есть несколько страниц: <code>LoginPage</code>, <code>InventoryPage</code>, <code>CartPage</code> и тд.</li>
<li>Также есть компоненты, которые хочется сделать в виде отдельных классов: <code>BurgerMenu</code>, <code>Header</code>
</li>
</ol>
<p>Варианты реализации, которые вижу я:</p>
<ol>
<li>Вариант, который чаще всего вижу в интернетах: С помощью композиции объявить <code>Header</code> в <code>InventoryPage</code>, <code>CartPage</code> и тд</li>
<li>Написать публичные методы, которые будут обращаться к этим компонентам</li>
</ol>
<p>Пример такой страницы:</p>
<pre><code class="lang-auto">// inventory-page.ts
import { MainHeader } from "../../common/components/main-header";
import { BasePage } from "../../common/pages/base-page";
import { CartPage } from "../../cart/pages/cart-page";


export class InventoryPage extends BasePage {
  protected readonly url = '/inventory.html';

  private readonly header = new MainHeader(this.page);

  public async openCartPage(): Promise&lt;CartPage&gt; {
    await this.header.clickOnCart();
    
    return new CartPage(this.page);
  }
}
</code></pre>
<p>Пример части кода теста</p>
<pre><code class="lang-auto">const cartPage = await inventoryPage.openCartPage(); 
</code></pre>
<p>Вроде бы неплохо, но что лично сразу смущает меня - написание отдельного метода на уровне страницы, у общего для нескольких страниц компонента. Сразу пришло в голову сделать header публичным и не писать лишний метод:</p>
<pre><code class="lang-auto">// inventory-page.ts
import { MainHeader } from "../../common/components/main-header";
import { BasePage } from "../../common/pages/base-page";


export class InventoryPage extends BasePage {
  protected readonly url = '/inventory.html';

  public readonly header = new MainHeader(this.page);
}
</code></pre>
<p>Пример части кода теста</p>
<pre><code class="lang-auto">const cartPage = await inventoryPage.header.clickOnCart(); 
</code></pre>
<p>Лично такой вариант мне нравится больше, т.к. теперь я могу использовать <code>clickOnCart</code> у любой страницы, у которой есть <code>header </code>.</p>
<p>Дальше я решил указать <code>Header </code> в <code>BasePage</code></p>
<pre><code class="lang-auto">// base-page.ts
import test from "@playwright/test";
import { BasePageObject } from "../base-page-object";
import { MainHeader } from "../components/main-header";

export abstract class BasePage extends BasePageObject {
  protected abstract url: string;

  public readonly header = new MainHeader(this.page);

  public async open(): Promise&lt;void&gt; {
    await test.step(`Go to url "${this.baseUrl}${this.url}"`, async () =&gt; {
      await this.page.goto(this.url);      
    });
  }

  private get baseUrl(): string {
    return test.info().project.use.baseURL as string;
  }
}
</code></pre>
<p>Теперь метод <code>clickOnCart</code> будет у всех страниц, которые наследуются от <code>BasePage</code>.</p>
<p>НО! Теперь я сталкиваюсь с циклическими импортами, т.к.</p>
<ul>
<li>
<code>BasePage</code> зависит от <code>MainHeader</code>
</li>
<li>
<code>MainHeader</code> зависит от <code>CartPage</code>, потому что <code>clickOnCart</code> возращает его экземпляр</li>
<li>
<code>CartPage</code> зависит от <code>BasePage</code>
</li>
<li>
<code>BasePage</code> зависит от <code>MainHeader</code>
</li>
</ul>
<p>Вот и вопрос: как вы продумываете работу с компонентами? В случае с простым приложением понятно - прокинул везде вручную и забыл, но если таких общих компонентов много, то как быть?</p>
            <p><small>2 сообщения - 2 участника</small></p>
            <p><a href="https://automated-testing.info/t/kak-gramotno-realizovat-obshhie-komponenty-u-stranicz/30338">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/kak-gramotno-realizovat-obshhie-komponenty-u-stranicz/30338</link>
          <pubDate>Wed, 22 Jan 2025 21:52:16 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30338</guid>
          <source url="https://automated-testing.info/t/kak-gramotno-realizovat-obshhie-komponenty-u-stranicz/30338.rss">Как грамотно реализовать общие компоненты у страниц</source>
        </item>
        <item>
          <title>Browserstack App Automation - большая часть тестов падает как будто рандомно с 10 января</title>
          <dc:creator><![CDATA[mitsukuri]]></dc:creator>
          <category>appium</category>
          <description><![CDATA[
            <p>Приветствую, друзья!</p>
<p>Если кто-то из вас использует Browserstack, не столкнулись ли вы с полным разбродом и шатанием тестов приблизительно после 10 января? У нас большая, если не бОльшая часть тестов падает при загадочных обстоятельствах: <code>Failed to create session. WebDriverError: This operation was aborted when running "http://hub.browserstack.com:4444/wd/hub/session" with method "POST" and args "{...}"</code>.</p>
<p>На видеозаписях видно, что аппа стартует, и дальше сидит ровно на попе и ничего не делает, и Appium никакой активности не проявляет. Затем заканчивается таймаут ожидания сессии и всё. Пытался нагуглить эту ошибку, <strong>буквально</strong> 1 результат на весь интернет, и то ни о чём…</p>
<p>Причём можно следом снова запустить тест сьют и всё проходит на ура. И ещё два раза. А потом опять падает совершенно непредсказуемо. В коде тестов не менялось вообще ничего, и на бэке никаких breaking changes не было. ТП Browserstack на своей стороне тоже не видит или не хочет видеть проблем. Полтергейст…</p>
            <p><small>2 сообщения - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/browserstack-app-automation-bolshaya-chast-testov-padaet-kak-budto-randomno-s-10-yanvarya/30326">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/browserstack-app-automation-bolshaya-chast-testov-padaet-kak-budto-randomno-s-10-yanvarya/30326</link>
          <pubDate>Fri, 17 Jan 2025 19:12:36 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30326</guid>
          <source url="https://automated-testing.info/t/browserstack-app-automation-bolshaya-chast-testov-padaet-kak-budto-randomno-s-10-yanvarya/30326.rss">Browserstack App Automation - большая часть тестов падает как будто рандомно с 10 января</source>
        </item>
        <item>
          <title>Страница сайта недоступна при использовании Selenid Proxy</title>
          <dc:creator><![CDATA[YaroslavSh]]></dc:creator>
          <category>selenide</category>
          <description><![CDATA[
            <p>При включении встроенного Selenid Proxy возникает проблема с доступом к страницам сайта. Проблема возникает абсолютно с любой страницей любого сайта при включении встроенного прокси. Если выключить прокси, то всё работает. Мой основной кейс, требует установки хедера X_REMOTE_USER в запросе.</p>
<p>Для упрощения воспроизведения проблемы создал простой тест, который должен вывести информацию о запросе:</p>
<pre><code class="lang-auto">import com.codeborne.selenide.Browsers;
import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.WebDriverRunner;
import com.google.common.collect.ImmutableMap;
import io.qameta.allure.Story;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.remote.DesiredCapabilities;

import static com.codeborne.selenide.Selenide.open;

public class CheckTest {

	@Story("Проверка")
	@Test
	public void checkTest() throws InterruptedException {

		String selenoidURL = "http://localhost:4444/wd/hub";

		Configuration.proxyEnabled = true;
		Configuration.remote = selenoidURL;
		Configuration.browser = Browsers.CHROME;
		Configuration.browserVersion = "128.0_en";
		Configuration.screenshots = false;
		Configuration.browserCapabilities = getCapabilities();

		String standURL = "http://httpbin.org/get";

		open();

		WebDriverRunner.getSelenideProxy().getProxy().addHeader("X_REMOTE_USER", "Marmeladova");

		System.out.println(WebDriverRunner.getSelenideProxy().getProxy().getAllHeaders() + " HEADERS!!!!");

		open(standURL);
		Thread.sleep(1000000); // для просмотра в Selenoid UI
		System.out.println(WebDriverRunner.getWebDriver() + " DRIVER!!!!"); //Убедиться что WebDriver не Null
	}

	private DesiredCapabilities getCapabilities() {
		DesiredCapabilities capabilities = new DesiredCapabilities();
		capabilities.setBrowserName("chrome");
		capabilities.setCapability("selenoid:options", ImmutableMap.of(
				"enableVNC", true,
				"enableVideo", true,
				"enableLog", true
		));
		return capabilities;
	}
}
</code></pre>
<p>Для поднятия Selenoid и Selenoid UI использую docker-compose:</p>
<pre><code class="lang-auto">version: '3.6'
networks:
  selenoid:
    name: selenoid
    driver: bridge
services:
  selenoid:
    container_name: selenoid
    image: "aerokube/selenoid:latest-release"
    ports:
      - "4444:4444"
    volumes:
      - ./config/:/etc/selenoid/:ro
      - /opt/video:/opt/selenoid/video
      - /opt/logs:/opt/selenoid/logs
      - /var/run/docker.sock:/var/run/docker.sock
    command: [ "-conf", "/etc/selenoid/browsers.json", "-container-network", "selenoid", "-limit", "10", "-retry-count", "2" ]
    networks:
      - selenoid
  selenoid-ui:
    container_name: selenoid-ui
    image: "aerokube/selenoid-ui:latest-release"
    ports:
      - "8080:8080"
    command: [ "--selenoid-uri", "http://selenoid:4444" ]
    networks:
      - selenoid
</code></pre>
<p>Настройка browsers.json:<br>
{<br>
“chrome”: {<br>
“default”: “128.0_en”,<br>
“versions”: {<br>
“128.0_ru”: {<br>
“port”: “4444”,<br>
“image”: “selenoid/vnc_chrome:128.0”,<br>
“env” : [“LANG=ru_RU.UTF-8”, “LANGUAGE=ru_RU.UTF-8”, “LC_ALL=ru_RU.UTF-8”]<br>
},<br>
“128.0_en”: {<br>
“port”: “4444”,<br>
“image”: “selenoid/vnc_chrome:128.0”,<br>
“env” : [“LANG=en_US.UTF-8”, “LANGUAGE=en_US.UTF-8”, “LC_ALL=en_US.UTF-8”]<br>
}<br>
}<br>
}<br>
}</p>
<p>При выполнении теста захожу в Selenoid UI и вижу, сообщение о недоступности страницы, причем какой URL не указывал, всегда один результат:</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://automated-testing.info/uploads/default/original/3X/3/5/351e74153960fdbfc6b19b4b907503b857c37ff7.png" data-download-href="https://automated-testing.info/uploads/default/351e74153960fdbfc6b19b4b907503b857c37ff7" title="image"><img src="https://automated-testing.info/uploads/default/optimized/3X/3/5/351e74153960fdbfc6b19b4b907503b857c37ff7_2_699x411.png" alt="image" data-base62-sha1="7zUyes6soA4Zzva5zJRnJ9XIP9d" width="699" height="411" srcset="https://automated-testing.info/uploads/default/optimized/3X/3/5/351e74153960fdbfc6b19b4b907503b857c37ff7_2_699x411.png, https://automated-testing.info/uploads/default/optimized/3X/3/5/351e74153960fdbfc6b19b4b907503b857c37ff7_2_1048x616.png 1.5x, https://automated-testing.info/uploads/default/original/3X/3/5/351e74153960fdbfc6b19b4b907503b857c37ff7.png 2x, https://automated-testing.info/uploads/default/original/3X/3/5/351e74153960fdbfc6b19b4b907503b857c37ff7.png 3x" data-dominant-color="EEF1F3"></a></div><p></p>
<p>Результат без использования прокси:</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://automated-testing.info/uploads/default/original/3X/4/2/42faefbeb1b8125ead2a16a5b1aae256778fad96.png" data-download-href="https://automated-testing.info/uploads/default/42faefbeb1b8125ead2a16a5b1aae256778fad96" title="image"><img src="https://automated-testing.info/uploads/default/optimized/3X/4/2/42faefbeb1b8125ead2a16a5b1aae256778fad96_2_700x384.png" alt="image" data-base62-sha1="9yx8NXsGbMwTWWQ1411HDBcIFwO" width="700" height="384" srcset="https://automated-testing.info/uploads/default/optimized/3X/4/2/42faefbeb1b8125ead2a16a5b1aae256778fad96_2_700x384.png, https://automated-testing.info/uploads/default/optimized/3X/4/2/42faefbeb1b8125ead2a16a5b1aae256778fad96_2_1050x576.png 1.5x, https://automated-testing.info/uploads/default/original/3X/4/2/42faefbeb1b8125ead2a16a5b1aae256778fad96.png 2x, https://automated-testing.info/uploads/default/original/3X/4/2/42faefbeb1b8125ead2a16a5b1aae256778fad96.png 3x" data-dominant-color="F1F3F4"></a></div><p></p>
<p>Тесты запускаются на машине с Windows 10, в проекте используется Java 19</p>
            <p><small>8 сообщений - 3 участника</small></p>
            <p><a href="https://automated-testing.info/t/stranicza-sajta-nedostupna-pri-ispolzovanii-selenid-proxy/30290">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/stranicza-sajta-nedostupna-pri-ispolzovanii-selenid-proxy/30290</link>
          <pubDate>Wed, 18 Dec 2024 18:54:15 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30290</guid>
          <source url="https://automated-testing.info/t/stranicza-sajta-nedostupna-pri-ispolzovanii-selenid-proxy/30290.rss">Страница сайта недоступна при использовании Selenid Proxy</source>
        </item>
        <item>
          <title>Appium Xcode WDA как настроить девайсы с несколькими AppleID</title>
          <dc:creator><![CDATA[pbezpal5]]></dc:creator>
          <category>appium</category>
          <description><![CDATA[
            <p>Всем привет! Начал настраивать стенд для автотматизации тестирования на iOS<br>
Стек<br>
XCode<br>
WebDriverAgent<br>
Selenoid<br>
Appium<br>
К Mac подключено 5 девайсов, но столкнулся с ограничением, что на однуобычную учетку ApppleID  можно настроить до 4 девайсов.<br>
Сделал вторую учетку ApppleID, но столкнулся с новой проблемой, что с двумя учетками не очень хорошо работают автотесты. Постоянно слетает WDA на девайсе. Подскажите, кто-то сталкивался с подобной проблемой и как-то решали данную проблему?</p>
            <p><small>4 сообщения - 3 участника</small></p>
            <p><a href="https://automated-testing.info/t/appium-xcode-wda-kak-nastroit-devajsy-s-neskolkimi-appleid/30269">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/appium-xcode-wda-kak-nastroit-devajsy-s-neskolkimi-appleid/30269</link>
          <pubDate>Mon, 09 Dec 2024 05:59:01 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30269</guid>
          <source url="https://automated-testing.info/t/appium-xcode-wda-kak-nastroit-devajsy-s-neskolkimi-appleid/30269.rss">Appium Xcode WDA как настроить девайсы с несколькими AppleID</source>
        </item>
        <item>
          <title>Как вы решаете проблемы автоматизированного тестирования?</title>
          <dc:creator><![CDATA[suzen]]></dc:creator>
          <category>база знаний</category>
          <description><![CDATA[
            <p>Привет всем,</p>
<p>Я все глубже погружаюсь в автоматизированное тестирование, и хотя это очень увлекательно, я нахожу некоторые препятствия на своем пути; мне любопытно, как вы справляетесь с трудностями, когда что-то идет не по плану. Когда тесты периодически дают сбои или когда новые функции неожиданно что-то ломают, как вы подходите к устранению неполадок и выяснению первопричины?</p>
<p>А также какие стратегии вы используете, чтобы все было организовано по мере роста количества тестов и фреймворков?</p>
<p>Кроме того, я нашел эти ресурсы, когда проводил исследование по этому вопросу; <a href="https://automated-testing.info/t/we-built-a-tool-that-automatically-generates-api-tests/29391">https://automated-testing.info/t/we-built-a-tool-that-automatically-generates-api-tests</a><a href="https://www.igmguru.com/blog/what-is-splunk" rel="noopener nofollow ugc">splunk</a>  и если у кого-то есть какие-либо ресурсы, руководства или личный опыт, пожалуйста, поделитесь со мной, я буду очень признателен!!</p>
<p>Спасибо……. <img src="https://automated-testing.info/images/emoji/apple/slight_smile.png?v=12" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
            <p><small>5 сообщений - 5 участников</small></p>
            <p><a href="https://automated-testing.info/t/kak-vy-reshaete-problemy-avtomatizirovannogo-testirovaniya/30235">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/kak-vy-reshaete-problemy-avtomatizirovannogo-testirovaniya/30235</link>
          <pubDate>Wed, 20 Nov 2024 05:14:50 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30235</guid>
          <source url="https://automated-testing.info/t/kak-vy-reshaete-problemy-avtomatizirovannogo-testirovaniya/30235.rss">Как вы решаете проблемы автоматизированного тестирования?</source>
        </item>
        <item>
          <title>Jenkins ошибка при запуске приложения перед тестами &quot;no web browser found&quot;</title>
          <dc:creator><![CDATA[cat_cell]]></dc:creator>
          <category>jenkins</category>
          <description><![CDATA[
            <p>Доброго времени суток.<br>
Имеется задача - скачать и запустить jar веб-приложение через jenkins , к которому потом нужно подключиться через selenoid и прогнать тесты.</p>
<p>При запуске приложения джобой используется команда java -jar app.jar , но при запуске ловлю ошибку “java.lang.Exception: No web browser found”<br>
Понятно что в дженкинсе не существует браузера и гоняется всё через контейнеры селеноида, но может быть есть какой-то обходной путь на этапе запуска приложения перед тестами?</p>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/jenkins-oshibka-pri-zapuske-prilozheniya-pered-testami-no-web-browser-found/30226">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/jenkins-oshibka-pri-zapuske-prilozheniya-pered-testami-no-web-browser-found/30226</link>
          <pubDate>Fri, 15 Nov 2024 14:20:13 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30226</guid>
          <source url="https://automated-testing.info/t/jenkins-oshibka-pri-zapuske-prilozheniya-pered-testami-no-web-browser-found/30226.rss">Jenkins ошибка при запуске приложения перед тестами &quot;no web browser found&quot;</source>
        </item>
        <item>
          <title>Improving the stability of Python + Selenium autotests</title>
          <dc:creator><![CDATA[Dmitrij_Satler]]></dc:creator>
          <category>testcomplete</category>
          <description><![CDATA[
            <p>Всем добрый день.<br>
Прошу совет профессионалов.<br>
Я только начал изучать автоматизацию.<br>
Python + Selenium</p>
<p>Написал тесты, но они нестабильны.  Некоторые тесты то запускаются, то не запускаются. Страница не прогружается.  Те тесты которые упали при первом запуске, запустились во втором и т.д.</p>
<p>Подскажите пожалуйста на что обратить внимание, для того, чтобы наладить стабильность.<br>
Заранее благодарен!</p>
<p>tests</p>
<pre><code class="lang-auto">@pytest.mark.parametrize('login, password', [
        ('admin', 'Admin123'),
        ('admin', 'admin'),
        ('Admin', 'Admin'),
        ('admin', 'Admin1234'),
        ('Admin1', 'admin123'),
        ('admin', 'Admin1234')
    ])
    def test_login_invalid(self, driver, login, password):
        """
        1. Открытие страницы
        2. Ввод логина и пароля в нижнем регистре
        3. Проверка, что в ответе сервера обнаруживается ошибка
        :param driver: Webdriver для управления браузером
        :param url: Открытие страницы авторизации
        :return:  None
        """
        url = 'https://opensource-demo.orangehrmlive.com/web/index.php/auth/login'
        login_page = LoginPage(driver, url)
        login_page.open()
        login_page.enter_username(login)
        login_page.enter_password(password)
        login_page.click_login_button()

        message = login_page.check_error_message_visible()
        assert message.text == 'Invalid credentials'
</code></pre>
<p>login_page</p>
<pre><code class="lang-auto">
NAME_FIELD_SELECTOR = (By.CSS_SELECTOR, '.oxd-input[name="username"]')
PASSWORD_FIELD_SELECTOR = (By.CSS_SELECTOR, '.oxd-input[name="password"]')
LOGIN_BUTTON_SELECTOR = (By.CSS_SELECTOR, 'button[type="submit"]')
ERROR_MESSAGE_SELECTOR = (By.CSS_SELECTOR, 'p[class$="alert-content-text"]')

    def enter_username(self, username):
        """
        Ввод имени пользователя в поле Username
        :param username: Имя пользователя
        """
        self.is_element_visible(self.NAME_FIELD_SELECTOR, 30).send_keys(username)

    def enter_password(self, password):
        """
        Ввод пароля в поле Password
        :param password: Пароль аутентификации
        """
        self.is_element_visible(self.PASSWORD_FIELD_SELECTOR, 30).send_keys(password)

    def click_login_button(self):
        """
        Клик по кнопке входа в систему
        """
        self.is_element_visible(self.LOGIN_BUTTON_SELECTOR, 30).click()

    def check_error_message_visible(self):
        """
        Поиск ErrorMessage и его видимости
        :return: WebElement
        """
        return self.is_element_visible(self.ERROR_MESSAGE_SELECTOR, 30)

</code></pre>
<p>base_page</p>
<pre><code class="lang-auto">
class BasePage:
    """
    Класс для выполнения тестовых операций.
    Конструктор принимает драйвер и URL-адрес для управления
    браузером и навигации по страницам.
    """

    def __init__(self, chrome_driver, url):
        self.chrome_driver = chrome_driver
        self.url = url


    def open(self):
        """
        Opening the specified URL in the browser
        """
        self.chrome_driver.get(self.url)

    def is_element_visible(self, locator, timeout=10):
        """
        Проверка видимости элемента на странице
        :param locator: локатор, используемый для поиска элемента.
        :param timeout: Максимальное время ожидания отображения элемента.
        :return Веб-элемент, как только он будет найден и виден.
        """
        return Wait(self.chrome_driver, timeout).until((EC.visibility_of_element_located(locator)))

</code></pre>
            <p><small>1 сообщение - 1 участник</small></p>
            <p><a href="https://automated-testing.info/t/improving-the-stability-of-python-selenium-autotests/30216">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/improving-the-stability-of-python-selenium-autotests/30216</link>
          <pubDate>Mon, 11 Nov 2024 09:58:40 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30216</guid>
          <source url="https://automated-testing.info/t/improving-the-stability-of-python-selenium-autotests/30216.rss">Improving the stability of Python + Selenium autotests</source>
        </item>
        <item>
          <title>Значение в input не передается в форму запроса</title>
          <dc:creator><![CDATA[ViaLaBrioche]]></dc:creator>
          <category>selenide</category>
          <description><![CDATA[
            <p>Всем привет!<br>
Реализовано добавление значения в поле input для дальнейшей отправки в форму запроса на сервер:</p>
<p>await driver.findElement(<a href="https://by.id/" rel="noopener nofollow ugc">By.id</a>(“j_id_5e_1g_2_5”)).sendKeys(234.00);</p>
<p>В поле успешно добавляются данные, проверено с помощью getAttribute(‘value’) в консоль и визуально всё отображается<br>
Но при отправке данных через submit() появляется предупреждение, что поле обязательно для заполнения<br>
</p><div class="lightbox-wrapper"><a class="lightbox" href="https://automated-testing.info/uploads/default/original/3X/0/5/0586c8a280dce98a65b42e9bec9c424bdec8efd2.jpeg" data-download-href="https://automated-testing.info/uploads/default/0586c8a280dce98a65b42e9bec9c424bdec8efd2" title="Снимок 02.11.2024 в 11.25"><img src="https://automated-testing.info/uploads/default/optimized/3X/0/5/0586c8a280dce98a65b42e9bec9c424bdec8efd2_2_700x216.jpeg" alt="Снимок 02.11.2024 в 11.25" data-base62-sha1="MT9VESu0plBEizLzr6KYLhqvoC" width="700" height="216" srcset="https://automated-testing.info/uploads/default/optimized/3X/0/5/0586c8a280dce98a65b42e9bec9c424bdec8efd2_2_700x216.jpeg, https://automated-testing.info/uploads/default/original/3X/0/5/0586c8a280dce98a65b42e9bec9c424bdec8efd2.jpeg 1.5x, https://automated-testing.info/uploads/default/original/3X/0/5/0586c8a280dce98a65b42e9bec9c424bdec8efd2.jpeg 2x, https://automated-testing.info/uploads/default/original/3X/0/5/0586c8a280dce98a65b42e9bec9c424bdec8efd2.jpeg 3x" data-dominant-color="F9F8F8"></a></div><p></p>
<p>Остальные поля успешно обрабатываются.<br>
Предполагаю, что такое поведение может быть связано со скриптом, навешенным обработчиком событий на поле input</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://automated-testing.info/uploads/default/original/3X/e/8/e86379277d75cd88bb7bc2b96af1c900b4e3e0c9.png" data-download-href="https://automated-testing.info/uploads/default/e86379277d75cd88bb7bc2b96af1c900b4e3e0c9" title="Снимок экрана 2024-11-02 в 11.26.24"><img src="https://automated-testing.info/uploads/default/optimized/3X/e/8/e86379277d75cd88bb7bc2b96af1c900b4e3e0c9_2_700x127.png" alt="Снимок экрана 2024-11-02 в 11.26.24" data-base62-sha1="x9NTp4gio9zestRFoaCOiucVMOR" width="700" height="127" srcset="https://automated-testing.info/uploads/default/optimized/3X/e/8/e86379277d75cd88bb7bc2b96af1c900b4e3e0c9_2_700x127.png, https://automated-testing.info/uploads/default/optimized/3X/e/8/e86379277d75cd88bb7bc2b96af1c900b4e3e0c9_2_1050x190.png 1.5x, https://automated-testing.info/uploads/default/optimized/3X/e/8/e86379277d75cd88bb7bc2b96af1c900b4e3e0c9_2_1400x254.png 2x, https://automated-testing.info/uploads/default/original/3X/e/8/e86379277d75cd88bb7bc2b96af1c900b4e3e0c9.png 3x" data-dominant-color="343E54"></a></div><p></p>
<p>Помогите, пожалуйста, разобраться с проблемой</p>
<p>Код в библиотеке selenium на JavaScript</p>
            <p><small>3 сообщения - 2 участника</small></p>
            <p><a href="https://automated-testing.info/t/znachenie-v-input-ne-peredaetsya-v-formu-zaprosa/30203">Читать всю тему</a></p>
          ]]></description>
          <link>https://automated-testing.info/t/znachenie-v-input-ne-peredaetsya-v-formu-zaprosa/30203</link>
          <pubDate>Sat, 02 Nov 2024 08:48:02 +0000</pubDate>
          <discourse:topicPinned>No</discourse:topicPinned>
          <discourse:topicClosed>No</discourse:topicClosed>
          <discourse:topicArchived>No</discourse:topicArchived>
          <guid isPermaLink="false">automated-testing.info-topic-30203</guid>
          <source url="https://automated-testing.info/t/znachenie-v-input-ne-peredaetsya-v-formu-zaprosa/30203.rss">Значение в input не передается в форму запроса</source>
        </item>
  </channel>
</rss>
