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

Тестирование безопасности
онлайн, начало 15 апреля
Школа для начинающих тестировщиков
онлайн, начало 9 апреля
Автоматизация функционального тестирования
онлайн, начало 10 апреля
Английский для тестировщиков
онлайн, начало 13 апреля

Публикации Alex

11 публикаций создано Alex (учитываются публикации только с 09 апреля 2019)


#175421 Не получается перетащить элемент Selenium + Python

Отправлено автор: Alex 04 февраля 2020 - 10:48 в Selenium - Functional Testing

 

 

 

У меня есть функционал перетаскивания секций в браузере. Т.е. можно менять позицию секции относительно других секций. Делается это мышкой в браузере - drag and drop. Я пишу end-to-end тест с использованием Selenium. Т.е. существует кейс "Перетащить секцию", вот его я и хочу выполнить с использованием библиотеки Selenium, так как бы это делал пользователь из браузера.
И у меня возникают описанные проблемы. Ищу вариант решения.

Вы что-то можете подсказать по исправлению моего решения или предложить альтернативное решение? Как выполнить перетаскивание элемента в браузере средствами Selenium?

очень похоже на:

"у меня есть гвоздь. И у меня есть микроскоп. Вот этот вот гвоздь я и хочу забить этим микроскопом"

 

не понимаю, чего так набросились. Вероятно, в рамках End-to-end теста есть задача перетащить секцию и далее проверить как это действие применилось в функционале.

 

По теме вопроса:

1. Перетаскиваете не с той позиции (element = от центра элемента, что не всегда соответствует точке, за которую можно тянуть)

2. обычно у нас action chains выглядит так: clickAndHold(element).moveTo(element).moveByOffSet(0,0).moveByOffset(offsetX, offsetY).release(). Без вот этого "moveTo(element).moveByOffSet(0,0)" тоже были проблемы, насколько помню




#175309 Как получить данные о WebDriver до его запуска

Отправлено автор: Alex 23 января 2020 - 14:39 в Selenium - Functional Testing

 

Подскажите, как лучше организовать запуск IWebDriver, чтобы присвоить ему options?

Есть класс, в котором находятся тесты:

public class BetTests : TestBase<FirefoxDriver>
{
}

 

public class TestBase<TDriver> where TDriver : IWebDriver, new()

{

}

 

В классе TestBase лежит SetUp

Для разных браузеров нужны разные options. Но проблема в том, что в момент передачи в TestBase параметра мы еще не знаем, какой это будет driver.

 

Сейчас написано топорно, но это отнимает много времени:

 

[SetUp]
        public void Start()
        {
            this.driver = new TDriver();
            if (driver.ToString() == ("OpenQA.Selenium.Chrome.ChromeDriver"))
            {
                //driver.Quit();
                //driver = null;
                ChromeOptions option = new ChromeOptions();
                driver = new ChromeDriver(option);                
            }
            if (driver.ToString() == ("OpenQA.Selenium.Firefox.FirefoxDriver"))
            {
                driver.Quit();
                driver = null;
                FirefoxOptions options = new FirefoxOptions();
                options.AcceptInsecureCertificates = true;
                driver = new FirefoxDriver(options);                
            }
            app = new Application(driver);
        }

Получается что сначала запускается браузер, узнаем что это за браузер, убиваем его, устанавливаем options и запускаем повторно. А как сделать, чтобы до запуска браузера уже узнать какой будет браузер?!

 

Как-то тут все неправильно

1. Почему TestBase<IDriver>? Зачем как-то в типе хранить драйвер?

2. Делегируйте вопрос запуска драйвера кому-то другому

