2016-07-22 8 views
5

का उपयोग कर विंडोज स्लेव में उच्च यूआई परीक्षण, सबसे पहले, मैं क्षमा चाहता हूं कि मैं आपका समय बर्बाद कर रहा हूं, क्योंकि यह एक साधारण कदम की तरह दिखता है जिसे मैं कुछ शोध के बाद भी समझ नहीं पा रहा हूं।ऑटोमेटिंग टेस्टस्टैक। जेनकिन्स

ठीक है, मैं यह हासिल करने की कोशिश कर रहा हूं, मैंने टेस्टस्टैक का उपयोग करके कुछ यूआई परीक्षण लिखे हैं। हाइट, मैं इसे जेनकिन्स स्लेव पर अलग-अलग उपयोगकर्ता के रूप में निष्पादित करना चाहता हूं, क्योंकि एप्लिकेशन भूमिकाओं के आधार पर अलग-अलग व्यवहार करता है सक्रिय निर्देशिका में उन्हें सौंपा गया है।

तो Google पर थोड़ी सी लुकअप करने के बाद मुझे निम्नलिखित लिंक मिल गए जो मैं प्राप्त करने की कोशिश कर रहा हूं।

ऐसा नहीं है कि मैं जेनकींस दास पर TightVNC स्थापित किया है और जेनकींस मास्टर से दास और गुलाम पर परीक्षण निष्पादित करने के लिए कनेक्ट होना चाहिए की तरह दिखता है ।

जो मुझे अपने पहले प्रश्न पर लाता है, मैं इसे जेनकिंस नौकरी से बिल्कुल कैसे प्राप्त करूं?

विभिन्न उपयोगकर्ताओं के रूप में लॉग इन करने के बारे में, मैं समझता हूं कि मैं इसे प्राप्त करने के लिए "autologon.exe" का उपयोग कर सकता हूं। तो बस सोच रहा हूं कि मैं जेनकिन्स मास्टर से विंडोज स्लेव पर यह कैसे कर सकता हूं। मेरी कंपनी एसएसएच को विंडोज इंस्टेंस (गुलाम मशीन) की अनुमति नहीं देती है, मैं जेनकींस मास्टर से दूरस्थ रूप से एसएसएच निष्पादित नहीं कर सकता।

मैं समझता हूं कि मैं इसे सही तरीके से नहीं देख रहा हूं, इसलिए किसी भी मदद की बहुत सराहना की जाएगी।

आपके समय और सलाह के लिए अग्रिम धन्यवाद।

+1

मुझे लगता है कि सर्वर पर अनुपयुक्त यूआई परीक्षणों के साथ मुख्य समस्या यह है कि आपको एक इंटरैक्टिव सत्र चलाना आवश्यक है। अर्थात। एक इंटरैक्टिव सत्र में लॉग इन करने वाले उपयोगकर्ता को होना आवश्यक है, जो वर्तमान में लॉक नहीं है या अन्यथा "हेडलेस" नहीं है, अन्यथा बहुत सी चीजें काम नहीं करती हैं। एक वीएम का उपयोग अक्सर एक उपयुक्त दृष्टिकोण है, लेकिन इससे भी अधिक जटिलता जोड़ती है। हमारे अपने उत्पाद में हमने यूआई परीक्षणों को पूरी तरह से हल नहीं किया है, बल्कि कोड के बाकी हिस्सों को सही पतला करने के लिए सही क्रम में अपने स्वयं के सारणित इनपुट ईवेंट को संश्लेषित करने के बजाय, सत्र की समस्या को साइड-स्टेप करना। – Joey

उत्तर

1

सब आपकी टिप्पणियों और जवाब के लिए धन्यवाद, मूल रूप से यह है कि क्या मैं इसे मेरे लिए काम करने के लिए,

  1. जेनकींस दास पर एक VNC क्लाइंट के साथ VNC कनेक्शन स्थापित किया था, इस मैन्युअल जेनकींस के माध्यम से नहीं किया गया था।
  2. विंडोज़ को लॉक करने से रोकने के लिए "कैफीन" नामक ऐप का उपयोग करें, यह F15 (प्रत्येक xx सेकेंड) पर एक महत्वपूर्ण अप ईवेंट सिम्युलेट करता है, इसलिए मेरे प्रोजेक्ट में परीक्षण कार्य में कोई रुकावट नहीं है।
  3. वीएनसी कनेक्शन के माध्यम से विंडोज लॉगऑन के एक हिस्से के रूप में जेनकिंस मास्टर और "कैफीन" ऐप में जेएनएलपी कनेक्शन लॉन्च करें।
  4. वीएनसी कनेक्शन से बाहर निकलें (लॉग ऑफ नहीं), यह मैन्युअल रूप से जेनकींस के माध्यम से नहीं किया गया था।
  5. बिल्डों को गुलामों पर PSExec का उपयोग करके अलग-अलग उपयोगकर्ताओं के रूप में चलाने दें।

ऐसा लगता है कि अब तक ठीक काम कर रहा है, मैंने जल्द ही जवाब नहीं दिया क्योंकि मैं यहां अपना जवाब पोस्ट करने से कुछ दिन पहले नौकरियों की निगरानी करना चाहता था।

1

मैं इस तरह के कुछ करने के लिए तैयार हो रहा हूं लेकिन मैं अपने यूआई ऑटोमेशन एप्लिकेशन में एक संचार परत बना रहा हूं ताकि हमारी बिल्ड मशीन (हमारी कंपनी ने अपनी खुद की बिल्ड मशीन रोल की हो) टीसीपी अनुरोध को आगे और आगे भेज सकता है। मैं यूआई ऑटोमेशन और शेयर में एक शेयर को तैनात करने जा रहा हूं, फिर वर्चुअल मशीन शुरू करूंगा। बिल्ड मशीन टेम्पलेट में एक स्टार्टअप स्क्रिप्ट होगी जो हमारे अनुप्रयोगों को शेयर से लॉन्च करेगी। एक बार वर्चुअल मशीन शुरू हो जाने के बाद, मैं इसे शुरू करने के लिए यूआई ऑटोमेशन एप्लिकेशन के साथ संवाद करने जा रहा हूं और यह मुझे बताएगा कि ऐसा करने पर मैं वीएम को फाड़ सकता हूं। मैं रिपोर्टिंग उद्देश्यों के लिए सभी परीक्षण परिणामों को एक शेयर में सहेजने जा रहा हूं।

मुझे पता है कि यह सीधे आपके प्रश्न का उत्तर नहीं देता है लेकिन यह दृष्टिकोण मैंने विभिन्न स्वचालन ढांचे में काम कर रहे कई लोगों के बारे में सुना है।

यदि मैं जेनकींस में ऐसा करने जा रहा था तो मैं जेनकींस प्लगइन सिस्टम में देखता हूं। जहां तक ​​मुझे पता है प्लगइन सिस्टम जावा का उपयोग करता है, तो आप किसी प्रकार के वीएम के साथ कुछ प्रकार की संचार परत और इंटरफ़ेस बनाने में सक्षम होना चाहिए। यदि आपके पास वीएम शुरू करने और रोकने का विकल्प नहीं है तो आपको उपयोगकर्ता के रूप में मास्कराइड करते समय रिमोट मशीन पर प्रक्रियाओं को प्रारंभ और रोकना होगा। मुझे पता है कि यह सी # में किया जा सकता है लेकिन मैंने इसे जावा में कभी नहीं देखा है।

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