tests/ide_tests/opcua_browse_encrypted.sikuli/opcua_browse_encrypted.py
author Edouard Tisserant <edouard.tisserant@gmail.com>
Tue, 15 Nov 2022 20:43:39 +0100
branchwxPython4
changeset 3677 6d9040e07c32
parent 3676 2f79540660f6
child 3679 b6bca75bf3fa
permissions -rw-r--r--
OPC-UA: only support the encryption policy selected in config.

By default open62541 client accepts all supported policies, but in makes problem
when negociating with some servers while most clients seems to only support
one policy at a time.
""" 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, AuxiliaryProcess

def test(app):

    server = AuxiliaryProcess(app, ["/bin/bash",os.path.join(getBundlePath(),"opcua_service.bash")])
    #server = AuxiliaryProcess(app, ["/bin/bash","-c","echo $PWD"])

    server.waitPatternInStdout("CERTS READY", 5)

    app.doubleClick("opcua_node.png")

    app.WaitIdleUI()

    # app.click("Browse Server") # OCR didn't work because of gradient in button...
    app.click("opcua_browse_server.png")

    app.WaitIdleUI()

    app.doubleClick("Objects")

    app.WaitIdleUI()

    app.doubleClick("TestObject")

    app.dragNdrop("TestIn", "output variables")

    app.wait(1)

    app.dragNdrop("TestOut", "input variables")

    app.wait(3)

    app.k.Clean()

    app.waitForChangeAndIdleStdout()

    app.k.Build()

    app.waitForChangeAndIdleStdout()

    app.k.Connect()

    app.waitForChangeAndIdleStdout()

    app.k.Transfer()

    app.waitForChangeAndIdleStdout()

    app.k.Run()

    # wait 10 seconds for 10 patterns
    res = app.waitPatternInStdout("6.8", 10)

    server.close()

    return res

run_test(test, testproject="opcua_browse_encrypted")