3. В рамках этого решения вроде можно использовать typeof (не помню точно синтаксис C#), что не требует инициализации драйвера

 

Но это все равно неправильно




#175072 Как корректно передать Заголовок в экстракторе

Отправлено автор: Alex 09 января 2020 - 13:22 в JMeter - Тестирование производительности

 

Вообще да передать имел в виду.

Дело в том что у меня получилось его получить., через Regular Extractor, но почему то в последующем запросе заданная переменная не передается. Причем если ставишь URL Encode ошибка меняется на 500.
 

 

 

вот не поленилися и набрал ваш URL. 77й символ - конец строки, очевидно ваш extractor захватывает какой-то лишний символ(ы), потому и получает urlsyntax exception




#175071 Среда запуска jmeter тестов по расписанию c передачей в тест дополните

Отправлено автор: Alex 09 января 2020 - 13:19 в JMeter - Тестирование производительности

 

Модификации на лету это сюда: https://gettaurus.or...xisting-Scripts

 

В принципе там же есть примеры модулей, отправляющих результаты на лету в API, если руки знают питон то можно написать свою сохранялку в произвольное место.

 

Ну как это все делать по-отдельности еще более менее понятно (в теории). На примере все той же связки jmeter + influx-grafana + jenkins + модификация\генерация сценариев jmx на лету (через кастомный код или через готовые плагины).

Микрофокус даже предлагает jmeter из ALM пускать (не переплачивая за тех вузеров, которых можно "без потерь" заменить jmeter тридами).

Просто удивляет, что для всего этого зоопарка до сих пор нет коробочной реализации (опенсорс или коммерческой, но за небольшие деньги, не по цене самолета, как у микрофокуса). 

 

https://www.blazemeter.com/

не об этом? Просто соль jmeter в том, что он бесплатный.

Делать такое решение (объединить весь зоопарк) за бесплатно вряд ли кто-то будет, а делать за деньги - риски. + c новой версией jmeter весь зоопарк может перестать работать.




#175070 Получить текст внутри span

Отправлено автор: Alex 09 января 2020 - 12:29 в Selenium - Functional Testing

Работает, конечно, на тоненького, но в вашем случае должно хватить

public String getTextIgnoringInnerElements(WebElement element) {

     String text = element.getText();
     log("Got text '%s'", text);

     List<WebElement > children = element.findElements(By.xpath(".//*"));

     for(int i = 0; i < children.size(); i++ ){
       text = text.replaceFirst(Pattern.quote(children.get(i).getText()), "");
     }

     return text;
}



#174441 Как включить поддержку JavaScript в SoapUI

Отправлено автор: Alex 13 ноября 2019 - 09:55 в SmartBear (AutomatedQA) - Functional Testing

Версия SoapUI 5.4.0

Здравствуйте!

С помощью SoapUI выполняю обычный POST запрос с передачей параметров.
В ответ возвращается сообщение  "JavaScript is currently disabled or is not supported by your browser"

 

Пробовал аналогичный запрос кидать через Jmeter, так такой проблемы нет. Но мне нужно именно через SoapUI. 

Кто сталкивался с данной проблемой? Как можно ее решить?

Смотрите заголовки, которые отправляет SoapUI и JMeter. Проблема будет вероятнее всего либо в content-type, либо user-agent




#173069 Проблема с доступом к члену массива элементов

Отправлено автор: Alex 26 июля 2019 - 08:05 в Selenium - Functional Testing

Об типе ошибки я уже сообщил, индекс элемента превышает размер массива.

Ну так вам уже предложили воспользоваться отладкой и посмотреть на каждой строке, что происходит и что представляет собой ваш Lst. Каков размер списка до начала обхода цикла? Как он меняется с каждым for each? Как реализован метод toList?




#172810 Параллельно два и более запросов в луппе

Отправлено автор: Alex 02 июля 2019 - 10:31 в JMeter - Тестирование производительности

Всем привет! при создании тест-плана возник такой вопрос как в один сред запихнуть два или более loop controller, что работали параллельно?

Берется список юзеров с CSV, создается сессия и потом в одном луппе каждые 5 сек отсылается команда на синк, а во втором - какой-то post запрос и т.д. 

 

Или возможно какое-то другое решение ?

по умолчанию никак. В свое время для ajax редактировал исходники, но решение достаточно топорное.

 

вообще для sync запросов обычно создают либо отдельную группу, либо вообще ими пренебрегают при тестировании.




#172392 Как узнать сколько запросов в обработке на сервере

Отправлено автор: Alex 29 мая 2019 - 11:30 в JMeter - Тестирование производительности

Всем привет!

Есть проект, у него есть требования к производительности сервера - запросы разных типов, скажем 1/2/3 должны обрабатываться не дольше 0,1/5/40 секунд, при условии что нагрузка не превышает запланированную (до 200 пользователей онлайн и до 50 одновременных запросов к системе).

 

В JMeter составил сценарий для проверки стабильности, который 8 часов должен поддерживать нагрузку близкую к максимальной, но не выше.

С 200 пользователей онлайн проблем нет, спасибо JMeter.

Но внезапно стал вопрос - как узнать, что вышли на требуемый уровень "одновременных запросов к системе"?

Внезапно осознал, что "Throughput" совсем не про это. Посмотрел листенеры и плагины - тоже не нашёл ничего нужного. В лучшем случае - график "количество активных тредов", что очевидно не то.

Пока единственная идея - сохранять в файл "view results in table", и скриптом из TimeStamp и SampleTime рисовать сколько запросов обрабатывал сервер каждую секунду.

Но выглядит уж больно костыльно - прогнать сценарий, посмотреть график запросов, подкрутить задержки, прогнать сценарий и тд...

 

Не верю, что JMeter не может, но в упор не вижу как. Подскажите пожалуйста!

А почему Throughput не про это? 




#171523 Интеграция Selenium WebDriver c Jira

Отправлено автор: Alex 03 апреля 2019 - 07:13 в Selenium - Functional Testing

 

Бесплатно вы вряд ли найдете такое.

Но большую часть можно сделать своими силами, используя JIRA апи

Исключение:

Запуск тестов из JIRA - особенно по расписанию и параметризованным. Здесь проще сделать кнопку Run, которая пнет job-у Jenkins-а, например. Но это все равно через кастомизацию JIRA (может есть и готовые плагины для этого)

Создание отчетов - просто прикрепить куда-то свой отчет еще можно, а сделать это трассируемым на стори/дефекты - это уже надо вводить свой тип issue и связывать автотесты с этими issue.

 

Спасибо! А на бесплатные решения я даже и не надеюсь, их скорее всего нет

 

Тогда ищите TestManagement for JIRA. Там будут разные варианты, классикой, наверное считается TestRail+Jira, но это две независимые системы, которые имеют некоторую интеграцию. Чтобы описывать кейсы прямо в JIRA это какой-нибудь плагин вроде Zephir, QMetry, XRay и прочие.

Единственное - ни одно решение из коробки не даст вам в JIRA кнопку Run для автоматизированного выполнения.




#171502 Интеграция Selenium WebDriver c Jira

Отправлено автор: Alex 02 апреля 2019 - 08:43 в Selenium - Functional Testing

Бесплатно вы вряд ли найдете такое.

Но большую часть можно сделать своими силами, используя JIRA апи

Исключение:

Запуск тестов из JIRA - особенно по расписанию и параметризованным. Здесь проще сделать кнопку Run, которая пнет job-у Jenkins-а, например. Но это все равно через кастомизацию JIRA (может есть и готовые плагины для этого)

Создание отчетов - просто прикрепить куда-то свой отчет еще можно, а сделать это трассируемым на стори/дефекты - это уже надо вводить свой тип issue и связывать автотесты с этими issue.





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