Селен с Maven тест на киосках Mac - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь проработать этот пример из кулинарной книги Maven, чтобы запустить Selenium Test:

https://books.sonatype.com/mcookbook/reference/ch08s02.html

Я создал проект, как указано, и класс TwitterTest.java.

Единственными изменениями, которые я сделал, было изменение порта Selenium на 7777. Я сделал это, изменив код:

    this.selenium = new DefaultSelenium("localhost", 7777, "*safari",  "http://www.twitter.com");

и в POM я добавил:

<properties>
    <selenium.server.port>7777</selenium.server.port>
</properties>

и изменения:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>selenium-maven-plugin</artifactId>
            <configuration>
                <port>${selenium.server.port}</port>
            </configuration>
     ...

Я сделал это, потому что Server.app запускает launchd на порту 4444.

Когда я запускаю mvn integration-test, я получаю следующий вывод:

[INFO] --- selenium-maven-plugin: 2.3: start-server (по умолчанию) @ crm-test ---

Запуск Selenium Server

Ожидание Selenium Server ...

[INFO] Расширения пользователя: /Users/george/workspace/crm-test/target/selenium/user-extensions.js

17: 22: 12,724 INFO [org.openqa.selenium.server.SeleniumServer] Java: Oracle Corporation 25.102-b14

17: 22: 12,725 INFO [org.openqa.selenium.server.SeleniumServer] ОС: Mac OS X 10.12.6 x86_64

17: 22: 12,732 INFO [org.openqa.selenium.server.SeleniumServer] v2.21.0, с Core v2.21.0. Построен из ревизии 16551

17: 22: 12,841 ИНФОРМАЦИЯ [org.openqa.selenium.server.SeleniumServer] Экземпляры RemoteWebDriver должны подключаться к: http://127.0.0.1:7777/wd/hub

17: 22: 12,842 INFO [org.openqa.jetty.http.HttpServer] Версия Jetty / 5.1.x

17: 22: 12,843 INFO [org.openqa.jetty.util.Container] Запущен HttpContext [/ selenium-server, / selenium-server]

17: 22: 12,867 ИНФОРМАЦИЯ [org.openqa.jetty.util.Container] Начало org.openqa.jetty.jetty.servlet.ServletHandler@61a485d2

17: 22: 12,867 INFO [org.openqa.jetty.util.Container] Запущен HttpContext [/ wd, / wd]

17: 22: 12,867 INFO [org.openqa.jetty.util.Container] Запущен HttpContext [/ selenium-server / driver, / selenium-server / driver]

17: 22: 12 867 INFO [org.openqa.jetty.util.Container] Запущен HttpContext [/, /]

17: 22: 12,873 INFO [org.openqa.jetty.http.SocketListener] Запущен SocketListener с 0.0.0.0:7777

.

17: 22: 12,873 INFO [org.openqa.jetty.util.Container] Запущен org.openqa.jetty.jetty.Server@65ae6ba4

17: 22: 13.325 INFO - Проверка псевдонимов ресурсов

Selenium Server запущен

[ИНФО]

[INFO] --- maven-surefire-plugin: 2.12.4: test (по умолчанию) @ crm-test ---

[INFO] Каталог отчетов Surefire: / Users / george / workspace / crm-test / target / surefire-reports


T E S T S


Запуск org.sonatype.mcookbook.TwitterTest

Настройка TestNG с помощью: org.apache.maven.surefire.testng.conf.TestNG652Configurator@66cd51c3

17: 22: 14,365 INFO [org.openqa.jetty.util.Credential] Проверка псевдонимов ресурсов

