8

मैं एक WAMP मंच पर Codeception का नवीनतम संस्करण चला रहा हूँ नहीं है - मेरी स्वीकृति लेकिन बहुत ही बुनियादी है ठीक काम करता है (देखें नीचे):Codeception - स्वीकृति परीक्षण काम करते हैं लेकिन कार्यात्मक परीक्षण

$I = new WebGuy($scenario); 
$I->wantTo('Log in to the website'); 
$I->amOnPage('/auth/login'); 
$I->fillField('identity','[email protected]'); 
$I->fillField('password','password'); 
$I->click('Login'); 

संक्षेप में - यह पृष्ठ जांचता है 'auth/login' 2 फॉर्म फ़ील्ड्स भरता है और लॉगिन बटन पर क्लिक करता है। यह किसी भी समस्या के बिना काम करता है।

यहाँ मेरी समान कार्यात्मक परीक्षण है:

$I = new TestGuy($scenario); 
$I->wantTo('perform actions and see result'); 
$I->amOnPage('/auth/login'); 
$I->fillField('identity','[email protected]'); 
$I->fillField('password','password'); 
$I->click('Login'); 

जब मैं कमांड लाइन मैं निम्न त्रुटि (नहीं पूर्ण त्रुटि लेकिन पर्याप्त समस्या को समझने के लिए) प्राप्त से चलाएँ:

1) Couldn't <-[35;1mperform actions and see result<- 
[0m in <-[37;1LoginCept.php<-[0m <-41;37mRuntimeException: 
Call to undefined method TestGuy::amOnPage<-[0m....... 

मेरा स्वीकार्यता सूट 'phpBrowser' & 'वेबहेल्पर' मॉड्यूल सक्षम है, कार्यात्मक सूट में 'फाइलसिस्टम' & 'टेस्टहेल्पर' सक्षम है (स्वीकृति.suite.yml & functional.suite.yml फ़ाइलों के भीतर)

स्पष्ट रूप से amOnPage() फ़ंक्शन समस्या है - हालांकि मुझे विश्वास है कि amOnPage() को स्वीकृति और कार्यात्मक परीक्षण में काम करना चाहिए? या मैं गलत हूं - भी - क्या कोई समझा सकता है कि संख्याओं का अर्थ क्या है '< - [35; 1 एम' जो

अद्यतन: मैंने functional.suite.yml पर 'WebHelper' मॉड्यूल जोड़ने का प्रयास किया लेकिन मैं नहीं करता amOnPage() को TestGuy.php फ़ाइल में स्वत: जेनरेट किया गया - कोई विचार?

मेरे config फाइल को नीचे हैं:

WebGuy

class_name: WebGuy 
modules: 
enabled: 
    - PhpBrowser 
    - WebHelper 
config: 
    PhpBrowser: 
     url: 'http://v3.localhost/' 

TestGuy

class_name: TestGuy 
modules: 
enabled: [Filesystem, TestHelper, WebHelper] 

उत्तर

9

खैर, यह तो है, TestGuy की वजह से उन तरीकों की जरूरत नहीं है। उन सभी विधियों में PhpBrowser, सेलेनियम 2 मॉड्यूल या अन्य जो कोडप्शन मिंक कार्यान्वयन से विरासत में हैं। तो आपको मॉड्यूल अनुभाग में अपने कार्यात्मक सूट में PhpBrowser जोड़ने की आवश्यकता है, और उसके बाद codecept build आदेश चलाएं।

यह भी ध्यान रखें कि कार्यान्वयन परीक्षण के लिए स्वीकृति परीक्षण और PhpBrowser के लिए सेलेनियम 2 मॉड्यूल का उपयोग करना बेहतर है। मुख्य विचार यह है कि स्वीकृति (सेलेनियम 2) परीक्षणों में आपके आवेदन के उन हिस्से को शामिल करना चाहिए, जिन्हें कार्यात्मक (PhpBrowser) परीक्षणों द्वारा कवर नहीं किया जा सकता है, उदाहरण के लिए कुछ जेएस-इंटरैक्शन।

+0

धन्यवाद सांत्वना उत्पादन से '<-[35;1m' दूर करने के लिए @Elkan मैं अपने functional.suite.yml फाइल करने के लिए 'PhpBrowser' जोड़ा गया है और 'codecept निर्माण' कमांड चलाने के लिए और एक "PhpBrower मॉड्यूल प्राप्त कर लिया है कॉन्फ़िगर नहीं किया गया है! मॉड्यूल PhpBrowser कॉन्फ़िगर नहीं किया गया है। कृपया इसे आवश्यक फ़ील्ड देखें। मैं यहां से क्या करता हूं पर कोई विचार? – Zabs

+0

नोट .. मैं कोडइग्निटर का उपयोग कर रहा हूं .. और मुझे पता चला है कि मॉड्यूल नहीं है यह अभी तक इस समय पर है :( – Zabs

+0

हां, अब सीआई के लिए कोई मॉड्यूल उपलब्ध नहीं है, लेकिन फिर कार्यात्मक परीक्षणों के लिए PhpBrowser का उपयोग करें, गति अंतर इतना नहीं है जब आप PhpBrowser (कर्ल पर आधारित) और फ्रेमवर्क देशी मॉड्यूल (सिम्फनी ब्राउज़र-किट के आधार पर) का उपयोग करें।त्रुटि पर वापस, आपको PhpBrowser को कॉन्फ़िगर करने की आवश्यकता है, कोडप्शन साइट पर मॉड्यूल दस्तावेज़ देखें :) – Elkan

-1

बारे '<-[35;1m' शुरू स्क्रिप्ट codecept run --no-colors

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