2013-01-14 23 views
10

İş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?

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
+0

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ı? –

+1

@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

+0

ile boot etmesi gerektiğine dikkat et Ben yarın deneyeceğim . Teşekkürler. Çok yardımcı oldun. –

İlgili konular