создать собственный язык сценариев в настольном приложении Java? - PullRequest
1 голос
/ 22 июня 2010

У меня есть простое приложение для тестирования веб-приложений.Мне интересно, как я могу создать свой собственный язык сценариев для него (предметно-ориентированный язык).

Цель этого состоит в том, чтобы предложить очень интуитивно понятный сценарий даже для непрограммистов, и в состоянии определить детали сценария пользователя.

Надеюсь, это понятно, в основном вопрос в том, как мне создать простой в использовании язык сценариев, который можно переводить в код Java.

Возможно, они могут использовать IDE netbeanписать сценарии.

Для бывших)

Мой сценарий:

load "http://www.google.com";
click "Search" button;

Java-код:

browser.navigate("http://www.google.com";
browser.wait
browser.element("Search").click();

Ответы [ 2 ]

2 голосов
/ 22 июня 2010

Лучший инструмент / среда для языков, которые выходят за рамки очень простых грамматик, - это использовать ANTLR .Это полнофункциональная комбинация лексера и парсера, отличная интеграция с Java и множество примеров с хорошей документацией.

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

1 голос
/ 22 июня 2010

Лучшим решением было бы повторно использовать один из существующих языков сценариев для Java; например BeanShell . Реализация вашего собственного скриптового языка была бы большой работой. И если вы никогда не занимались проектированием и реализацией языка до того, как результаты, вероятно, будут «менее чем звездными».

Возможно, они могут использовать IDE netbean для написания сценариев.

Ожидание того, что пользователи вашего приложения (особенно непрограммисты) установят и используют конкретную среду разработки, звучит как очень плохая идея.

... это можно перевести на код Java.

Перевод на Java-код также усложняет ситуацию. Вероятно, лучше интерпретировать язык сценариев и получать доступ к API-интерфейсам Java, используя комбинацию статически типизированных вызовов методов и (только при необходимости) API-интерфейсов отражения Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...