Red. xml интеграция с Jenkins - Ошибка импорта модуля Throwing - PullRequest
2 голосов
/ 08 февраля 2020

Это первый раз, когда мы пытаемся выполнить код фреймворка робота (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

Примечание:

  1. Наш код положить в Git Репозиторий

  2. Мы пытаемся выполнить скрипт с общего сервера, но не из локальной системы

Ниже приведены ссылки я исправил свой код, но не помог, поскольку наш сценарий указывает c на красный. xml.

Непрерывная интеграция с Jenkins - пояснения

Ошибка Jenkins: интеграция Powershell с Jenkins

Интеграция GitHub с Jenkins

Воспроизводимые шаги:

Позвольте мне дать простые воспроизводимые шаги для выполнения сценария .bat в локальной системе,

  1. Разработано Java файлов ключевых слов и экспортировано как TRB.jar. Например, создано Ключевое слово "Запустить браузер". Это ключевое слово было названо в разделе «Настройки» в файле робота. enter image description here

enter image description here 2. Этот файл JAR TRB сопоставлен / настроен в Red. xml Java Путь / Библиотеки для файл .robot с именем 'RegressionTest-France.robot' enter image description here 3. Отобразил внешние банки, такие как Selenium- java, Selenium-Server-Standalone, робот framework-selenium2Library- java в Classpath Примечание: Мы можем успешно выполнить файл .robot при выполнении через eclipse

Ниже были выполнены шаги, чтобы выполнить то же самое. файл робота с использованием скрипта .bat

Создан pom. xml со всеми зависимостями. На рисунке ниже показана информация об упаковке enter image description here

Создан файл .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.

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

...