Вкратце - сначала приложение клонируется из репозитория основного проекта на jenkins слэйве, билдится, собирается в докер образ и пушится в докер регистри.
Второй этап это клонирование репозитория с автотестами тоже на jenkins слэйв, далее из докер регистри пулится образ с приложением и разворачивается с помощью docker-compose. После чего запускаются автотесты с помощью команды ./gradlew clean test.
Третий этап заходим по ssh на стэйджинг и разворачиваем там приложение.
Суть вопроса:
Когда делаю мерж в мастер в основном проекте Application, через минуту проверяется, что есть изменения и сборка запускается, как и должно быть и проходит или падает один раз.
Но если я делаю мерж в мастер в другом репозитории - в проекте автотестов Autotests, то сборка запускается как и должна через 1 минуту, далее не дожидается пока пройдёт сборка запускается через минуту ещё одна(та же самая), потому через минуту ещё одна(та же самая) и так до бесконечности, пока хотя бы одна сборка не пройдёт или не упадёт. Кто нибудь с этим сталкивался? Как это исправить. Не совсем понимаю почему отслеживается автотестовый репозиторий на изменения, если в Repository URL указан репозиторий основного проекта https://gitlab.com/App/Application.git.
Большая часть моей работы посвящена обучению, тренировке и оценке тестировщиков. Как гуманисту, мне хочется применить тут эвристику разнообразия: наши различия могут сделать команду сильнее. Это означает, что я не могу выбрать один-единственный тип тестировщиков и оценивать людей согласно этому шаблону. С другой стороны, я вижу интересные модели навыков и темперамента у тестировщиков, и имеет смысл обсудить эти модели в широком ключе. Да, все снежинки различаются, но также верно, что все снежинки похожи друг на друга.
Итак, я выделяю как минимум семь различных типов тестировщиков: административный, технический, аналитический, социальный, эмпатический тестировщик, пользователь и разработчик. Когда я начну углубляться в объяснения, я хочу, чтобы вы поняли следующее: это модель, а не тюрьма. Это кластеры эвристик или – в некоторых случаях – ролей. Ваш стиль работы или ситуация могут подходить для нескольких моделей сразу.
В команду тестировщиков (7 человек) компании MAXIMA г. Казань (в офис в штат) ищем руководителя отдела тестирования,который сможет возглавить и развивать команду, в то же время сможет быть инженером, который не только тестирует приложения, но и влиять на качество процессов и продукта
Чем предстоит заниматься:
Руководство группой тестировщиков (6 человек)
Планирование, реализация и контроль тестовых активностей
Суть моей программы в том, что она должна каждые две секунды обновлять страницу сайта и и парсить с нее одну строку.
Вот, собственно, код части программы, в которой возникает проблема:
while(true) {
driver.get("адрес сайта");
number = driver.findElements(By.tagName("b")); // записываем в список элементы с тегом b
string = number.get(2).getText(); // записываем в строку текст элемента с индексом 2
if (string.trim().length() == 0) { // проверяем если строка пустая, то выводим в консоль ошибку
System.out.println("ошибка");
} else{
System.out.println(string); // если же нет, то выводим в консоль строку
}
В российский офис компании Wiley (крупная американская издательская компания, www.wiley.com) приглашается Quality Analyst
Офис расположен по адресу г. Королёв, Дзержинского, 29.
Responsibilities and skills:
∙ Analyze requirements/use cases and determine test cases needed.
∙ Prepare and maintain all test deliverables including but not limited to test plans, test scenarios, and test cases.
∙ Testing approach and activities should comply with the selected flavor of iterative and incremental software development process.
∙ Detect and report a large variety of issues to ensure smooth and quick resolution through the development lifecycle.
∙ Perform all testing activities on complex web and mobile architectures.
∙ Provide proper level of communicating up accomplishments, issues, and suggested ways of resolving these issues.
∙ Knowledge of and experience with tool sets necessary for requirements management, test management, and issues tracking.
∙ Experience with multiple test case management tools (RQM, HP, Jira Plugins).
∙ Experience with requirements and defect management test tools (JIRA).
∙ Experience with agile and other software development methodologies.
∙ English (reading &writing).
Corporate benefits:
∙ Opportunities for professional and career growth.
∙ Compliance with Russian labor Law.
∙ Corporate medical insurance.
∙ Sports activities and corporate events.
∙ Technical and business related trainings.
∙ Friendly atmosphere.
∙ English classes.
∙ Salary will be discussed individually with the successful candidate.
О компании.
Компания John Wiley & Sons, Inc. (www.wiley.com) является стабильной (более 200 лет успешной истории бизнеса) транснациональной компанией. На сегодняшний день в нашей компании работают более 5000 сотрудников, офисы компании открыты в США, Канаде, Великобритании, Дании, Германии, России, а также в Азиатском и Тихоокеанском регионах. Головной офис компании расположен в городе Хобокен (США).
Основными направлениями работы копании является публикация научного и технического контента, предоставление сервисов для образовательных, научных учреждений и исследовательских компаний по всему миру. В настоящее время наиболее быстро развивающимся направлением работы компании является публикация контента и предоставление информационных сервисов в электронном виде.
Наиболее известные бренды компании: For Dummies, Bloomberg Press, Sybex, Pfeiffer. В мае 2006 Wiley стала официальным партнёром Microsoft для публикации всех Microsoft Official Academic Course по всему миру.
Мы следуем стратегии найма только лучших специалистов на рынке и предоставления сотрудникам долгосрочных перспектив роста. Многие сотрудники продолжают работать в нашей компании более 10-15 лет.
Отвечу на все вопросы: itincorp@gmail.com , +7 (916) 0722958 (WhatsApp, Telegram, Viber), Skype: valeriya390
Крылова Валерия, рекрутер компании Wiley
Возник вопрос как записать цикл if на Selenium. Необходимо сравнить значение в ячейке x и заданное число c, если они равны, то задается значение ячейке y, иначе выходим из цикла.
Char c =1234;
WebElement x = driver.findElement(By.id("example")); //находим ячейку x
System.out.println(x.getAttribute("value")); // получаем значение x
WebElement y = driver.findElement(By.id("example2")); // находим ячейку y
Я пыталась написать цикл :
if (x=c)
{ y== значениедляy
}
Но Selenium ругается ( и правильно, наверно, делает), что не может сравнить значение WebElement и char (если изменить на int, то тоже не проходит), но если писать через Assert: Assert.assertEquals(x, c);, то никакой ошибки нет. Это странно или так и должно быть? Только начала изучать Selenium и программировать, поэтому вопросов пока больше, чем ответов)
С недавних пор работаю авто-тестировщиком, пишу тесты на java и selenium webdriver, в процессе изучения того и другого.
В данный момент у меня возник вопрос ответ на который мне в данный момент совершенно неочевиден, а проблема стоит остро и в дальнейшем неизбежно будет прогрессировать.. очень прошу помочь с решением.
Я написал что-то вроде надстройки над селениумом, которая выглядит следующим образом:
есть, скажем, класс Element который определяет наличие элемента или нескольких на странице, а так же некоторых их свойств
от него наследуются классы типа Tools (каждый из которых содержит методы для работы с определенными элементами), затем их все собирает через композицию еще один класс, и от него уже наследуются все классы отождествляемые с непосредственно вебстраницами которые я тестирую.
Иерархически схема в данный момент выглядит так:
class A
class B extends A
class C extends B
class Buttons extends C
class Breadcrumbs extends C
class Table extends C
...
class Page собирает все что после C (там около полутора десятка элементов каждому из которых посвящен отдельный класс)
и от Page как раз наследуются все тестируемые "страницы".
В данный момент все отлично работает (с точки зрения затраченного на тесты времени), но.. я поместил в конструктор каждого класса код вида System.out.println("init classname"); и ужаснулся количеству инициализаций этих классов, сообщений об инициализации в консоли больше трех десятков. :(
С ростом кода во вспомогательных страницах а так же с количеством тестов или тестируемых страниц мне кажется что вся эта конструкция грозит неоправданным расходом ресурсов тестовой машины, или дикими тормозами при прогонах.
У меня устойчивое ощущение что я что-то делаю не так, и что количество инициализаций можно значительно сократить или вообще свести к одному-единственному.
Подскажите пожалуйста, что можно для этого сделать? Буду рад любым предложениям или советам.