2016-06-10 77 views
6

Çalıştığım tablonun bir resmidir. Bir etiketin UITest rengi (UI etiketi değil)

enter image description here

Sadece (gri) veya "Taslak" (turuncu) "İstenen" rengini almaya çalışıyorum. Bir UILabel olsam label.textColor yapmak mümkün olacaktır (ı

var timeSheetStatus = 
    app.tables.element.cells.elementBoundByIndex(0).staticTexts.elementBoundByIndex(1).label 

tarafından "İstenen" veya "Taslak" fiili dizesini elde edebilmek değilim ama bu sadece bir dize değil, bir UILabel olduğunu İnanıyorum). Bu dizginin rengini nasıl alabilirim ki, bunun gerçekten gri veya turuncu olduğunu söyleyebilirim?

+0

bir etiket var. Bir dize arayüzde sadece sihirli bir şekilde görünemez; Bazı arayüz nesnesi tarafından çizilmelidir. – matt

+0

@matt Oh Üzgünüm, bunu birkaç gün önce başlayarak sıfırdan öğrenmeye başladım. Bu sorudaki kodun bir UILabel değil bir dize döndürdüğünü kastediyorum, bu yüzden bu elementin UILabel'inin nasıl çalışacağı konusunda kafam karıştı. – user3613290

+0

UILabel'in renk özniteliğine erişebileceğiniz UILabel'ın renklendirilmesi için bir birim testi yazmanız gerekecek. – Oletha

cevap

5

Korkarım ki bunu UI Testi ile yapamayacaksınız. Kullanıcı Arabirimi Testi, arabirimi yalnızca Erişilebilirliğin ortaya çıkardığı ölçüde "görebilir". Böylece metni "görebilir", ancak bu şeyin bir UILabel olduğunu "göremez"; UI Testi, bunun hiçbir şey bilmiyor. Böylece doğasını bir UILabel olarak keşfedemezsiniz.

0

Rengi doğrudan elde edemezsiniz, ancak etiketlerinizin doğru bir şekilde vurgulandığından emin olmak için UI'nızı test etmeniz gerekiyorsa, erişilebilirlik etiketinizi, vurgulandığı gibi renk veya bilgi gibi bilgileri içerecek şekilde ayarlayabilirsiniz.

Ayrıca, görme engelli kullanıcılar yine de rengi görmeyeceği için, uygulamanın kullanılabilirliğini artıracaktır. Daha sonra, en azından erişilebilirlik etiketinin doğru olduğundan emin olmak için testler yazabilirsiniz. Elbette geliştiricinin etiket rengini yeşil ve erişilebilirlik etiketini "sarı" hale getirme ihtimali var, ancak bu UI öğelerini sorgulamak için erişilebilirliği kullanma genel bir risk. Uygulama kodunuzda Örneğin

,: Elbette

myLabel.text = "Draft" myLabel.color = .yellow myLabel.accessibilityLabel = "Draft (Yellow)"

İlgili konular