# robotframework-sikulixlibrary **Repository Path**: mirrors_RaiMan/robotframework-sikulixlibrary ## Basic Information - **Project Name**: robotframework-sikulixlibrary - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-25 - **Last Updated**: 2025-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # robotframework-sikulixlibrary The all new, modern, SikuliX Robot Framework library for Python 3.x, based on JPype Python module. [JPype](https://github.com/jpype-project/jpype) is a Python module to provide full access to Java from within Python, and this library is a wrapper to SikuliX that is exposing Java functions as Robot Framework keywords. While in the past the only approach to use Sikuli functionality within Robot Framework was through Remote Server with XML RPC interface, the aim of this library is to replace that approach and make it a lot easier to use SikuliX within Robot Framework projects with a simple Library statement (i.e. no need to start remote server and so on). Also with this implementation is very easy to extend the library with new custom keywords, for example with the purpose to create migration classes to help migrate from current Sikuli libraries or other image recognition alternatives. For practical examples check migrate folder. See [keyword documentation](https://adrian-evo.github.io/SikuliXLibrary.html). # Installation instructions (Windows) 1. Python 3.5 or newer, as supported by JPype 2. JPype 1.2 or newer and JPype project dependencies as explained on project page: https://github.com/jpype-project/jpype - Install Java 8 or newer - While not mentioned on JPype page, on a new Windows 10 machine also Visual C++ Redistributable 2015 and newer are needed (e.g. vc_redist.x64.exe) 3. SikuliX as a standalone jar from project page: https://raiman.github.io/SikuliX1/downloads.html - Put jar file in any local directory (e.g. C:\sikulix\sikulix.jar) - Recommended to use environment variable SIKULI_HOME that point to sikulix local directory 4. `pip install robotframework-sikulixlibrary` # Examples ### Testing with [Robot Framework](https://robotframework.org) ```RobotFramework *** Settings *** Library SikuliXLibrary *** Test Cases *** Example Test imagePath add ${my_path} settings set MinSimilarity ${0.9} app open C:/Windows/System32/notepad.exe region wait iNotepad.PNG region paste Welcome! ``` ### Testing with [Python](https://python.org). ```python from SikuliXLibrary import * lib = SikuliXLibrary() lib.imagePath_add('my_path') lib.settings_set('MinSimilarity', float(0.9)) lib.app_open("C:\\Windows\\System32\\notepad.exe") lib.region_wait('iNotepad') lib.region_paste('Welcome!) ``` # Testing Git clone and execute runtest.bat to run all *.robot files from within test directory, or run individual robot files. Additionally, debugging with Robot Editor - RED (https://github.com/nokia/RED) is also possible with this library, for both Robot Framework and Pyton code. # Supported Operating Systems 1. Windows 10 - supported, tested 2. OSX - SikuliX works under OSX, however currently there are issues with JPype generally working under OSX: https://github.com/jpype-project/jpype/issues/911 3. Linux - supported, tested with Ubuntu 20.04 and leafpad application - tested with: python3.8, default-jre (openjdk-11-jre), libopencv4.2-java as explained on SikuliX support page, gnome-panel, `pip install robotframework-sikulixlibrary` - obviously images from test/img directory needs to be regenerated for the application of choice, adjust SikuliX path in .robot file and use `app open leafpad` instead. - start the tests with e.g. `python -m robot --outputdir results/ubuntu test_defaultlibrary.robot`