Size: a a a

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

2020 September 15

S1

Sceptic 1234 in QA — Автоматизация
Её переименовали
источник

S1

Sceptic 1234 in QA — Автоматизация
Вроде BeforeClass теперь
источник

S1

Sceptic 1234 in QA — Автоматизация
надо гуглить, я уже забыл
источник

A

Anton in QA — Автоматизация
Как раз BeforeAll это переименованный BeforeClass
источник

A

Anton in QA — Автоматизация
источник

A

Anton in QA — Автоматизация
Moiseev Daniil
Всем привет) А есть в jUnit5 аанотация, которая запускает функцию перед всеми тестами? Наивно полагал, что это @BeforeAll, но она оказывается пускается перед каждым тестовым классом, а у меня их будет много, не подскажите как сделать?
в базовый класс вроде можно запихнуть, а потом все классы от него наследовать
источник

AM

Artur Mkrtychian in QA — Автоматизация
Переслано от Artur Mkrtychian
Кто может помочь, как в Junit 5 выполнить код до всех тестов и после всех тестов?
Аналог @BeforeSuite и @AfterSuite в TestNG.

Такое решение не работает при параллельном запуске тестов:
https://stackoverflow.com/questions/43282798/in-junit-5-how-to-run-code-before-all-tests/51556718#51556718

Так как, при запуске первого теста начинает выполняться "код до всех тестов".
В это же время стартует второй тест параллельно, тест видит, что "код до всех тестов" уже выполнен и начинает запускать тест.
Но код еще не выполнен...
источник

ТС

Тимофей Станко... in QA — Автоматизация
Всем привет)
Возникла необходимость сделать покрытие тестами одного мобильного приложения, хотя бы базового его функционала. Посоветуйте статьи и куда двигаться
Есть понимание как работать с селениумом и небольшие знания Котлина(на нем написано приложение)
Заранее спасибо
источник

ES

Eugene Stogniy in QA — Автоматизация
Тимофей Станко
Всем привет)
Возникла необходимость сделать покрытие тестами одного мобильного приложения, хотя бы базового его функционала. Посоветуйте статьи и куда двигаться
Есть понимание как работать с селениумом и небольшие знания Котлина(на нем написано приложение)
Заранее спасибо
API testing, и https://github.com/KasperskyLab/Kaspresso говорят не плох (сам не юзал )
источник

MD

Moiseev Daniil in QA — Автоматизация
Artur Mkrtychian
Переслано от Artur Mkrtychian
Кто может помочь, как в Junit 5 выполнить код до всех тестов и после всех тестов?
Аналог @BeforeSuite и @AfterSuite в TestNG.

Такое решение не работает при параллельном запуске тестов:
https://stackoverflow.com/questions/43282798/in-junit-5-how-to-run-code-before-all-tests/51556718#51556718

Так как, при запуске первого теста начинает выполняться "код до всех тестов".
В это же время стартует второй тест параллельно, тест видит, что "код до всех тестов" уже выполнен и начинает запускать тест.
Но код еще не выполнен...
Ну вот то я находил, но думал вдруг есть какое то красивое решение)
источник

M

Mogan in QA — Автоматизация
Всем привет, подскажите как можно указать параметры для x конкретно нужно сделать перемещение элемента на -200pxdef test():
   sourceEle = driver.find_element(By.XPATH, '//*[@id="app"]/div/div/button')
   assert sourceEle
   # Store 'box B' as source element
   targetEle = driver.find_element(By.XPATH, '//*[@id="app"]/div/div')
   assert targetEle
   targetEleXOffset = targetEle.location.get("x")
   targetEleYOffset = targetEle.location.get("y")
   # Performs dragAndDropBy onto the target element offset position
   webdriver.ActionChains(driver).drag_and_drop_by_offset(sourceEle, targetEleXOffset, targetEleYOffset).perform()
источник

AS

Andrei Solntsev in QA — Автоматизация
Я попробовал каспрессо, но мне не зашло. Пилю тесты на Selenide+Appium. Зашибись работает.
источник

TN

Timur Nurlygayanov in QA — Автоматизация
Mogan
Всем привет, подскажите как можно указать параметры для x конкретно нужно сделать перемещение элемента на -200pxdef test():
   sourceEle = driver.find_element(By.XPATH, '//*[@id="app"]/div/div/button')
   assert sourceEle
   # Store 'box B' as source element
   targetEle = driver.find_element(By.XPATH, '//*[@id="app"]/div/div')
   assert targetEle
   targetEleXOffset = targetEle.location.get("x")
   targetEleYOffset = targetEle.location.get("y")
   # Performs dragAndDropBy onto the target element offset position
   webdriver.ActionChains(driver).drag_and_drop_by_offset(sourceEle, targetEleXOffset, targetEleYOffset).perform()
