2012-02-11 4 views
0

Я пытаюсь UITesting для iPhone, и я думал, что буду использовать простой калькулятор rpn из лекции 2 класса stsford cs193p iTunes U для запуска моих первых тестов.iphone UITesting кнопка, которая является номером

мой Javascript выглядит следующим образом

var target = UIATarget.localTarget(); 

target.frontMostApp().mainWindow().buttons()["3"].tap(); 
target.frontMostApp().mainWindow().buttons()["Enter"].tap(); 
target.frontMostApp().mainWindow().buttons()["4"].tap(); 
target.frontMostApp().mainWindow().buttons()["/"].tap(); 

var display = target.frontMostApp().mainWindow().staticTexts()[1].value(); 
if (display == "0.75") { 
    UIALogger.logPass("3 E 4 /"); 
} else { 
    UIALogger.logFail("3 E 4 /"); 
} 

Однако сценарий запускает грех ввести соз/ В редакторе журнала он показывает

target.frontMostApp().mainWindow().buttons()[3].tap(); 
target.frontMostApp().mainWindow().buttons()["Enter"].tap(); 
target.frontMostApp().mainWindow().buttons()[4].tap(); 
target.frontMostApp().mainWindow().buttons()["/"].tap(); 

Так или иначе инструментов является преобразование моих строк «3» в индекс 3, а затем нажмите третью кнопку.

Так что я мог бы называть кнопки по их номеру индекса, но я бы предпочел называть их своим текстом.

ответ

1

Это ограничение с использованием скобок для доступа к данным UIAElementArray, которые относятся к числу индексов. . 8- (

Вместо просто добавьте firstWithName():

target.frontMostApp().mainWindow().buttons().firstWithName("3").tap(); 

См UIAElementArray Class Reference