5

मैं अपने वेब एप्लिकेशन (.txt प्रारूप में) के परीक्षण के लिए रोबोट फ्रेमवर्क & सेलेनियम 2 लाइब्रेरी का उपयोग करके एक स्वचालन परीक्षण स्क्रिप्ट लिख रहा हूं। मेरे परीक्षण मामलों में से एक में HTML टैग की सीएसएस शैली विशेषता जांचना शामिल है।रोबोट फ्रेमवर्क का उपयोग कर किसी विशेष HTML तत्व की सीएसएस शैली विशेषता को कैसे ढूंढें?

क्या एचटीएमएल तत्व की सीएसएस शैली विशेषता प्राप्त करने के लिए रोबोट फ्रेमवर्क में कोई विशिष्ट कीवर्ड है?

<div id="check_style" style="width:20px;height:20px;background-color:#ffcc00;"></div> 

अब, मैं एक चर ${bg_color} में इस विशेष HTML टैग की पृष्ठभूमि का रंग स्टोर करने के लिए है:

यहाँ मेरी परीक्षण परिदृश्य है। क्या इस प्रक्रिया को करने के लिए रोबोट फ्रेमवर्क में कोई विशिष्ट कीवर्ड है?

क्या आप इस स्थिति को संभालने का एक प्रभावी तरीका सुझा सकते हैं?

I think we can make use of this javascript function for the above mentioned purpose :

document.getElementById("check_style").style["background-color"]

But how to make use of this particular function to store the value of background-color inot a variable ${bg_color} ?

(I have tried to execute ${bg_color} = Execute Javascript document.getElementById("check_style").style["background-color"] , but didn't work !)

उत्तर

3

आप शैली विशेषता पाने के लिए Selenium2Library Get Element Attribute कीवर्ड का उपयोग कर सकते हैं:

| | ${style}= | Get element attribute | [email protected] 

फिर आप या तो रेगुलर एक्सप्रेशन का उपयोग पृष्ठभूमि रंग विशेषता ढूंढने के लिए कर सकते हैं या कुछ अतिरिक्त पार्स है। उत्तरार्द्ध रोबोट कीवर्ड की तुलना में अजगर में करना आसान होगा।

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

| | ${style}= | get element attribute | [email protected] 
| | ${color}= | evaluate | re.search("background-color: *(.*?);", '''${style}''').group(1) | re 

नोट: आपको कच्चे HTML में समान अक्षर मूल्य नहीं मिल सकता है। उदाहरण के लिए, मेरी मशीन ${color} पर rgb(255, 204, 0) के रूप में वापस आती है भले ही HTML में रंग #ffcc00 है।

+0

मैंने 'एलिमेंट एट्रिब्यूट' कीवर्ड प्राप्त करने का प्रयास किया है .. लेकिन यह एक मूल्य लौटा रहा है ** कोई नहीं **! साथ ही, इस कीवर्ड का उपयोग करके केवल एक विशेष सीएसएस विशेषता को सारणी कैसे करें (उदाहरण के लिए पृष्ठभूमि-रंग)? [पायथन का उपयोग नहीं कर रहा हूं, '.txt' प्रारूप में टेस्ट केस लिख रहा हूं]। क्या हम एक विशिष्ट विशेषता प्राप्त करने के लिए ऐसा कुछ कर सकते हैं 'एलिमेंट एट्रिब्यूट आईडी = चेक_स्टाइल @ पृष्ठभूमि-रंग' प्राप्त करें? –

+0

@ अरुणरामचंद्रन: नहीं, आप 'पृष्ठभूमि-रंग 'प्राप्त करने के लिए' तत्व प्राप्त करें 'का उपयोग नहीं कर सकते हैं; 'पृष्ठभूमि-रंग' तत्व तत्व नहीं है। आप शैली को पाने के लिए इसका उपयोग कर सकते हैं, जैसा कि मैंने अपने उदाहरण में दिखाया है, और फिर पृष्ठभूमि के रंग को पाने के लिए परिणाम को पार्स कर सकते हैं, जैसा कि मैंने अपने उत्तर में दिखाया था। समाधान के लिए –

+0

धन्यवाद! लेकिन, क्या हम सीधे रोबोट ढांचे में नियमित अभिव्यक्तियों का उपयोग कर सकते हैं (यदि '.txt' प्रारूप में परीक्षण के मामले लिख रहे हैं)? यानी क्या हम परीक्षण मामलों में नियमित अभिव्यक्तियों का उपयोग कर सकते हैं भले ही हम पाइथन में टेस्ट केस नहीं लिख रहे हों? –

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