İşyerinde GUI bileşenlerini tamamen test ediyoruz. Problem, testsuit çalışırken, çeşitli bileşenlerin ortaya çıkması, odağı çalması veya çalışmaya devam etmesini imkansız kılması gerçeğinden kaynaklanmaktadır. İlk düşündüğüm şey Xnest idi, ama bu problem için daha zarif bir çözüm olup olmadığını merak ediyordum.Test için sahte X sunucusu?
10
A
cevap
9
Burada yapmanız gereken şey, yaptığınız testlerin üzerinde çalıştığınız programdan farklı bir Görüntü üzerinde çalışması olduğunu düşünüyorum.
TeamCity ajanlarımızı EC2'ye taşıdığımızda, UI birim testlerimizi başsız bir Linux sunucusunda çalıştırmaya yönelik bir çözüm bulmamız gerekti. Xvfb'nin nasıl kullanılacağını özetleyen bu blog post'da bunu yapmanın bir yolunu buldum. Benim durumumda için
, yapmam gereken tüm idi:
yum install xorg-x11-server-Xvfb
Xvfb :100 -ac
sunucusu çalıştırmak için. Bunu makinenin başlangıcında başlatmak için EC2 ajanlarımdaki rc.local dosyasına ekledim.
Sonra benim TeamCity yapı yapılandırmada
İlgili konular
- 1. display: X sunucusu açılamıyor
- 2. OAuth test sunucusu/uygulaması
- 3. Test Subscription.create - kullanmak için sahte bir ödeme var mı?
- 4. Android: Test amacı için sahte kamera ön izlemesini enjekte Edin
- 5. sahte fasulyeleri
- 6. Perl birim testi için sahte dosya sistemi
- 7. Birim test dosyası işlemleri - sahte dizin yapısını korumak nerede?
- 8. Jasmine testinde sahte pencere.location.reload
- 9. Birim Test Etmede Sahte Bir Veri Tabanı Ekleme
- 10. Silex'te (sahte kapaklar) PHPUnit
- 11. Pratik için Visual Sourcesafe sunucusu
- 12. Düğüm Ekspres test sahte res.status (durum) .json (obj) Benim yöntemi test etmek çalışırken aşağıdaki hatayı alıyorum
- 13. PHPUnit sahte ebeveyn yöntemi
- 14. Python için XMPP sunucusu
- 15. İlkbaharda Sahte Sınıf ayarlanamıyor
- 16. "Sahte" DirectShow video yakalama aygıtı
- 17. Web uygulaması testi için sahte zaman dilimi
- 18. Yasemin'de sahte tuşa basma benzetimi
- 19. PHP biriminde sahte Nesneler oluşturma
- 20. hakkında sahte ByRef yöntem
- 21. Sahte aramalar nasıl yapılır?
- 22. Çalışan bir X sunucusu olmadan matplotlib grafikleri oluşturma
- 23. Bir uzatma yöntemini sahte/sahte yapmak mümkün mü?
- 24. sahte çocuk sınıfına
- 25. Sahte XML'den SoapClient yanıtı
- 26. Sahte kaynak olmadan $ kaynağını sınama
- 27. Rails dev sunucusu nasıl ayarlanır? Web sunucusu için Puma yerine
- 28. Objective-C için web sunucusu
- 29. Solr sunucusu için sistem gereksinimleri?
- 30. Django için OpenID sunucusu/sağlayıcı
Ben senin çözüm çalıştı üzere
env.DISPLAY :100
eklendi ama parçalama arızası ile ne yazık ki benim testler kazasında. Özellikle Qt ve OpenGL gibi bir çok şey kullanıyorum. Standart bir X sunucusu üzerinde çalışabilecek herhangi bir şeyin farkında mısınız, fakat Xvfb'de başarısız mı? –@StefanoBorini Ne yazık ki değil. Benim anlayışım, 'gerçek' bir X sunucusu gibi davranması gerektiğidir, ancak elbette, herhangi bir şeyde olduğu gibi, uygulama ile ilgili sorunlar olabilir. Hızlı bir google bu hatayı bulmuştu: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/296230 Geçici çözümün Xvfb'yi -extension GLX – sharakan
ile boot etmesi gerektiğine dikkat et Ben yarın deneyeceğim . Teşekkürler. Çok yardımcı oldun. –