मैं सेलेनियम से वेबड्राइवर और उनके संबंधित दस्तावेज में परिवर्तन से उलझन में हो सकता हूं। प्रलेखन में परीक्षण डिजाइन के बारे में एक खंड में Assert vs Verify जैसे AssertElementPresent का उपयोग करने की बात है। हालांकि वेबड्राइवर ट्यूटोरियल के माध्यम से जाने और परीक्षण सेटअप शुरू करने में यह पाइथन से उपलब्ध प्रतीत नहीं होता है। क्या मैं प्रलेखन में कुछ देख रहा हूं, क्या यह वेबड्राइवर पर लागू नहीं है, जो कि अजगर का उपयोग करने के लिए लागू नहीं है, क्या मुझे अजगर की क्षमताओं का उपयोग करना चाहिए और सेलेनियम आदि से कमांड को सत्यापित/सत्यापित नहीं करना चाहिए?पायथन और वेबड्राइवर के साथ Assert/VerifyElementPresent?
उत्तर
वेबड्राइवर ब्राउज़र चलाने के लिए एक लाइब्रेरी है। आप तत्वों का पता लगाने के लिए * find_element * विधियों का उपयोग करना चाहते हैं और फिर उनके खिलाफ स्थितियों पर जोर देते हैं।
उदाहरण के लिए, इस कोड को एक तत्व की सामग्री पर एक अभिकथन करता है:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.example.com')
element = browser.find_element_by_tag_name('h1')
assert element.text == 'Example Domains'
browser.quit()
- टिप्पणी इस उदाहरण में एक नंगे ज़ोर के साथ शुद्ध अजगर है। पाइथन के अनजान जैसे टेस्ट फ्रेमवर्क का उपयोग करना बेहतर होता है, जिसमें अधिक शक्तिशाली दावे होते हैं।
सेलेनियम आरसी में, सत्यापन/कार्यवाही विधियां मौजूद हैं। वेबड्राइवर में, वे नहीं करते हैं। साथ ही, यह ध्यान रखना महत्वपूर्ण है कि सत्यापित और जोर क्या करता है और आपके परीक्षणों में उनकी भूमिका क्या है। सेलेनियम आरसी में, सत्यापन का प्रयोग आपके परीक्षण में चेक करने के लिए किया जाता है, भले ही यह पाठ, तत्व, या आपके पास हो। दूसरी ओर, जोर से परीक्षण विफल होने और रोकने का कारण बन जाएगा। आपके द्वारा संदर्भित लिंक में लाभ और लाभों पर चर्चा की जाती है।
वेबड्राइवर में प्रति कहने/सत्यापित करने की विधि नहीं हैं। परीक्षण स्वयं परीक्षण में किया जाता है। यदि आप कोरी के जवाब पर नज़र डालते हैं, तो वह तत्व के पाठ पर "जोर" करता है। यदि तत्व का पाठ 'उदाहरण डोमेन' नहीं है तो एक AssertionError उठाया जाएगा, प्रभावी रूप से आपके परीक्षण को विफल कर देगा। लेकिन एक सत्यापन के बारे में क्या? जैसा कि बताया गया है, वेबड्राइवर में कोई नहीं है। लेकिन आप अभी भी तुलना करके कुछ समकक्ष प्रदर्शन कर सकते हैं।
if element.text != u'Example Domains':
print "Verify Failed: element text is not %r" % element.text
तो इस मामले में, आपका परीक्षण विफल नहीं होगा। लेकिन एक सत्यापन अभी भी होगा और stdout पर प्रिंट करेगा।
तो अंत में, यह एक बात है कि आप क्या असफल होना चाहते हैं। यह एक परीक्षण डिजाइन का अधिक है। उम्मीद है की यह मदद करेगा।
जोर
driver= webdriver.Firefox()
String x =driver.findElement(By.xpath("//*[@id='userNavLabel']")).getText();
System.out.println(x);
//Assert.assertEquals(actual, expected)
Assert.assertEquals("Anandan Aranganath", x);
सेलेनियम पायथन सवाल। जावा नहीं – bron
सत्यापित करें आपको लगता है कि जाँच करने के लिए निम्नलिखित समारोह का उपयोग करना चाहिए:
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException as e: return False
return True
कौन सा डिफ़ॉल्ट जब अजगर कोड के लिए निर्यात Selenium IDE द्वारा उत्पन्न होता है।
तो फिर तुम नीचे के रूप में तत्व पर जोर कर सकते हैं:
self.assertTrue(self.is_element_present(By.ID, "footer"))
self.assertTrue(self.is_element_present(By.CSS_SELECTOR, "header.global-header"))
ध्यान दें कि निम्नलिखित आयात By
उपयोग करने के लिए आवश्यक है:
from selenium.webdriver.common.by import By
एक और तरीका है इस प्रकार है:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.testing.com')
element = driver.find_element_by_xpath('xpath of the element').text
assert element == 'Sample Text'
driver.quit()
- 1. सेलेनियम पायथन वेबड्राइवर
- 2. सेलेनियम पायथन-बाध्यकारी वेबड्राइवर
- 3. सेलेनियम पायथन वेबड्राइवर
- 4. पायथन सेलेनियम वेबड्राइवर (यूआरएल) फ़ंक्शन
- 5. पायथन सेलेनियम वेबड्राइवर ड्रैग-एंड-ड्रॉप
- 6. वेबड्राइवर स्क्रीनशॉट
- 7. सेलेनियम वेबड्राइवर के साथ कुकीज़ कैसे भेजें?
- 8. सेलेनियम आरसी और वेबड्राइवर
- 9. सेलेनियम वेबड्राइवर
- 10. वेबड्राइवर
- 11. वेबड्राइवर
- 12. वेबड्राइवर
- 13. वॉटर-वेबड्राइवर फ़ैंटोमज और घोस्टड्राइवर
- 14. वेबड्राइवर
- 15. सेलेनियम वेबड्राइवर
- 16. सेलेनियम वेबड्राइवर और ड्रॉपडाउन बॉक्स
- 17. वेबड्राइवर
- 18. वेबड्राइवर बनाम वेबड्राइवर में जुनीट प्रारूप
- 19. सेलेनियम वेबड्राइवर
- 20. पायथन और urllib2 के साथ विंडोज प्रमाणीकरण
- 21. सी और पायथन - सॉकेट के साथ संचार
- 22. सेलेनियम वेबड्राइवर
- 23. जावा वेबड्राइवर
- 24. सेलेनियम वेबड्राइवर
- 25. सेलेनियम वेबड्राइवर
- 26. वेबड्राइवर (सेलेनियम 2.0) के साथ व्यक्तिगत एसएसएल प्रमाणपत्रों का उपयोग
- 27. वेबड्राइवर - जावा
- 28. वेबड्राइवर: क्रोम
- 29. सेलेनियम वेबड्राइवर
- 30. सेलेनियम वेबड्राइवर
एक अलग सवाल होना चाहिए लेकिन यहां प्रासंगिक है: मैं यह कैसे कहूंगा कि एन तत्व पृष्ठ पर मौजूद नहीं है? – Priednis
मेरा जवाब यहां मिला: http://sqa.stackexchange.com/questions/3481/quicker-way-to-assert-that-an-element-does-not-exist?rq=1 – Priednis
मैं कुछ कोशिश करता हूं/find_element_by_tag_name कॉल के लिए NoSuchElementException ब्लॉक को छोड़कर, यदि तत्व नहीं मिला है, तो परीक्षण विफलता के बजाय एक अपवाद ERROR चिह्नित करेगा ... या इस असुविधा के बिना तत्व का दावा करने का कोई तरीका मौजूद है? –