2012-08-06 17 views
5

मैं वॉटर-वेबड्राइवर पर हमारी कुछ विरासत वॉटर स्क्रिप्ट को माइग्रेट करने की प्रक्रिया में हूं। पॉपअप विंडोज़ को संभालने के लिए वॉटर-वेबड्राइवर को डिज़ाइन करने के तरीके के अलावा माइग्रेशन ज्यादातर अच्छी तरह से चला गया है। कोशिश की गई और सही 'अटैच' विधि का उपयोग करने के बजाय, उन्होंने इसे एक सरलीकृत 'विंडो' विधि से बदल दिया है। वाक्यविन्यास काफी सरल है, हालांकि मुझे मुश्किल समय लगता है कि पैरेंट विंडो बंद किए बिना एक अलग बाल विंडो को कैसे बंद किया जाए। वर्तमान में मेरे कोड कुछ इस तरह है -वॉटर वेबड्राइवर कैसे बाल विंडो को बंद करने के लिए

b.button(:xpath => PREVIEWBUTTON).click 
    b.window(:title, POPUPWINDOW).use DO 
    b.close 
    end 

वर्तमान में क्या हो रहा है कि b.close विधि दोनों चाइल्ड विंडो और माता पिता के खिड़की बंद हो रहा है है। मुझे यकीन नहीं है कि यह क्यों हो रहा है क्योंकि बी। ब्लॉक प्रक्रिया डीओ ब्लॉक में निहित है। मुझे यह सत्यापित करने की आवश्यकता है कि 'PREVIEWBUTTON' वास्तव में एक बाल विंडो बनाता है, लेकिन मुझे खुली रहने के लिए मूल विंडो की आवश्यकता है।

उत्तर

9

इस प्रयास करें:

b.window(:title, POPUPWINDOW).close 
+1

बहुत बढ़िया, इस काम किया! मैंने यह भी सीखा कि मेरे उदाहरण में, यहां सूचीबद्ध 'इंडेक्स' का उपयोग करके बच्चे की खिड़की को ढूंढना बहुत फायदेमंद है - https://github.com/watir/watirspec/blob/master/window_switching_spec.rb। एक बार फिर धन्यवाद! – Brian

+0

क्या बाल खिड़कियां खोजने का कोई और तरीका है, शायद उन पर भी पुनरावृत्ति करें? – stack1