Mam aplikację na iPhone'a, która przeszukujebox i UITableView z niestandardowymi UITableViewCells. Ta tabela załadowana wynikami wyszukiwania po wprowadzeniu przez użytkownika słowa wyszukiwania i dotknij wyszukiwania. Muszę przetestować wyniki wyszukiwania za pomocą MonkeyTalk. (używając skryptu MonkeyTalk lub jego wersji JavaScript). Chcę pobrać / sprawdzić, czy druga etykieta pierwszego CustomUITableViewCell zawiera tekst wyszukiwania bez wybierania komórki.
Do tej pory jestem w stanie uzyskać liczbę elementów z każdej sekcji tabeli za pomocą
var count = app.table().get("count", "size(sectionNo)"); //java script version
i „mogę z powodzeniem pobrać tytuł lub szczegółowy tekst domyślnego UITableViewCells
var data = app.table().get("data","item(CellNo)"); //java script version
Table * Verify "searchTerm" item(CellNo) #monkey script version
Chcę wiedzieć, jak robię to samo z niestandardowym UITableViewCell?
Właściwości tabeli MonkeyTalk odniesienie:
Odpowiedzi:
1 dla odpowiedzi № 1Znalazłem sposób, aby to zrobić.
Najpierw otwórz kod źródłowy projektu xcode, z bokuMetoda UITableviewDelegate „cellForRowAtIndexPath” (gdzie konfigurujemy każdą komórkę) skonfiguruj właściwość „accessibilityLabel” dla etykiety, którą chcesz zweryfikować / uzyskać za pomocą automatycznego testu.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
........
........
cell.searchItemTitle.text = item.title;
cell.searchItemDescription.text = item.description;
cell.searchItemTitle.accessibilityLabel = @"cellTitleLabel";
........
........
return cell;
}
oczyścić i zbudować z celem testowym. w skrypcie monkeytalk możesz uzyskać dostęp do właściwości za pomocą accessibilityLabel name
Label "cellTitleLabel" Verify "apple" ".text" #monkeytalk script
app.label("cellTitleLabel").verify("apple", ".text"); //java script version
Uwaga: nie trzeba myśleć o tabeli lub informacji o sekcji. zidentyfikuje Label z monkeyId "cellTitleLabel" i jeśli chcesz uzyskać dostęp do tytułu titleLabel drugiej komórki tej samej tabeli, możesz użyć MonkeyId "cellTitleLabel (2)" i dla trzeciej komórki monkeyId "cellTitleLabel (3)" ..
jeśli macie lepsze rozwiązania, dodajcie je tutaj Dzięki.. Chathura