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

Техники локализации плавающих дефектов
онлайн, начало 17 августа
Школа для начинающих тестировщиков
онлайн, начало 20 августа
Программирование на Python для тестировщиков
онлайн, начало 14 августа
Тестирование без требований
онлайн, начало 17 августа
Фотография

Ищу кто бы мог дать платные консультации.

Selenium Java mongodb

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 julja83

julja83

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Беляева Юлия

Отправлено 15 мая 2020 - 12:52

Добрый день. Я закончила курсы по автоматизации на java. Автоматизирую свой проект 3 месяца. Скопились вопросы, которые не могу решить и меня это очень тормозит. На чем работаю: Selenium, Java, Gradle, TestNG, mongodb, hibernate ogm. Была бы рада найти того, с кем можно было бы обсудить свои трудности, попытаться совместно прийти к их решению. Мне кажется, мои вопросы не такие уж и сложные, поскольку я в начале пути. Форумы мне помогают, но не всегда.

 

Темы которые сейчас для меня особенно актуальны:

1. Как прицепить к Allure снимки сделанные Ashot-ом. 

2. Как описать грамотно Entity, чтоб соединиться с коллекцией бд.

3. Разобраться с Unix временем.

 

Я уже много всего перечитала, но везде есть нюансы и голова уже кругом. Поэтому ищу помощи.


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 767 сообщений


Отправлено 15 мая 2020 - 13:05

Ну смотрите, по первому и 3 вопросу можем вам тут вот прямо помочь.

Опишите поподробнее эти вопросы в чём трудность.


  • 0

#3 julja83

julja83

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Беляева Юлия

Отправлено 15 мая 2020 - 13:51

Ну вот по первому вопросу. Вот мой листенер для Allur, а именно место где прикрепляется скиншот обычный и скриншот от Ashota (есть файл с помеченными расхождениями, на каждый тест свой файл со своим именем).


  @Override
  public void onTestFailure(ITestResult result) {
    ApplicationManager app = (ApplicationManager) result.getTestContext().getAttribute("app");
    saveScreenshot(app.takeScreenshot());

    try {
      getScreenShot();
    } catch (IOException e) {
      e.printStackTrace();
    }

  }


  @Attachment(value = "Page screenshot", type = "image/png")
  public byte[] saveScreenshot(byte[] screenShot) {
    return screenShot;
  }

  //прикладывание аттача для скриншот тестирования
 @Attachment()
  public static byte[] getScreenShot () throws IOException {
    String ResourseName="families_RU_Chrome";
    String Path="C:/Devel/Projects/java_itgen/itgen/src/test/testsScreenshot/markedImages/"+ResourseName+".png";
    byte[] file=Files.readAllBytes(Paths.get(Path));
  return file;
  }

Все пути я потом уберу в проперти. Тут у меня даже несколько проблем: 1. У меня подцепляются ко всем тестам 2 скриншота. Но мне достаточно, чтобы первый подцеплялся всегда, а Ashot-кий добавлялся бы вторым к скриншот-тесту. 2.Еще проблема в том, что скриншоты идут сьютом. Каждый тест кидает в папку тест со своим названием (ResourseName). Но как передавать в листенер это имя? У меня была идея записывать в каждом тесте это имя в файл, а при прикладывании аттача его считывать. Вроде даже работало, но когда тесты идут сьютом (а allur прикладывается сразу к сьюту) ,

то тогда фигня выходит.   Мне кажется все должно быть как-то очень просто, я видимо усложняю .


  • 0

#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 767 сообщений


Отправлено 15 мая 2020 - 14:08

есть файл с помеченными расхождениями

что? зачем? эталон, вы хотели сказать? тогда там нет никаких расхождений.

У меня подцепляются ко всем тестам 2 скриншота

ко всем упавшим тестам же? т.к. onTestFailure именно так у вас и работает.

что это за скриншот-тест? чем он отличается от обычного теста?

просто добавьте такое условие перед getScreenShot() - например, входит ли тег "screenshot_test" в список result.getMethod().getGroups();

2.Еще проблема в том, что скриншоты идут сьютом и ..............................

Я вообще не понял о чём речь, давайте лучше идти от хотелки - что надо-то.


  • 0

#5 julja83

julja83

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Беляева Юлия

Отправлено 15 мая 2020 - 14:20

У меня есть тесты, к ним при падении подцепляется скриншоты в Allur. Тут все хорошо. А есть пару пробных тестов для скриншот тестирования. У меня есть три папки : для эталонного снимка, ожидаемого, и снимка с помеченными расхождениями в случае падения. 

https://ibb.co/wgLh2HW

 

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

 

А вот это попробую . Спасибо.

 

 

просто добавьте такое условие перед getScreenShot() - например, входит ли тег "screenshot_test" в список result.getMethod().getGroups();

  • 0

#6 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 767 сообщений


Отправлено 15 мая 2020 - 14:46

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

И вообще не парился про имя файла, т.к. он же прикрепляется в аллюру, а у него своя именовка.

Я вообще так примерно делаю ():

        if ( diff.hasDiff() ) {
            Allure.attachImageFromResources("Ожидаю", path);
            Allure.attachPng("Получил", actual);
            прикрепитьРазницу(diff);
        }    

    public static void прикрепитьРазницу(ImageDiff diff) {
        String diff_f_name = "imageDiff.png"; // здесь можно придумать более рендомное имя, т.к. если тесты будут выполняться в параллели, то есть вероятность перезаписи этого файла другим тестом
        записатьФайлСразницей(diff, diff_f_name);
        Allure.attachImageFromFile("Разница", diff_f_name);
        new File(diff_f_name).delete();      
    }    

  • 0

#7 julja83

julja83

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Беляева Юлия

Отправлено 15 мая 2020 - 16:24

Все!!! Allur победила)))) Спасибо)) Из листерна все касаемо скриншот-тестов удалила. Прицепила аттач прям из скриншот-теста и все заработало как мне надо было. Спасибо-спасибо-спасибо.


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн




Темы с аналогичным тегами Selenium, Java, mongodb

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

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