Это первый раз, когда мы пытаемся выполнить код фреймворка робота (Red. xml), используя скрипт Shell. Нужно, чтобы этот сценарий выполнялся в Jenkins, но перед этим мы пытались выполнить в локальной системе правильность написанного сценария. Неизвестно, как скрипт вызывает jar-файлы нашего экспортированного java кода. В основном сценарий испытывает затруднения при чтении папки KTO C, в которой хранится код java.
Ниже приведена ошибка, полученная при выполнении сценария.
[ ERROR ] Error in file 'C:\Users\k64066262\rep\KTOC-TRB-Automation\KTOC_TRB_TestAutomation\TestSuites\RegressionTest_France.robot': Importing test library 'com.KTOC.TRB.testautomation.Keywords.Keywords' failed: ImportError: No module named KTOC
RegressionTest France
==============================================================================
Verify Tender Created Successfully | FAIL |
Parent suite setup failed:
No keyword with name 'Launch Browser' found.
Файл робота содержит следующие настройки:
*** Settings ***
Library com.KTOC.TRB.testautomation.Keywords.Keywords
Resource ../ResourceFiles/TRB_Keywords.txt
Variables ../FrontlinesTRB/TRB-env.py
Variables ../FrontlinesTRB/France.py
Suite Setup Launch Browser ${OperatingSystem}
Suite Teardown Close Browser
Ниже приведен скрипт, который мы пытались выполнить,
C:\Users\k64066262\rep\KTOC-TRB-Automation>java -cp target\KTOC-TRB-automation-1.0-SNAPSHOT-jar-with-dependencies.jar;robotframework-3.0.2.jar -Dwebdriver.chrome.driver=chromedrivers\chromedriver.exe -Dheadless=false org.robotframework.RobotFramework --variablefile KTOC_TRB_TestAutomation\FrontlinesTRB\France.py --variablefile KTOC_TRB_TestAutomation\FrontlinesTRB\TRB-env.py KTOC_TRB_TestAutomation\TestSuites\RegressionTest_France.robot
Нам все еще неясно, какой сценарий мы фактически скопировали из какого-то другого поста и попытались выполнить. Этот раздел нашего скрипта java -cp target\KTOC-TRB-automation-1.0-SNAPSHOT-jar-with-dependencies.jar;robotframework-3.0.2.jar -
довольно запутанный.
Мы экспортировали весь наш код java, связанный с этим выполнением, в jar с именем "TRB.jar". Как скрипт получает доступ к файлу jar? Где в моем скрипте я должен указать jar "TRB.jar", чтобы система могла использовать мой код с ключевым словом Launch Browser
Примечание:
Наш код положить в Git Репозиторий
Мы пытаемся выполнить скрипт с общего сервера, но не из локальной системы
Ниже приведены ссылки я исправил свой код, но не помог, поскольку наш сценарий указывает c на красный. xml.
Непрерывная интеграция с Jenkins - пояснения
Ошибка Jenkins: интеграция Powershell с Jenkins
Интеграция GitHub с Jenkins
Воспроизводимые шаги:
Позвольте мне дать простые воспроизводимые шаги для выполнения сценария .bat в локальной системе,
- Разработано Java файлов ключевых слов и экспортировано как TRB.jar. Например, создано Ключевое слово "Запустить браузер". Это ключевое слово было названо в разделе «Настройки» в файле робота.
2. Этот файл JAR TRB сопоставлен / настроен в Red. xml Java Путь / Библиотеки для файл .robot с именем 'RegressionTest-France.robot' 3. Отобразил внешние банки, такие как Selenium- java, Selenium-Server-Standalone, робот framework-selenium2Library- java в Classpath Примечание: Мы можем успешно выполнить файл .robot при выполнении через eclipse
Ниже были выполнены шаги, чтобы выполнить то же самое. файл робота с использованием скрипта .bat
Создан pom. xml со всеми зависимостями. На рисунке ниже показана информация об упаковке
Создан файл .bat для сборки кода с именем 'Build. bat 'Ниже приведен скрипт, который мы использовали внутри файла bat, сборка прошла успешно и был создан файл jar с именем target
call mvn clean call mvn assembly:assembly -DdescriptorId=jar-with-dependencies
Создан .bat файл (с именем 'test.bat') для выполнения RegressionTest-France.robot, в котором использовался приведенный ниже скрипт.
java -cp target\nemo-test-automation-1.0-SNAPSHOT-jar-with-dependencies.jar;robotframework-3.0.2.jar -Dwebdriver.chrome.driver=chromedrivers\chromedriver.exe -Dheadless=false org.robotframework.RobotFramework --log logs/FranceLog.html --report Reports/FranceReport.html --output outputs/France.xml --exitonfailure --variablefile KTOC_TRB_TestAutomation\FrontlinesTRB\France.py --variablefile KTOC_TRB_TestAutomation\FrontlinesTRB\TRB-env.py KTOC_TRB_TestAutomation\TestSuites\RegressionTest_France.robot
Этот скрипт это то, что выкидывает ошибку импорта модуля. Не уверены, как этот скрипт вызывает файл TRB.jar.
Для получения более подробной информации, вы можете получить доступ к коду в этой ссылке