Size: a a a

QA — Автоматизация

2020 June 15

LY

Lev Yarushin in QA — Автоматизация
А версия в репо правильная?
источник

D

Dasha in QA — Автоматизация
Ситуация: сейчас у автотестера винда, на нодах, где идет регресс тоже винда.
Тесты завязаны на локальных путях (самое главное - создание проекта в приложении, а это делается путем присваивания абсолютного пути файла из которого создать проект элементу с типом file). Сейчас выходит просьба перевести ноды на линукс. Приложение в докерах будет очень нескоро. Скажите, пожалуйста, какие подводные, возможно ли организовать работу локально на винде с одними путями и на регрессе с другими, насколько это правильный подход?
Есть возможность убедить оставить винду. Хочется узнать аргументы за/против
источник

EB

Evgenii B in QA — Автоматизация
> возможно ли организовать работу локально на винде с одними путями и на регрессе с другими

возможно.

> насколько это правильный подход?
это вполне обычный подход, когда какие-то файлы конфигурации обновляются своими собственными данными, которые будут корректными для среды разработки.

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

D

Dasha in QA — Автоматизация
Evgenii B
> возможно ли организовать работу локально на винде с одними путями и на регрессе с другими

возможно.

> насколько это правильный подход?
это вполне обычный подход, когда какие-то файлы конфигурации обновляются своими собственными данными, которые будут корректными для среды разработки.

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

EB

Evgenii B in QA — Автоматизация
Варианты решения запуска приложения в зависимости от того, в каком окружении оно запущено могут быть разные, но основной подход такой:

- вычитываешь переменную окружения в коде, которая ответит тебе, это нода для регресса или локальная машина для тестов; ( эта переменная может передаваться как параметр где-нибудь в дженкинсе / bamboo / teamcity)
- если это нода, юзать конфиг node_config.yml
- если это локальный запуск, юзать данные из конфига local_config.yml
источник

EB

Evgenii B in QA — Автоматизация
Dasha
То есть сделать кусок абсолютного путя(который разных для операционок) и передавать его в пропертях.
Да, так и предполагала, спасибо
в идеале в рамках проекта пользоваться относительными путями которые высчитываются от начала корня проекта

в рамках windows / linux тоже может быть важно привести пути к linux style описанию filepaths.
Пути к файлам, которые выходят за рамки проекта и являются системными (типа /usr/local/bin) и аналог на Windows будут отличаться и их придется хардкодить, в основном же любые файлы которые будут лежать в папке проекта могут и должны быть описаны так, чтобы они работали безотносительно того, скопирован проект на windows / linux
источник

D

Dasha in QA — Автоматизация
Evgenii B
в идеале в рамках проекта пользоваться относительными путями которые высчитываются от начала корня проекта

в рамках windows / linux тоже может быть важно привести пути к linux style описанию filepaths.
Пути к файлам, которые выходят за рамки проекта и являются системными (типа /usr/local/bin) и аналог на Windows будут отличаться и их придется хардкодить, в основном же любые файлы которые будут лежать в папке проекта могут и должны быть описаны так, чтобы они работали безотносительно того, скопирован проект на windows / linux
То есть завести переменную, которая будет определять где проект?
Тогда пока не горит, я могу избавиться от абсолютных путей. В любом случае, полезно
источник

O

Oleg in QA — Автоматизация
Почему бы не использовать относительные пути? Абсолютный всегда можно получить из относительного. Проблем с осью никаких не будет
источник

D

Dasha in QA — Автоматизация
Oleg
Почему бы не использовать относительные пути? Абсолютный всегда можно получить из относительного. Проблем с осью никаких не будет
Ответ прост: в таком виде передали проект, а я и не задумывалась, что это проблема, соответственно, её не решала
источник

EB

Evgenii B in QA — Автоматизация
Обычно так и есть: код проекта оперирует путями, которые он знает в проекте, и их очень просто через относительные пути использовать.

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

D

Dasha in QA — Автоматизация
Большое спасибо @panemquotidianum и @grunvald13
за помощь) завтра переделаю, даже если решат на линукс не переходить)
источник

AK

Anton Ka in QA — Автоматизация
Привет, может кто сталкивался как запустить хром браузер с заданной гео локацией(selenium<4)
источник
2020 June 16

Asen Баал in QA — Автоматизация
В geckodriver под селениумом можно отключить уведомление о удалённом управлении?
источник

Y

Yention in QA — Автоматизация
Anton Ka
Привет, может кто сталкивался как запустить хром браузер с заданной гео локацией(selenium<4)
Ага, встроенный впн или заранее прописанные координаты
источник

Y

Yention in QA — Автоматизация
Asen Баал
В geckodriver под селениумом можно отключить уведомление о удалённом управлении?
Можно все, но стоит ли оно того
И правда интересно нах тебе це
источник

D

Dmitry in QA — Автоматизация
Привет. А есть группа по puppeteer? Есть вопросы, хочу немного с ним разобраться
источник

AD

Andrei Dzeichyk in QA — Автоматизация
Dmitry
Привет. А есть группа по puppeteer? Есть вопросы, хочу немного с ним разобраться
вот чатик по js automation, спроси в нем
https://t.me/js_for_testing
источник

D

Di in QA — Автоматизация
Ребят, такой вопрос:

У меня тесты на джава + селенид

Ситуация такая, если в БД есть 1 запись то в форме загрузки на сайте предлагается только выбор даты.

Если 2 и более то дополнительно появляется форма выбора этих данных.

Для каждого опрд случая у меня отдельный тест.

Паттерн PageObject не использую, используем типа расписывания каждого шага с селекторами (напр. LoadData() {
$(some selectors).click...blabla
}

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

MK

Maksim Kanin in QA — Автоматизация
может сделать билдер?
источник

MK

Maksim Kanin in QA — Автоматизация
Типа:
new LoadData().withDate().withDateFormat()
источник