tests/ide_tests/debug_project.sikuli/debug_project.py
author Edouard Tisserant <edouard.tisserant@gmail.com>
Sun, 17 Jul 2022 22:46:26 +0200
changeset 3552 ffe4e46a3163
parent 3551 edf59ae145b7
child 3563 d2d2a11366b1
permissions -rw-r--r--
tests: recommanded build options for open62541 leads to infinite linking time when building PLC
""" This test opens, modifies, builds and runs exemple project named "python".
Test succeeds if runtime's stdout behaves as expected
"""

import os
import time

# allow module import from current test directory's parent
addImportPath(os.path.dirname(getBundlePath()))

# common test definitions module
from sikuliberemiz import run_test

def test(app):

    app.k.Clean()
    
    app.waitForChangeAndIdleStdout()
    
    app.k.Build()
    
    app.waitForChangeAndIdleStdout()
    
    app.k.Connect()
    
    app.waitForChangeAndIdleStdout()
    
    app.k.Transfer()
    
    app.waitForChangeAndIdleStdout()
    
    app.click("1646062660770.png")

    app.WaitIdleUI()
    
    app.click("1646066996789.png")

    app.WaitIdleUI()

    app.click("example")

    app.WaitIdleUI()

    app.type(Key.DOWN * 10, Key.CTRL)

    app.WaitIdleUI()

    app.k.Run()

    # wait up to 10 seconds for 10 Grumpfs
    app.waitPatternInStdout("Grumpf", 10, 10)

    app.rightClick("1646066996790.png")

    app.click("Force value")

    #app.type("a", Key.CTRL)

    app.type(Key.BACKSPACE)

    app.type("'sys.stdout.write(\"DEBUG TEST OK\\n\")'")

    app.type(Key.ENTER)
    
    # wait 10 seconds for 10 patterns
    return app.waitPatternInStdout("DEBUG TEST OK", 10)

run_test(test, exemple="python")