Ознакомиться с документацией Automation Anywhere

Automation Anywhere Automation 360

Закрыть содержимое

Содержимое

Открыть содержимое

Создайте и создайте пользовательский пакет с помощью IntelliJ

  • Обновлено: 4/05/2021
    • Automation 360 v.x
    • Сборка
    • Рабочая область RPA

Создайте и создайте пользовательский пакет с помощью IntelliJ

Используйте Java IntelliJ для компиляции JAR-файла, который можно загрузить как пакет в . Control Room Automation 360

Подготовка

Для создания пакета действий требуется базовое понимание JDK и Java IntelliJ. Убедитесь, что следующее программное обеспечение и файлы:

Процедура

  1. Распакуйте содержимое пакета SDK в каталог IdeaProjects и переименуйте папку с A2019-package-sdk-<номер версии> в MetricToImperial.
    По умолчанию пакет находится по адресу: C:\Users\<User>\IdeaProjects.
  2. В приложении IntelliJ IDEA откройте файл > и откройте проект в папке C:\Users\<User>\IdeaProjects\MetricToImperial.
  3. Откройте файл settings.gradle в корневом каталоге проекта. Установите значение rootProject.name = 'MetricToImperial'
  4. Обновите файл package.template, расположенный в файле src > Main > Resources > package.template.
  5. Измените имя пакета с A2019DemoPackage на MetricToImperial.
  6. Обновите имя пакета в locales json: перейдите к src > главная > ресурсы > locales > en_US.json.
    1. Откройте файл en_US.json и обновите поле требуемой метки с A2019DemoPackage до MetricToImperial. Обновите дополнительное описание.
    2. Удалите все остальные строки в файле en_US.json.
  7. Создайте новый класс Java, щелкните правой кнопкой мыши пакет metrictoimperial.commands и выберите Новый > класс Java. Введите имя нового класса CMtoINCH:
    1. Откройте класс CMtoINCH. Скопируйте и вставьте следующий код над оператором определения класса:
      import static com.automationanywhere.commandsdk.model.DataType.NUMBER;
      //BotCommand makes a class eligible for being considered as an action.
      @BotCommand
      //CommandPks adds required information to be dispalable on GUI.
      @CommandPkg(
              //Unique name inside a package and label to display.
              name = "CM to Inch", label = "[[CMtoINCH.label]]",
              node_label = "[[CMtoINCH.node_label]]",  description = "[[CMtoINCH.description]]", icon = "ruler_icon.svg",
              //Return type information. return_type ensures only the right kind of variable is provided on the UI.
              return_label = "[[CMtoINCH.return_label]]", return_type = NUMBER, return_required = true)
    2. В классе CMtoINCH скопируйте и вставьте следующий код:
    //Identify the entry point for the action. Returns a Value<String> because the return type is String.
    @Execute
    public NumberValue action(
            //Idx 1 would be displayed first, with a text box for entering the value.
            @Idx(index = "1", type = AttributeType.NUMBER)
            //UI labels.
            @Pkg(label = "[[CMtoINCH.CMInput.label]]")
            //Ensure that a validation error is thrown when the value is null.
            @NotEmpty
                    Double CMInput) {
        //Internal validation, to disallow empty inputs. No null check needed as we have NotEmpty on CMInput.
        if ("".equals(CMInput.toString().trim()))
            throw new BotCommandException("Input of CM is required");
        Number result;
        try {
            //Conversion logic
            result = CMInput * 0.393701;
        } catch (Exception e) {
            //Throw custom error message
            throw new BotCommandException("Unable to convert " + CMInput.toString() + "cm to inches");
        }
        //Return NumberValue.
        return new NumberValue(result);
    Код автоматически импортирует пространства имен на основе аннотаций и типов данных.

    Чтобы вручную импортировать пространства имен, выберите выделенную строку и нажмите эти клавиши одновременно Alt и клавишу ввода.

  8. Настройте файл en_US.json, перейдите в src > главная > ресурсы > locales > en_US.json и добавьте следующие поля после значений метки и описания:
    "CMtoINCH.label" : "cm to inches",
    "CMtoINCH.node_label": "cm to inches",
    "CMtoINCH.description" : "Convert centimeters to inches",
    "CMtoINCH.return_label" : "Assign the Output in Inches to a Number Variable",
    "CMtoINCH.CMInput.label" : "Centimeters to Convert to Inches"
  9. Удалите образцы пакетов, перейдите в src > Main > java > com.automationanyhwere.botcommand, удалите samples.commands и удалите пакеты образцов.
  10. Обновите аннотацию CommandPkg. Загрузите иконки с сайта Github.
    1. Загрузите файл Ruler_icon.svg из github и щелкните правой кнопкой мыши на изображении и сохраните его как Ruler_icon.svg.
    2. Загрузите iconwhite.svg из github, щелкните правой кнопкой мыши изображение и сохраните изображение iconwhite.svg.
    3. Скопируйте оба файла в > > > папку значков основных ресурсов src.
  11. Откройте файл build.gradle в корневом каталоге проекта. После раздела зависимостей, но перед последним закрывающим тегом скопируйте и вставьте следующий код:
    test {
       testLogging {
          exceptionFormat = 'full'
       }
       useTestNG() {}
    
       afterSuite { desc, result ->
          if (!desc.parent)
             println("${result.resultType} " +
                   "(${result.testCount} tests, " +
                   "${result.successfulTestCount} successes, " +
                   "${result.failedTestCount} failures, " +
                   "${result.skippedTestCount} skipped)")
       }
       maxHeapSize "3g"
    }
  12. Создайте новый каталог, щелкните правой кнопкой мыши src и выберите Создать > каталог.
    1. В поле Имя введите test\javaили выберите предложение test\java из наборов источников Gradle.
    2. Создайте новый пакет, щелкните правой кнопкой мыши каталог java и выберите Создать > пакет.
    3. Введите имя нового пакета: com.automationanywhere.botcommand.metrictoimperial.commands.
  13. Создайте новый класс Java, щелкните правой кнопкой мыши и выберите Новый > класс Java. Введите имя нового класса CMtoINCHTest.
    В классе CMtoINCHTestскопируйте и вставьте следующий код:
    @Test
    public void testCMtoINCH(){
        Double validInput = 10.00;
        Double expectedOutput = 0.393701 * validInput;
        CMtoINCH testCM = new CMtoINCH();
        Value<Double> result = testCM.action(validInput);
        Assert.assertEquals(result.get(), expectedOutput);
    }
  14. Сохраните файл проекта > Сохранить все.
  15. Создайте пакет.
    Можно использовать интерфейс пользователя IntelliJ или командную строку. При использовании командной строки:
    1. Откройте окно терминала и перейдите в каталог MetricToImperial и введите: cd "%USERPROFILE%\IdeaProjects\MetricToImperial"
    2. Чтобы построить проект, введите следующую команду: gradlew.bat CLEAN build shadowJar
    Появится сообщение О ТОМ, ЧТО СБОРКА ВЫПОЛНЕНА УСПЕШНО.

    Иногда сборка может завершиться сбоем, так как существующие файлы не могут быть автоматически удалены, и появляется системное сообщение, указывающее на сбой выполнения задачи: Очистка. В этом случае закройте окна проводника и запустите сборку еще раз.

Дальнейшие действия

Добавьте пользовательский пакет в Control Room
Отправить отзыв