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

Логи как инструмент тестировщика
онлайн, начало 6 декабря
Тестирование REST API
онлайн, начало 6 декабря
Создание и управление командой тестирования
онлайн, начало 9 декабря
Автоматизатор мобильных приложений
онлайн, начало 1 декабря
Фотография

Нужна помощь в тесте на Selenium+JS


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

#1 Dirtstdr

Dirtstdr

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

  • Members
  • Pip
  • 5 сообщений

Отправлено 22 июля 2021 - 17:57

Тест должен вытаскивать из кода страницы теги iframe.object и embed и проверять вложены ли они в див с определённым классом. Код приложил, в ходе теста он не может даже вытащить тег со страницы, кто может подсказать где моя ошибка? В тестировании недавно, пишу первый тест.

Прикрепленные файлы

  • Прикрепленный файл  my testt.txt   2,88К   10 Количество загрузок:

  • 0

#2 BabyRoot

BabyRoot

    Специалист

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


Отправлено 24 июля 2021 - 13:17

Приложите пример DOM, часть где фрейм и его предки, скриншотик хотя бы.

getElementsByTagName === 'IFRAME'

там же вроде как маленькие буквы ннадо?...   ifame не равно IFRAME


  • 0

#3 Dirtstdr

Dirtstdr

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

  • Members
  • Pip
  • 5 сообщений

Отправлено 24 июля 2021 - 14:49

Приложите пример DOM, часть где фрейм и его предки, скриншотик хотя бы.

getElementsByTagName === 'IFRAME'

там же вроде как маленькие буквы ннадо?...   ifame не равно IFRAME

Маленькие буквы используются при парсинге XML-файла, для html - большие

Пример типичной веб-страницы. в этом случае тест должен проходить без ошибок т.к. тег обёрнут в  <div class="responsive-embed"> :

<ul class="accordion" data-accordion data-multi-expand="true" data-allow-all-closed="true">
          <li class="accordion-item" data-accordion-item><a class="accordion-title" href="#" title="Я хочу на семинар">Я хочу на семинар, но директор не выделяет на это денег. И не понимает зачем нужно повышать квалификацию? Что ему сказать?</a>
            <div class="accordion-content" data-tab-content>
              <p><b>Ответ:</b><br>Варианты всегда есть. Или попробуйте объяснить, что бухгалтер денег не зарабатывает. Он их считает. И как правило - бухгалтерам принято оплачивать семинары, потому что в их деле так много изменений. Почему же для бухгалтера приемлемо повышать квалификацию на семинарах за счёт фирмы, а для сметчика, который как раз зарабатывает деньги - нет? Разве не стоит сделать так, чтобы приносящий деньги сотрудник имел бы выше квалификацию и приносил бы денег еще больше?</p>
            </div>
          </li>
        </ul>
      </div>
      <div class="row column text-center">
        <p><br></p>
        <h3 class="light-text">Как знать, может этот семинар изменит вашу жизнь и карьеру? Что может быть полезнее? Совместите обучение и общение с единомышленниками &#128521;</h3>
        <p><br><a class="button main-btn yellow" href="#prices" title="Принять участие">Принять участие</a></p>
      </div>
    </section>
          <section class="dark fotogallery">
      <div class="row small-up-3">
        <div class="column foto-img"><img src="./i/1.jpg" title="Павел Владимирович Горячкин" alt="Павел Владимирович Горячкин"></div>
        <div class="column foto-img"><img src="./i/2.jpg" title="Павел Владимирович Горячкин" alt="Павел Владимирович Горячкин"></div>
        <div class="column foto-img"><img src="./i/3.jpg" title="Павел Владимирович Горячкин" alt="Павел Владимирович Горячкин"></div>
        <div class="column foto-img"><img src="./i/4.jpg" title="Павел Владимирович Горячкин" alt="Павел Владимирович Горячкин"></div>
        <div class="column foto-img"><img src="./i/5.jpg" title="Павел Владимирович Горячкин" alt="Павел Владимирович Горячкин"></div>
        <div class="column foto-img"><img src="./i/6.jpg" title="Павел Владимирович Горячкин" alt="Павел Владимирович Горячкин"></div>
      </div>
<div class="row">
        <div class="small-6 column">
          <div class="responsive-embed">
            <iframe width="560" height="315" src="https://www.youtube.com/embed/a6L3RbErdxY" frameborder="0" allowfullscreen></iframe>
          </div>
        </div>    
<!--               <div class="small-6 column">
          <div class="responsive-embed">
            <iframe width="560" height="315" src="https://www.youtube.com/embed/aCOSTTfQ8hU" frameborder="0" allowfullscreen></iframe>
          </div>
        </div>
-->
 <div class="small-6 column">
          <div class="responsive-embed">
            <iframe width="560" height="315" src="https://www.youtube.com/embed/SJE-4KK3mEM" frameborder="0" allowfullscreen></iframe>
          </div>
        </div>
      </div>

  • 0

#4 BabyRoot

BabyRoot

    Специалист

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


Отправлено 24 июля 2021 - 21:14

elem.getElementsByTagName === 'IFRAME'

заменить на 

elem.getElementsByTagName === 'iframe'


  • 0

#5 Dirtstdr

Dirtstdr

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

  • Members
  • Pip
  • 5 сообщений

Отправлено 26 июля 2021 - 08:02

elem.getElementsByTagName === 'IFRAME'

заменить на 

elem.getElementsByTagName === 'iframe'

Заменил, разницы нет

https://ibb.co/9rJzc7M


  • 0

#6 BabyRoot

BabyRoot

    Специалист

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


Отправлено 26 июля 2021 - 11:00

Я не силён в JS, но что делают эти 2 строки (66-67), а точнее 66?:

        document
        elem.getElementsByTagName === 'IFRAME'

  • 0

#7 Dirtstdr

Dirtstdr

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

  • Members
  • Pip
  • 5 сообщений

Отправлено 27 июля 2021 - 16:19

 

Я не силён в JS, но что делают эти 2 строки (66-67), а точнее 66?:

        document
        elem.getElementsByTagName === 'IFRAME'

https://developer.mo...ementsByTagName


  • 0

#8 BabyRoot

BabyRoot

    Специалист

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


Отправлено 27 июля 2021 - 18:27

Я спросил про 66 строку.


  • 0

#9 Dirtstdr

Dirtstdr

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

  • Members
  • Pip
  • 5 сообщений

Отправлено 27 июля 2021 - 18:50

Должно выглядеть так,видимо файл с черновиком перепутал.  Сама команда document  служит точкой входа для получения содержимого веб-страницы

document
	.querySelectorAll('body *:not(script):not(style):not(noscript):not(svg):not(path):not(option)')
          .forEach(function(elem) {

            if (result.frame === false){
              result.frame = checkElementFrame(elem);
            }

            if (result.object === false){
              result.object = checkElementObject(elem);
            }
            if (result.embed === false){
              result.embed = checkElementEmbed(elem);
            }
            if (result.frame === true && result.object === true && result.embed === true ){
              return result;
            }
          });

  • 0


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



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

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

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