2013-02-28 11 views
9

उदाहरण के लिए, मेरे पास एक ऐसा कदम है जिसे अक्सर निष्पादित करने की आवश्यकता होती है, उदाहरण के लिए कुछ परीक्षण से पहले उपयोगकर्ता लॉगिन।अपने कैस्परजेएस मॉड्यूल कैसे लिखें?

कैस्परजेएस के लिए कोड के पुन: प्रयोज्य भाग कैसे लिखें? CasperJS को विस्तारित करने के लिए उनके दस्तावेज़ केवल एक फ़ाइल के लिए लिखा गया है ...

धन्यवाद!

+1

मेरा मानना ​​है कि यह [मुद्दा] (https://github.com/n1k0/casperjs/issues/348) आपके द्वारा अनुभव की जा रही समस्या के लिए काफी अच्छी तरह से संबंधित है। – hexid

+0

कैस्पर नोडज पारिस्थितिक तंत्र का हिस्सा नहीं है। – shabunc

उत्तर

8

यहां एक आसान तरीका है। यदि कॉफ़ीस्क्रिप्ट से परिचित नहीं है, तो इसे जेएस 2 कॉफ़ी पर जेएस पर परिवर्तित करें।

परीक्षण/कैस्पर/test.coolPage.coffee

loginModule = require("./test.login") 
loginModule.login("test","testPW") 

casper.test.comment "Testing cool stuff, should be logged in by now" 

casper.thenOpen casper.cli.get("url") + "/myCoolPage", -> 
    @test.assertExists '#myCoolDiv' 

casper.then() -> 
    @test.assertExists '.somethingElse' 

casper.run -> 
    @test.done() 

परीक्षण/कैस्पर/test.login.coffee

exports.login = (username, password) -> 
    casper.test.comment "Loggin in with username \"#{username}\", password \"#{password}\"" 

    casper.start casper.cli.get("url") + "/login", -> 
    @test.assertExists "input[name=username]", "input[name=password]" 

    casper.then() -> 
    @sendKeys "input[name=username]", username 
    @sendKeys "input[name=password]", password 
    @click "input[type=submit]" 

    casper.then() -> 
    #assert you got logged in 

कमांड लाइन से चल रहा है:

cd tests/casper  
casperjs test test.coolPage.coffee --url=http..my-test-url 
+1

हमने लगभग वही किया है। इसके अलावा निर्यात करना और कैस्पर उदाहरण के लिए सीधे विधियों को जोड़ना संभव है: 'casper.login'। – ValeriiVasin

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