targetEleXOffset + 200 ?
источник

M

Mogan in QA — Автоматизация
Timur Nurlygayanov
targetEleXOffset + 200 ?
угу
источник

TN

Timur Nurlygayanov in QA — Автоматизация
Mogan
угу
webdriver.ActionChains(driver).drag_and_drop_by_offset(sourceEle, targetEleXOffset + 200, targetEleYOffset).perform()  - может так? )
источник

M

Max in QA — Автоматизация
Подскажите плиз, я тут упоролся в такую штуку (kotlin, selenide)

есть такой объект

object ModelsMenuBlock {
   fun getSelf(): SelenideElement {
       return element("div#model-slider-auto-information")
   }

   val availableCarsPageLink = getSelf().findVisibleByText("Авто в наличии")
   val aboutModePageLink = getSelf().findVisibleByText("О модели")
   val reviewPageLink = getSelf().findVisibleByText("Отзывы")
   val techParamsPageLink = getSelf().findVisibleByText("Характеристики")
   val testDrivePageLink = getSelf().findVisibleByText("Тест-драйв")
   val loyaltyPageLink = getSelf().findVisibleByText("Подарки и акции")
   val tradeInPageLink = getSelf().findVisibleByText("Трейд-ин")
   val priceDynamicInfo = getSelf().findVisibleByText("Динамика цен")
}


В
тесте я беру отсюда один элемент, например reviewPageLink и кликаю на него

Функция .findVisibleByText(text)  выглядит так

fun SelenideElement.findVisibleByText(text: String): SelenideElement {
   this.find(withText(text)).shouldBe(exist)
   Thread.sleep(400)
   return this.findAll(withText(text)).findBy(visible)
}




Проблема в том что я получаю один элемент, например reviewPageLink, но тест валится на
val tradeInPageLink = getSelf().findVisibleByText("Трейд-ин")
хотя туда даже обращения нет, почему он его пытается проинициализировать и валится с тем что на странице нет этого элемента? Я ведь даже не вызываю его
источник

M

Max in QA — Автоматизация
Сам тест выглядит так

@Test
@DisplayName("Блок меню. Переход по ссылке на страницу Отзывов")
fun reviewLink() {
   ModelsMenuBlock.reviewPageLink.click()
   getVisibleByText("Общий рейтинг").shouldBe(visible)
}
источник

M

Mogan in QA — Автоматизация
Timur Nurlygayanov
webdriver.ActionChains(driver).drag_and_drop_by_offset(sourceEle, targetEleXOffset + 200, targetEleYOffset).perform()  - может так? )
Ты лучший мужик! спасибо
источник

PM

Pavel Markin in QA — Автоматизация
Max
Подскажите плиз, я тут упоролся в такую штуку (kotlin, selenide)

есть такой объект

object ModelsMenuBlock {
   fun getSelf(): SelenideElement {
       return element("div#model-slider-auto-information")
   }

   val availableCarsPageLink = getSelf().findVisibleByText("Авто в наличии")
   val aboutModePageLink = getSelf().findVisibleByText("О модели")
   val reviewPageLink = getSelf().findVisibleByText("Отзывы")
   val techParamsPageLink = getSelf().findVisibleByText("Характеристики")
   val testDrivePageLink = getSelf().findVisibleByText("Тест-драйв")
   val loyaltyPageLink = getSelf().findVisibleByText("Подарки и акции")
   val tradeInPageLink = getSelf().findVisibleByText("Трейд-ин")
   val priceDynamicInfo = getSelf().findVisibleByText("Динамика цен")
}


В
тесте я беру отсюда один элемент, например reviewPageLink и кликаю на него

Функция .findVisibleByText(text)  выглядит так

fun SelenideElement.findVisibleByText(text: String): SelenideElement {
   this.find(withText(text)).shouldBe(exist)
   Thread.sleep(400)
   return this.findAll(withText(text)).findBy(visible)
}




Проблема в том что я получаю один элемент, например reviewPageLink, но тест валится на
val tradeInPageLink = getSelf().findVisibleByText("Трейд-ин")
хотя туда даже обращения нет, почему он его пытается проинициализировать и валится с тем что на странице нет этого элемента? Я ведь даже не вызываю его
попробуй убрать  инициализацию всех полей в геттер val availableCarsPageLink get() = getSelf().findVisibleByText("Авто в наличии")
источник

M

Max in QA — Автоматизация
Pavel Markin
попробуй убрать  инициализацию всех полей в геттер val availableCarsPageLink get() = getSelf().findVisibleByText("Авто в наличии")
воу, это сработало, спасибо!
источник