python - क्या अजगर के पास कैपिबारा/ककड़ी जैसा कुछ भी है?




functional-testing acceptance-testing (5)

अब अजगर के लिए कैपिबारा का एक बंदरगाह मौजूद है:

https://github.com/elliterate/capybara.py

आप इसके दस्तावेज यहां पा सकते हैं:

https://elliterate.github.io/capybara.py/

Capybara एक वास्तविक उपयोगकर्ता को आपके ऐप के साथ कैसे इंटरैक्ट करता है, यह अनुकरण करके आपको वेब एप्लिकेशन का परीक्षण करने में मदद करता है। यह आपके परीक्षणों को चलाने वाले ड्राइवर के बारे में अज्ञेयवादी है और इसमें निर्मित सेलेनियम समर्थन के साथ आता है।

रूबी के पास कैपेनबरा नामक सेलेनियम के शीर्ष पर यह महान अमूर्त परत है, जिसे आप कार्यात्मक / स्वीकृति / एकीकरण परीक्षण का उपयोग कर सकते हैं। इसमें एक और पुस्तकालय है जिसे ककड़ी कहा जाता है जो इसे एक कदम आगे ले जाता है और आपको वास्तव में अंग्रेजी में परीक्षण लिखने देता है।

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

मेरा सवाल है: क्या पायथन के पास ऐसा कुछ है? मैंने पायथनस्टास को विभिन्न उपकरणों के साथ कार्यात्मक परीक्षण कर पाया है लेकिन ...

ए) स्प्लिटर्न: सेलेनियम का उपयोग नहीं करता है (और आईई चालक नहीं है)

-EDIT- ऐसा प्रतीत होता है कि स्प्लिटर अब सेलेनियम का उपयोग करता है (नीचे उत्तर देखें)।

बी) अल्फाजोर: एक साल से अधिक समय में अद्यतन नहीं किया गया है; मृत लग रहा है

सी) सेलेनियम (कच्चा): बहुत से लोग सीधे सेलेनियम का उपयोग करते प्रतीत होते हैं, लेकिन ऐसा लगता है कि एक अमूर्त परत का उपयोग करना बहुत आसान हो सकता है

तो, क्या किसी को भी Capybara की तरह, या बेहतर अभी तक ककड़ी की तरह, पायथन के लिए पता है (यह वास्तव में सेलेनियम का उपयोग करने की ज़रूरत नहीं है, लेकिन इसे सभी प्रमुख ब्राउज़रों का समर्थन करने की आवश्यकता है)?

* संपादित करें *

उन लोगों के लिए जो कैपिबारा से परिचित नहीं हैं, यह मूल रूप से सिर्फ एक एपीआई जोड़ता है ताकि सामान्य सेलेनियम एपीआई के बजाय आप इसके लिए कुछ कर सकें:

When /I sign in/ do
  within("#session") do
    fill_in 'Login', :with => '[email protected]'
    fill_in 'Password', :with => 'password'
  end
  click_link 'Sign in'
end

इसका उपयोग ककड़ी द्वारा किया जाता है, जो आपको आगे सारगर्भित करता है (लगभग अंग्रेजी में):

Scenario Outline: Add two numbers
Given I have entered <input_1> into the calculator
And I have entered <input_2> into the calculator
When I press <button>
Then the result should be <output> on the screen

Examples:
| input_1 | input_2 | button | output |
| 20 | 30 | add | 50 |

मैं एक अजगर ककड़ी के बराबर प्यार करता हूँ, लेकिन यहां तक ​​कि एक Capybara समकक्ष भी मददगार होगा।


आप ककड़ी का उपयोग करके पायथन कोड का परीक्षण कर सकते हैं - अधिक जानकारी के लिए गीथब पर ककड़ी विकी देखें।

यदि आप शुद्ध पायथन समाधान चाहते हैं, तो लेटस की जांच करें। मैंने कभी इसका उपयोग नहीं किया है, लेकिन इसके बारे में काफी उपयोगी ब्लॉग प्रविष्टि है और here बिखरा हुआ here


ओपी ने ककड़ी या कैपिबारा के पायथन कार्यान्वयन के लिए कहा, लेकिन जैसा कि जिम स्टीवर्ट ने अपने जवाब में बताया, ककड़ी और कैपिबारा बहुत अलग चीजें हैं। चूंकि प्रश्न का शीर्षक कैप्बारा के बारे में है, इसलिए मैं इसका उत्तर दूंगा।

मैं helium नामक एक वाणिज्यिक सेलेनियम आवरण के डेवलपर्स में से एक हूं। Capybara की तरह, यह वेब स्वचालन के लिए एक बहुत ही उच्च स्तरीय एपीआई प्रदान करता है। उदाहरण के लिए, यहाँ एक स्क्रिप्ट है जो आपके फेसबुक स्टेटस को अपडेट करती है:

from helium.api import *
start_chrome("facebook.com")
write(your_fb_email, into="Email or Phone")
write(your_fb_password, into="Password")
click("Log In")
write("Test", into="Update Status")
click("Post")

सेलियम को कॉल करने के लिए हेलियम को कॉल स्वतंत्र रूप से मिलाया जा सकता है। उदाहरण के लिए। हम उपरोक्त स्क्रिप्ट का विस्तार कर सकते हैं:

# get_driver() returns the WebDriver created by start_chrome() above.
chrome = get_driver()
chrome.find_element_by_id('btnG').click()

क्या आपने फ्रेश, या मटर की जाँच की है?

मटर ककड़ी के सिंटैक्स का उपयोग नहीं करता है, लेकिन लेखक का कहना है कि आसान है https://github.com/gfxmonk/pea

और फ्रेशन ककड़ी के वाक्यविन्यास और कार्यात्मकताओं को क्लोन करने की कोशिश कर रहा है

https://github.com/rlisagor/freshen


रोबोट फ्रेमवर्क के बारे में कैसे। यह बहुत बढ़िया है। और सेलेनियम 2 लॉर्ड्स के साथ यह एसई 2 के साथ वास्तव में अच्छी तरह से काम करता है। http://robotframework.org/





acceptance-testing