Ich schreibe einen UI-Test in Swift gegen eine iOS-App, die eine UITableView
mit einer benutzerdefinierten UITableViewCell
geladen von einer Feder enthält. Die Zelle enthält eine UIImageView
und eine UILabel
.UITest Query für UIImage innerhalb einer UITableViewCell
Wenn die Tabelle gerendert wird, gibt es keine XCUIElementQuery
, die das Bildelement findet. Wie können Sie während des UI-Tests auf ImageView zugreifen, um die Quelle des Bildes zu erfahren, das im Symbolfeld angegeben wurde?
class MyCell: UITableViewCell {
@IBOutlet var name: UILabel!
@IBOutlet var icon: UIImageView!
}
Das Bild erscheint nicht in app.images
, app.tables.cells.images
oder app.tables.cells.otherElements
. Es scheint, als ob die Bildsymbole nirgends in der UI-Hierarchie zu finden sind.
Ist Ihr UITableViewCell ein barrierefreies Element? Wenn dies der Fall ist, kann die UI-Hierarchie dort enden. Container sollten nicht zugänglich sein, zugängliche Elemente dürfen keine anderen zugänglichen Elemente enthalten. –
Die Eingabehilfe ist für die Zelle nicht aktiviert und es ist möglich, das Etikett in der Zelle zu sehen, nur nicht das Bild. – Adam
Wenn Sie barrierefreie Kennung für imageView setzen, können Sie ein Bild wie dieses finden "app.tables.cells.images [" identifier "]" und wenn Sie ein bestimmtes Zellensymbol des Indexes möchten, können Sie "app.tables.cells.elementBoundByIndex (index) .images ["identifier"] ", aber den Namen der Bilddatei in der Hierarchie können Sie nicht finden – Cruz