Geçmiş:Koşu paralel selenyum testleri
benim Raylar karşı 3 Uygulama çalışan Capybara entegrasyon testleri bir dizi var. Test paketinin diğer bölümleri için Rspec kullanıyorum.
Mac OSX dev makinemde bir selenyum 2.6.0 bağımsız sunucu hub var.
java -jar selenium-server-standalone-2.6.0.jar -role hub
ben her bir selenyum düğümü ile göbeğine bağladım birçok sanal makine çalıştırıyorum:
java -jar selenium-server-standalone-2.6.0.jar -role webdriver -hub http://0.0.1.12:4444/grid/register port 5555 -browser browserName="internet explorer",version=8,platform=WINDOWS
Bu iyi çalışır, bu ekran görüntüsünde konsol Bir IE7 ve IE8 bir olduğunu gösterir hub'a bağlı tarayıcı:
Ben selenyum göbeğine karşı aday kurulum Kapibara ettik (yani delege düğümlerine testleri).
Capybara.app_host = "myapp.dev"
Capybara.default_driver = :selenium
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app,
:browser => :remote,
:url => "http://localhost:4444/wd/hub",
:desired_capabilities => :internet_explorer)
end
Sadece sınama yalnızca bir internet_explorer düğümünde çalışır. "İlk sırada" olanı gibi görünüyor; Eğer kapatırsam, test diğer düğümde başarılı bir şekilde çalışır.
Önerilen şekilde capybara'yı yapılandıran parallel_tests projesini deniyorum, ancak bu yine de yalnızca bir tümleştirme sınaması başlatır.
Entegrasyonumu aynı anda tüm internet_explorer düğümlerinde nasıl çalıştırabilirim?
Bonus soru: i bakılmaksızın tarayıcı özelliği bağımsız olarak tüm düğümlerde benim entegrasyon testleri çalıştırmak istedi Eğer ben bunu nasıl yapardınız?
Daniel, Sizinle aynı sorunu yaşıyorum, bir çözüm bulabildiniz mi? – Farooq
1 Hub ve 3 Düğüm çalışıyorsa ve 3 farklı sekmede aynı anda 3 test çalıştırıyorsanız testlerin tüm düğümlerde çalışacağını anladım. Her düğüm için 1 test. Temel olarak test, bir sonraki boş düğümü sıraya alır ve orada çalışır. – Farooq