2015-01-29 3 views
4

Мне нужно захватить и распечатать все шаги браузера, выполняемые в тестовом скрипте, в отчет HTML. В настоящее время я использую transractor и protractor-html-screenshot-репортер для сообщения. Может ли кто-нибудь предложить, если это может быть достигнуто с помощью любого инструмента или есть какие-либо апи для этого. Желаемый образец прилагается. enter image description hereЗахват всех шагов браузера в отчет HTML

+0

Вы пробовали селен? – atmd

+0

Как вы создали этот образец отчета? Благодарю. – alecxe

+0

@atmd вопрос помечен как 'protractor', который строится поверх' webdriverjs', следовательно, это основанная на selenium webdriver инфраструктура. – alecxe

ответ

3

Чтобы узнать, о чем вы спрашиваете, вам необходимо понять, что происходит под капотом, и как отправлять и выполнять действия браузера, необходимые для ведения журнала.

Вот краткий обзор высокого уровня.

Взаимодействие с WebDriver, селеном сервером и браузером происходят через JSON Wire Protocol - JSON над HTTP:

enter image description here

Смотрите также: Protractor: How It Works.

Другими словами, поиск элемента, отправка ключей в элемент, клики и т. Д., В основном, отправляются как HTTP-запросы, которые можно отслеживать и регистрировать, см. Monitoring JSON wire protocol logs. Например, вот сервис журналы Chrome:

[2.389][INFO]: COMMAND FindElement { 
    "sessionId": "b6707ee92a3261e1dc33a53514490663", 
    "using": "css selector", 
    "value": "input" 
} 
[2.389][INFO]: Waiting for pending navigations... 
[2.389][INFO]: Done waiting for pending navigations 
[2.398][INFO]: Waiting for pending navigations... 
[2.398][INFO]: Done waiting for pending navigations 
[2.398][INFO]: RESPONSE FindElement { 
    "ELEMENT": "0.3367185448296368-1" 
} 

Это именно то, что, например, BrowserStack делает. Они разбор необработанных бревен и производить удобный отчет обо всех действий, выполняемый:

enter image description here


В транспортире, ближе функциональность к тому, что вы спрашиваете, является being currently developed под timeline plugin:

  • настроить plugins раздел в транспортиром конфигурации:

    plugins: [{ 
        path: 'node_modules/protractor/plugins/timeline/index.js', 
        outdir: 'timelines' 
    }], 
    
  • запустить тесты

  • открытого отчета timelines/index.html и посмотреть:

enter image description here

В основном, это parses the webdriver's "client" logs и строит временные рамки, освещающие команды, которые были отправлены во время сеанса тестирования. Это то, что вы можете использовать в качестве отправной точки, изучить исходный код плагина.

+0

@ Alecxe- очень хорошо объяснил! –

+0

@ Alecxe - У меня проблемы с плагином timeline, нет такого плагина, который приходил при установке транспортира. Не могли бы вы рассказать мне, как это сделать на моей локальной машине. – BonJovi

+0

@BonJovi это доступно в транспортирере, установленном из github, ведущей ветки. – alecxe

Смежные вопросы