2009-01-27 26 views
6

Standart denetimleri olan birkaç modal UserForms oluşan bir GUI etrafında döner oldukça büyük bir Excel eklentisi üzerinde otomatik regresyon testleri başlatmak için arıyorum.VBA UserForms araçları ve/veya tekniklerinin otomatik testi?

temel sorun VBA kontrol İçine baktım otomatik test araçları en (Rasyonel Robot, AutomatedQA TestComplete, Ağ Otomasyon Otomat vs.) tam olarak destekleyen kalmamasıdır böylece onların testler sonunda Fare tıklamaları ve tuş basmalarını tekrar oynatma, bu yüzden gerçekten sürdürülemez. İdeal olarak, VBA form kontrollerini tanıyan bir test aracına ihtiyacım var, bu yüzden "(237, 58) düğmesine tıklayıp 500 milisaniye beklemekten" bu düğmeye basın ve bu liste kutusunun değişmesini bekleyin "diyebilirim.

Ayrıca, test otomasyonunu eklentiye VBA olarak oluşturmayı da düşündüm, ancak kullanıcının zamanının çoğu, VBA'nın arka planda çalışmasını durdurulan kalıcı bir iletişim kutusuyla etkileşim halinde kalıyor.

Benim soru- koşullu dallar test komut dosyası desteği vardır burada herkes

a) VBA kullanıcı form denetimlerini tanır ve güvenilir onlardan

b) ile etkileşime girebilir otomatik bir test aracı ile herhangi bir deneyime sahip does ve kayıt/oynatma yerine başarı/hata kaydı VBA içinden eklentiyi sürücü böylece

Alternatif Herkes ben VBA yürütme duraklatma kalıcı diyaloglar sorununa sorunun üstesinden gelebilirsiniz bir yol biliyor mu?

Ben QA forumlarda etrafa bir süre geçirdim ama orada bir şey bulamadım, bu yüzden herhangi bir yardım veya olası mutluluk duyacağız. Yardımlarınız için

sayesinde

cevap

2

ben seni dinler bir aracın bilmiyorum ama farklı bir yönden saldıran düşündüm -Martin

?

Ben bireysel yöntemler birim test olabileceğini şekilde "normal" bir VB/VBA Sınıfı içine itilebilir nasıl mantık çok yaklaşık burada küçük spekülasyon ediyorum. Belki de böyle bir Sınıf, olayları, hatta, test için, gerekli uyaranları sağlayan ve kontrol için cevapları toplayan bir test koşuluyla değiştirebilmeniz için bile olayları ortaya çıkarabilir.

O (şimdi çok hafif) bir Kargaburun çözüm getirmediği yatan sınıfa kendisini oluşturan, ama en azından denenmemiş alanını minimize olacaktır.

Gerçekten sadece "yüksek sesle" düşünüyorum, ama bu hiç de işe yarayacağını düşünüyorsunuz?

+0

Bu kötü bir fikir değil. Mimari değişiklikleri çok az tutmak isterdim ve çok fazla kodlama olurdu, ancak GUI ile uğraşmak için çok fazla acıyı ortadan kaldırıyor. Alternatif yolları araştırıyoruz ama bu fikre geri dönebiliriz. – MLdeS