2015-06-06 4 views
7

क्या यह सुनिश्चित करने का कोई तरीका है कि ब्राउजर प्रारंभिक विंडो आकार से नहीं बदलता है। ऐसी कई चीजें हैं जिन्हें परीक्षण के दौरान क्लिक किया जाता है जो खिड़की को अधिकतम करने के कारण होते हैं लेकिन मैं इसे पूरे आकार में रखना चाहता हूं।नाइटवॉच परीक्षण: निश्चित आकार पर ब्राउज़र सेट करें

उत्तर

10

आप इस तरह प्रत्येक परीक्षा से पहले स्क्रीन आकार को ठीक कर सकते हैं:

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

यह सेट अप एक बार और अपने env विन्यास में सभी के लिए (test_settings तहत Nightwatch कॉन्फ़िग फ़ाइल में):

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

ध्यान दें कि यह विधि काम करेगी क्योंकि हम क्रोम ध्वज सेट कर रहे हैं, इसलिए कार्यान्वयन भिन्न हो सकता है (उदाहरण के लिए सफारी में ऐसे झंडे नहीं हैं)।

ब्राउज़रों कि ये विकल्प का समर्थन नहीं करते के लिए, यह वैश्विक में खिड़की imperatively आकार बदलने के लिए beforeEach हुक सबसे अच्छा है:

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

nightwatch settings docs पर एक रीड कैसे वैश्विक उपयोग किया जाता है देखने के लिए है।

उपरोक्त विधि का प्रयोग, आप प्रत्येक परीक्षा :)

+1

आप मतलब था 'browser.resizeWindow (1280, 800, किया)' में यह निर्दिष्ट करने के लिए नहीं होगा? आप सही हैं, मैंने जवाब अपडेट किया .. –

+1

मैंने किया - व्हाउप्स! इसे अपडेट करने के लिए आप में से अच्छा है। चीयर्स। मूल टिप्पणी हटा दी गई ताकि लोगों को गलत सुझाव के साथ भ्रमित न किया जा सके। @ एलिरन मक्का की टिप्पणी देखें – GrayedFox

संबंधित मुद्दे