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

Фотография

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

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
  • 833 сообщений


Отправлено 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
  • 833 сообщений


Отправлено 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
  • 833 сообщений


Отправлено 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, Java, mongodb

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

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