Создайте новый класс и каталог java и обновите файлы с помощью IntelliJ
С помощью IntelliJ создайте новый класс java и новый каталог, а также настройте другие файлы сборки.
Подготовка
Выполните шаги, описанные в следующей задаче: Настройте файлы сборки с помощью InteliJ.
Процедура
-
Создайте новый класс Java, щелкните правой кнопкой мыши пакет com.automationanywhere.botcommand и выберите Новый > класс Java. Введите имя нового класса GetFileDetails.
-
Скопируйте
@BotCommand
из файла Concatenate. java и вставьте его в новый файл GetFileDetails.java.import static com.automationanywhere.commandsdk.model.DataType.STRING; //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 = "concatenate", label = "[[Concatenate.label]]", node_label = "[[Concatenate.node_label]]", description = "[[Concatenate.description]]", icon = "pkg.svg", //Return type information. return_type ensures only the right kind of variable is provided on the UI. return_label = "[[Concatenate.return_label]]", return_type = STRING, return_required = true) public class Concatenate { //Messages read from full qualified property file name and provide i18n capability. private static final Messages MESSAGES = MessagesFactory .getMessages("com.automationanywhere.botcommand.samples.messages"); //Identify the entry point for the action. Returns a Value<String> because the return type is String. @Execute public Value<String> action( //Idx 1 would be displayed first, with a text box for entering the value. @Idx(index = "1", type = TEXT) //UI labels. @Pkg(label = "[[Concatenate.firstString.label]]") //Ensure that a validation error is thrown when the value is null. @NotEmpty String firstString, @Idx(index = "2", type = TEXT) @Pkg(label = "[[Concatenate.secondString.label]]") @NotEmpty String secondString) { //Internal validation, to disallow empty strings. No null check needed as we have NotEmpty on firstString. if ("".equals(firstString.trim())) throw new BotCommandException(MESSAGES.getString("emptyInputString", "firstString")); if ("".equals(secondString.trim())) throw new BotCommandException(MESSAGES.getString("emptyInputString", "secondString")); //Business logic String result = firstString + secondString; //Return StringValue. return new StringValue(result);
-
Обновите параметры @CommandPkg, такие как:
Имя
,метка
,node_label
,описание
изначок
. -
Обновите return
_label
и return_type
. -
Добавьте
действие NumberValue, внутреннюю проверку, бизнес-логику, и возвращаемое значение.
- Удалите объединенный файл Java и базовый каталог samples.commands, а также каталог sample.commands .
-
Скопируйте
-
Настройте файл en_US.json: Перейдите в src > главная > ресурсы > locales > en_US.json и добавьте следующие поля после значений метки и описания и удалите другие параметры из файла.
{ "label": "File Details", "description": "Returns basic file details", "GetFileDetails.label": "File Size", "GetFileDetails.description": "Return the size of the selected file in bytes", "GetFileDetails.node_label": "File Size in Bytes", "GetFileDetails.return_label": "File Size", "GetFileDetails.return_label_description": "Return in bytes", "GetFileDetails.filePath.label": "Select a File for analysis" }
- Delete packages: Перейдите в src > Main > java > com.automationanyhwere.botcommand, удалите samples.commands и удалите пакеты samples.
-
Импортируйте новые значки из Github и обновите аннотацию CommandPkg.
- Скачайте все значки, которые вы хотите использовать в потоке бот, и сохраните их как файлы .svg .
- Скопируйте файлы изображений в > > > папку значков основных ресурсов src.
-
Создайте новый каталог: Перейдите в src, щелкните правой кнопкой мыши и выберите Новый > каталог.
-
В поле Имя введите test\java. Или выберите
тест\java
и введите имя TestFileSize. - Настройте тестовые аннотации в классе TestFileSize java.
-
Создайте
публичный класс @test, создайте
объект GetFileDetails и запустите действие.
- Необязательно: Запустите TestGetFileDetails в IntelliJ, чтобы проверить его.
-
В поле Имя введите test\java. Или выберите
-
Настройте файл TestFileSize, откройте TestFileSize , скопируйте и вставьте следующий код:
{ @Test public void TestGetFileDetails() { String filePath = "src\\main\\resources\\icons\\sample.svg"; //Create GetFileDetails Object GetFileDetails getFileDetails = new GetFileDetails(); //invoke action NumberValue output = getFileDetails.action(filePath); Assert.assertEquals(output.getAsDouble(), 5027.0); }
- Сохранить проект: Файл > Сохранить все.
- Нажмите Перезагрузить все проекты Gradle, затем нажмите выполнить задачу Gradleи убедитесь, что выбран проект A2019FileDetails .
-
В окне выполнить что-либо введите gradle Clean build shadowJar.
После запуска отображается следующее сообщение: ПОСТРОЕНИЕ ПРОШЛО УСПЕШНО за 8 секунд <количество секунд>