- Programmatic Usage (i.e. RemoteServer used as library in your application / runtime)
- Service inside ASP.NET (i.e. RemoteServer added as service to your ASP.NET server)
- Standalone Server (i.e. You launch the default RemoteServer executable)
- Dependency (i.e. You add the RemoteServer as NuGet package)
- Status Page informing about loaded libraries and their keywords
- Robot Framework Library Documentation Format for each loaded Library
- Robot Framework => RemoteServer (i.e. serialized parameters from RF)
- General type support for parameters in keyword methods (all RF-supportable standard types of C# should be usable in keyword methods)
- Python type conversions to parameter type of keyword method
- Regular python types
-
None -
string -
int -
float -
bool
-
- Special types
-
list, tuple- Handle regular python element types (listed above)
- Handle nested
list, tuple - Handle nested
dict - other special cases to consider to be added here
-
dict- Handle regular python value types (listed above)
- Handle text keys (
string) - Handle numeric keys (
int,float) - Handle
objectkeys - other special cases to consider to be added here
-
- Regular python types
- RemoteServer => Robot Framework (i.e. return values serialized to RF)
- special types
-
null -
void -
dynamic -
object -
DateTime -
enum
-
- Symbol types
-
char -
string
-
- numeric types
-
int -
uint -
short -
ushort -
float -
double -
decimal -
ulong -
byte -
sbyte
-
- collection types
- based on
IListorICollection-
Array -
ArrayList -
List<T> -
Queue -
ConcurrentQueue<T> -
LinkedList<T>
-
- based on
IDictionary-
Hashtable -
SortedList -
SortedList<TKey, TValue> -
Dictionary<string, TValue> -
Dictionary<TKey, TValue> -
ConcurrentDictionary<TKey, TValue>
-
- based on
- special types
- Static API Library
- Dynamic API Library
- PASS
- FAIL
- CONTINUABLE
- FATAL
- Exceptions
- Traceback
- Logging
- Finding keywords
- Library Attributes
- Keyword Attributes
- Support positional arguments
- Support kwargs
- Support variable arguments
- Support method overloading
- Support library class inheritance
- Support keyword documentation
- Support keyword tags
- Support code documentation
- Data type serialization
- Robot Framework Remote-Library-Interface specification
-
run_keyword() -
get_keyword_names -
get_keyword_arguments -
get_keyword_types -
get_keyword_tags -
get_keyword_documentation -
get_library_information
-
- Controls from Robot Framework
- Start server
- Stop server
- Controls in C#
- Configure start / stop functionality (Allow)
- Configure port (i.e. usage method in C# allows setting a server port)
- Configure logging
- Merging strategy
- Dependency management
- XML-RPC packages
- Unit test framework
- Robot Framework package for remote testing
- Logging Framework
- NuGet-Packages
- Sdk.props
- Sdk.targets
- Standalone server (executable)
- Windows
- Linux
- Standalone server (Docker image)
- Windows
- Linux
- Testautomation
- Release Notes
- Performance testing
- Verify Remote Server features
- Start server
- Stop server
- Argument type conversion
- Return value type conversion
- Finding keywords
- Variable arguments
- kwargs
- Logging
- Traceback
- Keyword status (PASS, FAIL, ...)
- Verify Static Library features
- Verify Dynamic Library features
- Code structure
- Architecture
- Wiki hosting
- Getting started
- FAQ
- Example programmatic usage
- Example ASP.NET service
- Example Standalone server
- Example NuGet usage
- Example Static Library
- Example Dynamic Library
- Example Robot Framework Usage
- Example Library Documentation
- Issue templates
- Issue tags
- Codestyle
- Feedback loop (GitHub Discussions)
- C# Language versions
- .NET Core version updates
- Dependency management
- Refactor cycles
- Sponsoring (recurring)
- Sponsoring (single-donation)
- Robot Framework Logo Usage?
- Appropriate copyright?
- Project Name
- Project Logo
- README
- Repository tags
- RoboCon 2025 Material
- Presentation slides
- Hosted Live Demo Server
- DevContainer for VSCode