2016-02-16 9 views
5

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

मैं आपको गेरकिन प्रारूप में एक कहानी का उदाहरण देना चाहता हूं और मैं इस विषय पर किसी भी अंतर्दृष्टि की सराहना करता हूं, शायद सभी टुकड़े एक साथ फिट होने पर एक स्पष्टीकरण।

Given user <username> with password <password> has a valid amazon.com account 
And has a wish list 
And wants to purchase book <title> at a later date 
When a request to place the book in the wish list is made 
Then the book is placed in the wish list 
And the book <title> appears in the wish list when <username> logs in at a later date. 
+0

कृपया लिंक सवाल पर एक नजर है, तो आप कुछ विचार कैसे jbehave सेलेनियम जावा कॉन्फ़िगर करने के लिए मिल सकता है, [कड़ी] (http: // stackoverflow .com/प्रश्न/20733703/बहुत-सरल-चरण-दर-चरण-जेबेहेव-सेटअप-ट्यूटोरियल) – SacTan

+0

क्या आप इस बारे में और बता सकते हैं कि "सीखने के लिए कार्य" का उद्देश्य क्या है? क्या आप अपने कंप्यूटर पर इसे चलाने और परिणामों की जांच करने के लिए जावा + वेबड्राइवर + जेबेहेव का उपयोग करके इस एक ठोस एकल कहानी को लागू करने के अलावा कुछ भी नहीं चाहते हैं?या फिर आप जानना चाहते हैं कि उपकरण का यह सेट लंबे समय तक उपयोगी हो सकता है, सैकड़ों कहानियों का परीक्षण करने के लिए, और परियोजना को व्यवस्थित करने और इन उपकरणों का उपयोग करके पूरे परीक्षण ढांचे को आसानी से और कुशलतापूर्वक कार्यान्वित करने और चलाने के लिए परीक्षण, उनके परिणाम प्रदर्शित करते हैं और बग के कारण की जांच करते हैं? – krokodilko

+0

वाह अतीत से एक विस्फोट है। जेबीहेव प्राचीन है, आखिरी रिलीज 2006 में थी। मैं व्यक्तिगत रूप से कुछ और अधिक अद्यतित और अच्छी तरह से समर्थित की तलाश करता हूं। यदि कुछ भी गलत हो जाता है तो आपको समस्याएं होने वाली हैं क्योंकि कोई वास्तव में इसका उपयोग नहीं करता है। – Ardesco

उत्तर

2

अब आप अपने स्टोरी है कि आप अपने कदम की जरूरत है। चरण जावा कोड हैं जो कहानी द्वारा निष्पादित किए जाएंगे। आपकी कहानी में प्रत्येक पंक्ति को जावा चरण में मैप किया जाता है। Candidate Steps पर प्रलेखन देखें।

यहां वास्तव में आपकी कहानी और कदमों की तरह दिखने पर सरल स्टैब है। लेकिन कम से कम आपको यह विचार करना चाहिए कि कहानियां और कदम कैसे मिलते हैं।

स्टोरी

Given user username with password passcode is on product page url 
When the user clicks add to wish list 
Then the wish list page is displayed 
And the product title appears on the wish list 

कदम

public class WishlistSteps { 
    WebDriver driver = null; 

    @BeforeScenario 
    public void scenarioSetup() { 
    driver = new FirefoxDriver; 
    } 

    @Given("user $username with password $passcode is on product page $url") 
    public void loadProduct(String username, String passcode, String url) { 
    doUserLogin(driver, username, passcode); // defined elsewhere 
    driver.get(url); 
    } 

    @When("the user clicks add to wishlist") 
    public void addToWishlist() { 
    driver.findElement(By.class("addToWishlist")).click(); 
    } 

    @Then("the wish list page is displayed") 
    public void isWishlistPage() { 
    assertTrue("Wishlist page", driver.getCurrentUrl().matches(".*/gp/registry/wishlist.*")); 
    } 

    @Then("the product $title appears on the wish list") 
    public void checkProduct(String title) { 
    // check product entries 
    // assert if product not found 
    } 

    @AfterScenario 
    public void afterScenario() { 
    driver.quit(); 
    } 
} 

इसके बाद आप एक धावक जो वास्तव में पाता है और कहानियों चलाता है की आवश्यकता होगी। Running Stories पर प्रलेखन देखें। नीचे एक बहुत ही सरल धावक है जो जुनीट परीक्षण के रूप में चलाएगा।

धावक

public class JBehaveRunner extends JUnitStories { 
    public JBehaveRunner() { 
    super(); 
    } 

    @Override 
    public injectableStepsFactory stepsFactory() { 
    return new InstanceStepsFactory(configuration(), 
     new WishlistSteps()); 
    } 

    @Override 
    protected List<String> storyPaths() { 
    return Arrays.asList("stories/Wishlist.story"); 
    } 
} 

इस धावक तो एक JUnit परीक्षण के रूप में क्रियान्वित किया जा जाएगा। आप इसे चलाने के लिए अपना आईडीई कॉन्फ़िगर कर सकते हैं, या मेवेन या ग्रैडल का उपयोग कर सकते हैं (आपके सेटअप के आधार पर)।

mvn test 

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

+0

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

+0

प्राप्त करने के लिए महत्वपूर्ण हैं ठीक है, आप कुछ उदाहरण ढूंढ रहे हैं या एक साधारण लिखना चाहते हैं जो इसे एक साथ जोड़ता है। मैं कुछ पोस्ट करूंगा जो उसमें मदद कर सके। –

+0

मेरा अद्यतन उत्तर देखें। उम्मीद है कि यह आपके लिए अधिक उपयोगी होगा। –

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