17: 22: 14.369 ИНФОРМАЦИЯ - Запрос команды: getNewBrowserSession [* safari, http://www.twitter.com,] для нулевого сеанса

17: 22: 14.372 INFO - создание нового удаленного сеанса

17: 22: 14.404 ИНФО - выделенный сеанс 1acfb5c8359144f5aba4922bc8406c0c для http://www.twitter.com, запуск ...

17: 22: 14,458 INFO - Запуск Safari посетить «файл: /var/folders/02/t683l6k918v1s_sr0y8k71zm0000gn/T/customProfileDir1acfb5c8359144f5aba4922bc8406c0c/core/RemoteRunner.html SESSIONID = 1acfb5c8359144f5aba4922bc8406c0c & многооконного = истина & BaseUrl = HTTP% 3A% 2F% 2Fwww?. twitter.com & debugMode = false & driverUrl = http://localhost:7777/selenium-server/driver/' через '/var/folders/02/t683l6k918v1s_sr0y8k71zm0000gn/T/customProfileDir1acfb5c8359144f5aba4922bc8406c0c/redto_len.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go_go.go

Откроется окно Safari с консолью Selenium (функциональное тестирование Selenium для веб-приложений, открытый исходный код из ThoughtWorks и друзей)

Но, кроме этого, консоль просто сидит там, на «Запуск Safari для посещения», на неопределенный срок без дальнейшего прогресса.

Я не уверен, является ли это проблемой, связанной с Java, или чем-то экологическим.Если это помогает, я запускаю сервер Mac Pro с Sierra (10.12.6)

Обновление: через несколько минут выводится:

17: 52: 23.843 ОШИБКА - Сбойчтобы запустить новый сеанс браузера, закройте браузер и очистите все данные сеанса org.openqa.selenium.server.RemoteCommandException: истекло время ожидания появления окна 'null'

Если я посмотрю в консоли разработчика,Я вижу следующие сообщения:

[Ошибка] Не разрешено загружать локальный ресурс: файл: /// var / folder / 02 / t683l6k918v1s_sr0y8k71zm0000gn / T / customProfileDird2e9a9287f5648fc921212a0230f2eb5 / extension /.js [d2e9a9287f5648fc921212a0230f2eb5] requireExtensionJs (selenium-remoterunner.js: 581) getSessionId (selenium-remoterunner.js: 65) buildDriverParams (selenium-remoterunner.js.js: 399) nextCommand (selenium-remoterunner.js: 203) continueTest (selenium-executeloop.js: 35) начало (selenium-executeloop.js): 26) runSeleniumTest (selenium-remoterunner.js: 125) (анонимная функция) (RemoteRunner.html: 58)

[Ошибка] Нулевой источник не разрешен Access-Control-Allow-Origin.

[Ошибка] Не удалось загрузить ресурс: нулевой источник не разрешен Access-Control-Allow-Origin.(драйвер, строка 0)

[Ошибка] XMLHttpRequest не может загрузить http://localhost:7777/selenium-server/driver/?seleniumStart=true&localFrameAddress=top&seleniumWindowName=&uniqueId=sel_94166&sessionId=d2e9a9287f5648fc921212a0230f2eb5&counterToMakeURsUniqueAndSoStopPageCachingInTheBrowser=1530146840266&sequenceNumber=0 из-за проверок контроля доступа.

Есть ли способ обойти это?

Примечания: - если я пытаюсь использовать use *firefox или *chrome, я получаю:

18: 01: 17.623 INFO - Подготовка профиля Firefox ... 18: 01: 39.160 ОШИБКА -Не удалось запустить новый сеанс браузера, закрыть браузер и очистить все данные сеанса java.lang.RuntimeException: истекло время ожидания для создания профиля!

Обратите внимание, что в сообщении указано Подготовка Firefox профиль, пытаюсь ли я использовать * firefox ИЛИ * chrome

1 Ответ

0 голосов
/ 28 июня 2018

Ух ты, я вернулся из кроличьей норы. Чтобы запустить мои тесты Selenium на Mac OSX, мне нужно было сделать следующее:

  1. используйте драйвер *googlechrome
  2. Установите расширение Java Cryptography в мой JRE / JDK: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
  3. передать следующее значение свойства в maven: mvn integration-test -Dmaven.wagon.http.ssl.insecure=true
  4. добавить следующую конфигурацию к selenium-maven-plugin:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>selenium-maven-plugin</artifactId>
            <configuration>
                <trustAllSSLCertificates>true</trustAllSSLCertificates>
                ...
    
...