2014-12-03 2 views
0

아무도 문제의 원인을 설명해 주시겠습니까?squish 자동화 도구에 대한 javascript의 창 기본 키 입력


유형 (waitForObject ("주소록 - Unnamed.File_QTableWidget"), "");

var Forename = testData.field (record, "Forename");

유형 (waitForObject (": 주소록 - 이름. 파일 _QTableWidget"), Forename);


testdata로 : 뒤따라야 값이 'ABCD'

그러나 응용 프로그램이 아니라 전체 텍스트 만 입력입니다.

입력 데이터의 첫 번째 문자 만 입력하는 이유는 무엇일까요?

답변

0

"유형"방법은 한 번에 하나의 값만 입력/고려합니다. 나머지

봅니다 유형 값 parementer에 지정된 전체 문자열을 입력해야합니다

type(waitForObject(":Address Book - Unnamed.File_QTableWidget"), 'A'); 
type(waitForObject(":Address Book - Unnamed.File_QTableWidget"), 'B'); 
type(waitForObject(":Address Book - Unnamed.File_QTableWidget"), 'C'); 

다른 번갈아

nativeType("Hello") 

또는

button = findObject("Addressbook.ABCentralWidget1.AddButton") 
button.setText("ABCD") 
0

있는 시간이 편지를 입력 무시 : 주소록 - 이름 .File_QTableWidget 필드에.

주소록 - 이름이없는 파일 _ 이름 태블릿? 그것은 Squish 샘플 주소록 AUT에서 위젯으로 보입니다.

유형() 및 testData.field 기능을 사용하여 샘플 스크립트

function invokeMenuItem(menu, item) 
{ 
    activateItem(waitForObjectItem("{type='QMenuBar' visible='true'}", menu)); 
    activateItem(waitForObjectItem("{type='QMenu' title='" + menu + "'}", item)); 
} 


function addNameAndAddress(oneNameAndAddress) 
{ 
    invokeMenuItem("Edit", "Add..."); 
    var fieldNames = new Array("Forename", "Surname", "Email", "Phone"); 
    for (var i = 0; i < oneNameAndAddress.length; ++i) { 
     var fieldName = fieldNames[i]; 
     var text = oneNameAndAddress[i]; 
     type(waitForObject(":" + fieldName + ":_QLineEdit"), text); 
    } 
    clickButton(waitForObject(":Address Book - Add.OK_QPushButton")); 
} 


function checkNameAndAddress(table, record) 
{ 
    waitForObject(table); 
    for (var column = 0; column < testData.fieldNames(record).length; ++column) 
     test.compare(table.item(0, column).text(), // New addresses are inserted at the start 
        testData.field(record, column)); 
} 


function closeWithoutSaving() 
{ 
    invokeMenuItem("File", "Quit"); 
    clickButton(waitForObject(":Address Book.Cancel_QPushButton")); 
} 


function main() 
{ 
    startApplication("addressbook"); 
    var table = waitForObject(":Address Book_QTableWidget"); 
    invokeMenuItem("File", "New"); 
    test.verify(table.rowCount == 0); 
    var limit = 10; // To avoid testing 100s of rows since that would be boring 
    var records = testData.dataset("MyAddresses.tsv"); 
    for (var row = 0; row < records.length; ++row) { 
     var record = records[row]; 
     var forename = testData.field(record, "Forename"); 
     var surname = testData.field(record, "Surname"); 
     var email = testData.field(record, "Email"); 
     var phone = testData.field(record, "Phone"); 
     table.setCurrentCell(0, 0); // always insert at the start 
     addNameAndAddress(new Array(forename, surname, email, phone)); 
     checkNameAndAddress(table, record); 
     if (row > limit) 
      break; 
    } 
    test.verify(table.rowCount == row + 1); 
    closeWithoutSaving(); 
}