2015-06-06 16 views

cevap

10

Böyle her testten önce ekran boyutu düzeltebilirsiniz:

module.exports = { 
    tags: ['myTest'], 
    before : function (browser) { 
    browser.resizeWindow(800, 600); 
    }, 
    'Test #1' : function (browser) { 
    return browser 
     .url('http://localhost/test1') 
     .waitForElementVisible('body', 2000); 
    }, 
    'Test #2' : function (browser) { 
    return browser 
     .url('http://localhost/test2') 
     .waitForElementVisible('body', 2000); 
    }, 
    after : function (browser) { 
    browser.end(); 
    } 
} 
14

seti it up kez ve env yapılandırmasında herkes için (test_settings altında nightwatch yapılandırma dosyasında):

"desiredCapabilities": { 
    "chromeOptions": { 
     "args": [ 
      "window-size=1280,800" 
     ] 
    } 
} 

, bu yöntemin çalışacağını çünkü bir krom bayrağı ayarladığımızı, dolayısıyla uygulamanın değişebileceğini (örn. Safari'nin bu tür bayraklara sahip olmadığını) unutmayın. Bu seçenekleri desteklemeyen tarayıcılar için

, bu kanca beforeEachgloballeri pencereyi imperatively yeniden boyutlandırmak için en iyisi:

{ beforeEach: function (browser, done) { browser.resizeWindow(1280, 800, done); } } 

globaller nasıl kullanıldığını görmek için nightwatch settings docs bir okuma var.

yukarıdaki yöntemler kullanılarak, sen :)

+1

Eğer 'browser.resizeWindow' (1280, 800, bitmiş) demek istedi her test bunu belirtmek zorunda kalmazsınız? Sen haklısın, cevabı güncelledim .. –

+1

Ben yaptım - whoops! İyileştirmen için iyi. Şerefe. Yanlış öneri ile insanları karıştırmamak için orijinal yorumu silindi. @Eliran Makla'nın yorumuna bakın – GrayedFox