2008-09-08 15 views
6

लोड करने से पहले WatiN को लिंक पर क्लिक करने का कोई तरीका है, हम अपने यूआई का परीक्षण करने के लिए WatiN का उपयोग कर रहे हैं, लेकिन एक पृष्ठ (दुर्भाग्य से हमारी टीमों के नियंत्रण में नहीं है) लोडिंग को समाप्त करने के लिए हमेशा के लिए लेता है। पृष्ठ को पूरा करने से पहले पेज पर एक लिंक पर क्लिक करने के लिए WatiN प्राप्त करने का कोई तरीका है? जैसेक्या पृष्ठ

IE browser = new IE(....); 
browser.Button("SlowPageLoadingButton").ClickNoWait(); 
Link continueLink = browser.Link(Find.ByText("linktext")); 
continueLink.WaitUntilExists(); 
continueLink.Click(); 
+0

समय Watin इंतजार कर रहा है WaitForLoadTimeout संपत्ति के द्वारा नियंत्रित किया जाता है। यहां एक ब्लॉग पोस्ट है जो इसके बारे में थोड़ा सा बात करता है: http://blog.agilejedi.com/2008/08/watin-installed.html

+0

दुर्भाग्यवश ऐसा नहीं है कि WatiN काफी देर तक इंतजार नहीं कर रहा है, यह तब तक प्रतीक्षा करता है जब तक पेज कुछ भी नहीं करता है। हमने समाधान पाया, 'ClickNoWait()' के साथ पृष्ठ लोड करें, फिर पृष्ठ पर लिंक को सामान्य के रूप में देखें, लेकिन 'क्लिक() 'पर कॉल करने से पहले लिंक पर' WaitUntilExists() 'पर कॉल करें। इस तरह WATN लिंक लोड होने पर लिंक पर क्लिक करेगा, पूरे पृष्ठ को लोड होने तक प्रतीक्षा न करें। अपने प्रश्न का उत्तर देने के लिए –

उत्तर

11

यहाँ कोड हम काम करने के लिए मिल गया है लिंक। क्लिक करें() आप में rexample)।

HTH, जेरोन वान Menen लीड देव Watin

+1

+1;) और अच्छा जवाब! –

0

आप WaitUntilExists() Watin करता है आंतरिक रूप से जब आप एक विधि या एक तत्व पर संपत्ति फोन के बाद से करने के लिए कॉल बाहर छोड़ने के लिए सक्षम होना चाहिए (:

+1

लेकिन मैं क्लिक नहीं कर रहा हूं, मैं ClickNoWait() पर कॉल कर रहा हूं, इसका मतलब यह नहीं है कि जब तक मैं WaitUntilExists() को कॉल नहीं करता तब तक यह इंतजार नहीं करेगा? –