QT Quick Test KeyClicks

时间:2018-12-28 20:41:04

标签: qt qml

我正在尝试使用shift修饰符实现keyClick,但是它不起作用。以下是我要执行的操作的基本设置。第一个test_case1可以执行我的工作,但我希望第二个test_case2也可以使用Qt.ShiftModifier来工作。

../MyTextBox.qml

Page {
    id: page1
    objectName: "page1"

    TextField {
        id: lastNameField
        objectName: "lastNameField"
        text: qsTr("")
    }
}

tst_page.qml

import "../"

Item {
    width: 800
    height: 600

    MyTextBox {
        id: page1
    }

    TestCase {
        id: "txtBox"
        when: windowShown

            function test_case1 () {
                //var qmlObj = findChild(page1, "lastNameField")
                var qmlObj = page1.lastNameField
                // Bring to focus
                mouseClick(qmlObj, Qt.LeftButton, Qt.NoModifier)
                // Keypress
                keyPress("Y")
                keyPress("e")
                keyPress("s")

                tryCompare(qmlObj, "text", "Yes") // pass
            }    

            function test_case2 () {
                var qmlObj = page1.lastNameField
                // Bring to focus
                mouseClick(qmlObj, Qt.LeftButton, Qt.NoModifier)
                // Keypress
                keyClick(QT.Key_Y, Qt.ShiftModifier)
                keyClick(QT.Key_E)
                keyClick(QT.Key_S)

                tryCompare(qmlObj, "text", "Yes") // fail
            }  
     }         
}

test output

PASS   : test_case1()
FAIL!  : test_case2()
   Actual    (): yes
   Expected  (): Yes

编辑:在github上添加了simple project进行测试。

0 个答案:

没有答案