iOS Otomasyon Testi ile Xcode Kullanıcı Arayüzü Çerçevesi
⚡ Akıllı Özet
iOS otomasyon testleri ile Xcode Test edilen bir uygulama üzerindeki kullanıcı arayüzü eylemlerini, tasarım, test, uygulama ve tekrar test etme döngüsünü izleyerek, her durum başarılı olana kadar kaydeder ve yeniden oynatır.
iOS Otomasyon Testi kullanarak Xcode
iOS uygulamanızın kalitesini garanti altına almak için, aşağıdaki şekilde gösterilen test odaklı geliştirme sürecini izlemelisiniz.
Test Odaklı Geliştirme (TDD) bir test yapmak iOS uygulama testlerinde kullanılan ve daha geniş kapsamlı uygulamaların içinde yer alan bir modeldir. mobil testBu modelde, bir test uzmanının aşağıdaki 4 aşamayı takip etmesi gerekmektedir:
- Tasarım: Neyi test etmek istediğinizi belirleyin ve test senaryolarınızı tasarlayın.
- Testi: Tüm testleri çalıştırın ve herhangi bir test senaryosunun başarısız olup olmadığını kontrol edin.
- Uygulanışı: RevKodunuzu kullanın ve testin başarısız olmasına neden olan hataları düzeltin.
- Tekrar test edin: Bir test başarısız olursa, tasarıma geri dönün. Tüm test durumları başarılı olursa, kod test edilen tüm gereksinimleri karşılar.
Kurma Xcode Kullanıcı Arayüzü Testi Projesi
Bir iOS test programı oluşturmak için bir Mac'e ihtiyacınız var. Mac'inizde aşağıdakilerin zaten yüklü olması gerekir:
- OS X — Mac için işletim sistemi.
- Xcode IDE — iOS için geliştirme aracı.
- Otomatik test çerçevesi — Kullanıcı Arayüzü Otomasyonu, OCUnit ve benzeri.
- iOS SDK 4 veya daha yüksek.
⚠️ Sürüm notu: Yukarıdaki ön koşullar, aşağıdaki iki kılavuzun yazıldığı dönemin araç zincirini açıklamaktadır. Güncel bir Mac'te, Xcode XCTest ve XCUITest çerçeveleri kutu içerisinde gönderilir ve ayrı UI Otomasyon aracı artık kurulumun bir parçası değildir. Orijinal adımlar, çerçevenin nasıl çalıştığını belgelediği için aşağıda korunmuştur ve modern karşılığı daha aşağıda açıklanmıştır.
UI Otomasyon Çerçevesini Kullanarak iOS Otomasyonu Nasıl Oluşturulur
Aşağıdaki sekiz adımda, Otomasyon aracıyla bir komut dosyası kaydedilir ve test edilen uygulamaya karşı tekrar oynatılır.
Adım 1) Aletleri Başlatın
X'i açCode -> Geliştirici Araçlarını Aç -> Enstrüman
Adım 2) Otomasyon Aracını Ekleyin
Enstrümanlar penceresinde Otomasyon enstrümanını seçin.
Test senaryosu oluşturmak için ya bir kayıt yaparsınız ya da başka bir yöntemle test senaryosu oluşturursunuz. test senaryosu Ya da manuel olarak programlarsınız.
Adım 3) Kırmızı düğmeye basın
Bir enstrüman çalmaya başlıyor — kaydı hemen durdurun. Kaydı başlatmak istiyorsanız kırmızı düğmeye basın.
Adım 4) Yeni bir komut dosyası oluşturun
Komut Dosyaları penceresinde, yeni bir komut dosyası oluşturmak için Ekle > Oluştur'a tıklayın.
Adım 5) Hedefi seçin
Şimdi içindesin Trace penceresi. Seç'i kullanın. Target Uygulamanızın hata ayıklama sürümüne gitmek için aşağı kaydırın.
Bu durumda, Apple'ın örneği BasitDrillDown Test edilecek uygulama olarak bu uygulama kullanılmaktadır. Uygulamanın arayüzü aşağıda gösterilmiştir.
Adım 6) Komut dosyanızı kaydetmeye başlayın
Aracın üst veya alt kısmındaki kayıt düğmesine basarak komut dosyanızı kaydedin.
Artık test ettiğiniz uygulamada bazı kullanıcı arayüzü işlemleri gerçekleştirebilirsiniz ve komut dosyanız kaydedilir.
Adım 7) Senaryonuzu görün
Komut dosyanızı görmek için Trace Günlük / Düzenleyici Günlüğü açılır menüsünden komut dosyası günlüğü görünümüne geçin.
Kaydedilmiş komut dosyanızı göreceksiniz.
Adım 8) Senaryonuzu oynatın
Oynat düğmesine basın. Komut dosyası çalışacak ve günlükler göründükten sonra durdurabilirsiniz.
⚠️ Tarihsel not: Bu sekiz adımda kullanılan Otomasyon aracı kullanımdan kaldırılmıştır. Xcode 8. sürümde kaldırıldı, bu nedenle şu anda mevcut değil. Xcode Kurulumlar. Çerçevenin nasıl çalıştığının kaydı olarak adımlar burada saklanmaktadır; yeni çalışmalar için bu sayfanın aşağısındaki XCUITest kılavuzunu kullanın.
OCUnit çerçevesini kullanarak iOS Otomasyonu Nasıl Oluşturulur
İkinci yöntem ise testleri içeriye yerleştiriyor. Xcode Projenin kendisi, Instruments'ın içinde değil.
Adım 1) Başlayın Xcode IDE, Birim Test Paketi hedefi ekle
Adım 2) Yeni Birim Test Paketinin adını yazın. Yukarıdaki şekilde gösterildiği gibi, ardından Bitir'e tıklayın.
Adım 3) Birim Testini aktif hedef haline getirin.
Adım 4) Test dersleri için bir grup ekleyin
Adım 5) Birim test sınıfı ekleyin
Adım 6) Şimdi uygulamaya başlayın.
OCUnit, test programını oluşturmak için Objective-C dilini kullanır, bu nedenle geliştiricinin bu dili bilmesi gerekir. Modern Xcode versiyonlar gönderiliyor birim testi Bunun yerine hem Objective-C'yi hem de XCTest'i destekleyen bir araç kullanılabilir. SwiftAncak bu altı adımda gösterilen hedef ve sınıf yapısı değişmeden kalır.
UIAutomation ve XCUITest Arasındaki Farklar: Neler Değişti?
Yukarıda kullanılan her iki çerçeve de Apple araç zincirinin daha önceki bir nesline ait olduğundan, bunların yerine neyin geçtiği ve neden geçtiği konusunda net olmakta fayda var.
| Görünüş | Kullanıcı Arayüzü Otomasyonu (Araçlar) | XCUITest |
| Durum | Kullanımdan kaldırıldı Xcode 8 ve sonraki sürümlerden kaldırıldı. | Apple'ın desteklediği kullanıcı arayüzü test çerçevesi |
| Testlerin bulunduğu yer | Instruments içindeki komut dosyaları trace-belge | Kullanıcı Arayüzü Test Paketi hedefi, Xcode proje |
| Dil | JavaSenaryo | Swift veya Objective-C |
| Test çalıştırıcısı | Otomasyon cihazı | XCTest, birim testleriyle aynı çalıştırıcıdır. |
| Sürekli entegrasyon | Garip — Enstrümanlar aracılığıyla yönlendirilen | Birim testleriyle birlikte komut satırından çalıştırılır. |
| Kayıt | Araçlar araç çubuğundaki Kayıt düğmesi | Kayıt düğmesi Xcode editör, yaydığı Swift |
Pratik sonuç olarak, XCUITest paketi sıradan bir proje kaynak kodudur. Kod tabanının geri kalanı gibi incelenir, sürümlendirilir ve çalıştırılır; bu da kaydedilen sonuçların ana nedenidir.trace modeli kayboldu.
XCUITest ile iOS Kullanıcı Arayüzü Testi Nasıl Yazılır?
Sekiz Instruments adımının modern karşılığı kısadır. Aşağıdaki yapı, aynı kayıt-sonra-oynatma fikrini yansıtır, ancak çıktı bir kaynak dosyasıdır, bir dosya değil. trace.
- Hedefi ekleyin. In Xcode Dosya > Yeni > seçeneğini seçin. Target ve UI Test Paketi şablonunu seçin veya yeni bir proje oluştururken testleri dahil etme seçeneğini işaretleyin.
- Oluşturulan test sınıfını açın. Xcode Boş kurulum ve test yöntemlerine sahip bir XCTestCase alt sınıfı oluşturur.
- Test edilecek uygulamayı başlatın. Bir XCUIApplication örneği oluşturun ve üzerinde launch yöntemini çağırın; bu, uygulamayı ayrı bir işlemde başlatır.
- Sorgula ve harekete geç. Öğe sorguları aracılığıyla öğelere (düğmeler, tablolar, statik metinler) ulaşın ve bunlar üzerinde dokunma, metin yazma veya kaydırma işlemlerini çağırın.
- İddia. İşlemden sonra beklenen öğenin mevcut olup olmadığını doğrulamak için XCTAssert kullanın.
- Koşmak. Testi şuradan çalıştırın: Xcode Test gezgini üzerinden veya komut satırından çalıştırılarak aynı test paketi sürekli entegrasyonda çalıştırılabilir.
Bu şekli izleyen minimal bir test şöyledir:
import XCTest final class AppUITests: XCTestCase { func testTappingFirstRowShowsDetail() { let app = XCUIApplication() app.launch() // act on the first row of the list app.tables.cells.element(boundBy: 0).tap() // verify that the next screen appeared XCTAssertTrue(app.staticTexts.firstMatch.waitForExistence(timeout: 5)) } }
Kaydedici hala mevcut: İmleci bir test metodunun içine yerleştirip düzenleyicide kayıt düğmesine basmak, yukarıdaki 6. adımın doğrudan devamı niteliğinde olan bu sorguları otomatik olarak oluşturur. Daha geniş prensipler ise şunlardır: otomasyon testi Değişiklik yapılmadan uygulanır.
Kullanıcı Arayüzü Otomasyonu Örneği Code
Bu makale bazı kaynak kod örnekleri içermektedir. Bu örnekler, öğreticiyi daha net ve hızlı bir şekilde anlamanıza yardımcı olacaktır.
Kullanıcı Arayüzü Otomasyonu Örneği — Kullanıcı Arayüzü Otomasyonu demosuna ait test betiği.















