Тестирование селена с помощью Perl

  1. Запускайте тесты на настольных браузерах и реальных мобильных устройствах
  2. Строит и проектирует
  3. Включить и отключить Flash
  4. отладка
  5. ChromeOptions
  6. Профиль Firefox

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

Если бы тест выполнялся в браузере Firefox на вашем компьютере, у вас был бы следующий код:

my $ driver = new Selenium :: Remote :: Driver ('remote_server_addr' => 'localhost', 'port' => '4444', 'extra_capabilities' => $ extraCaps);

Для работы на BrowserStack необходимо изменить возможности Selenium Webdriver. В этом примере тест настроен для запуска на удаленном браузере Firefox:

my $ driver = new Selenium :: Remote :: Driver ('remote_server_addr' => 'USERNAME: ACCESS_KEY \ @ hub-cloud.browserstack.com', 'port' => '80', 'extra_capabilities' => $ extraCaps) ;

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

Запускайте тесты на настольных браузерах и реальных мобильных устройствах

Чтобы запустить тест Selenium для определенной комбинации ОС и устройства / браузера, выберите из выпадающего меню ниже. Затем будут сгенерированы возможности, которые вы должны передать в своем наборе тестов Selenium.

1. Выберите операционную систему

значок обозначает реальное мобильное устройство

my $ extraCaps = {"platform" => "MAC", "browserName" => "iPhone", "device" => "iPhone 5"};

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

Строит и проектирует

Отслеживайте все свои автоматизированные тесты, используя возможности сборки и проекта . Сгруппируйте свои тесты в сборки, а в дальнейшем - в проекты.

$ extraCaps -> {"build"} = "version1"; $ extraCaps -> {"project"} = "newintropage";

Примечание. Допустимые символы включают заглавные и строчные буквы, цифры, пробелы, двоеточия, точки и подчеркивания. Другие символы, такие как дефисы или косые черты, не допускаются.

Включить и отключить Flash

Хром

Чтобы отключить Flash в Chrome, создайте возможность chromeOptions и передайте в нее аргумент --disable-plugins .

$ extraCaps -> {'chromeOptions'} = {'args' => ("--disable-plugins")};

Предупреждение: модификатор --disable-plugins отключает все плагины в браузере.

Internet Explorer

Чтобы отключить Flash в Internet Explorer, передайте в своих тестах возможность browserstack.ie.noFlash .

$ extraCaps -> {"browserstack.ie.noFlash"} = "true";

отладка

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

Текстовые журналы

Текстовые журналы - это исчерпывающая запись вашего теста. Они используются для идентификации всех шагов, выполненных в тесте, и устранения ошибок при неудачном шаге. Текстовые журналы доступны с панели управления Automate или через наш REST API ,

Визуальные журналы

Визуальные журналы автоматически делают снимки экрана, созданные при каждой команде Selenium, выполняемой через ваш Perl-скрипт. Визуальные журналы помогают отладить точный шаг и страницу, на которой произошел сбой. Они также помогают выявить любые проблемы с макетом или дизайном ваших веб-страниц в разных браузерах.

Визуальные журналы отключены по умолчанию. Чтобы включить визуальные журналы, вам нужно установить для свойства browserstack.debug значение true :

$ extraCaps -> {"browserstack.debug"} = "true"; Запись видео

Каждый тестовый запуск в сетке BrowserStack Selenium записывается точно так, как он выполняется на нашей удаленной машине. Эта функция особенно полезна, когда тест браузера не пройден. Вы можете получить доступ к видео из панели автоматизации для каждого сеанса. Вы также можете скачать видео с панели инструментов или получить ссылку для загрузки видео, используя наш REST API ,

Примечание. Запись видео немного увеличивает время выполнения теста. Вы можете отключить эту функцию, установив для свойства browserstack.video значение false .

$ extraCaps -> {"browserstack.video"} = "false"; Консольные журналы

Журналы консоли фиксируют вывод консоли браузера на различных этапах теста для устранения проблем с JavaScript. Вы можете получить журналы консоли, используя наш REST API , Вы также сможете загружать журналы с панели автоматизации.

Журналы консоли включены по умолчанию для уровня журнала «ошибки» . Чтобы установить разные уровни журнала, вам нужно использовать функцию browserstack.console со значениями «отключить», «ошибки», «предупреждения», «информация» или «подробный», как показано ниже:

$ extraCaps -> {"browserstack.console"} = 'warnings'; Сетевые журналы

Сетевые журналы собирают данные о производительности браузера, такие как сетевой трафик, время ожидания, HTTP-запросы и ответы в формате HAR. Вы можете загрузить сетевые журналы, используя REST API или с панели автоматизации. Вы можете визуализировать файлы HAR, используя HAR Viewer ,

Сетевые журналы отключены по умолчанию. Чтобы включить сетевые журналы, используйте возможность browserstack.networkLogs со значением «true» , как показано ниже:

$ extraCaps -> {"browserstack.networkLogs"} = 'true';

ChromeOptions

Сеанс ChromeDriver можно дополнительно настроить и настроить с помощью ChromeOptions. BrowserStack поддерживает полный комплект ChromeOptions , В этом примере ChromeOptions используется для отключения Flash в Chrome.

$ extraCaps -> {'chromeOptions'} = {'args' => ("--disable-plugins")};

Профиль Firefox

Чтобы изменить настройки в Firefox, создайте новый объект Firefox Profile и обновите настройки профиля. Проверьте больше предпочтений на База знаний MozillaZine.

В этом примере пользовательский профиль Firefox используется для установки домашней страницы запуска браузера в Firefox.

используйте Selenium :: Remote :: Driver; используйте Selenium :: Remote :: Driver :: Firefox :: Profile; мой $ profile = Selenium :: Remote :: Driver :: Firefox :: Profile-> new (); $ profile-> set_preference ("browser.startup.homepage" => "http://www.google.com"); my $ driver = new Selenium :: Remote :: Driver ('remote_server_addr' => $ host, 'port' => '80', 'extra_capabilities' => $ extraCaps, 'firefox_profile' => $ profile);