पर गुजरता है मैंने अपने आंतरिक एप्लिकेशन में लॉगिन करने के लिए बेहत में एक बहुत ही सरल लॉगिन परीक्षण बनाया है। दो लॉगिन प्रकार हैं (एक ही स्क्रीन और बॉक्स से किया गया)। बुनियादी और उन्नत है। केवल अंतर यह है कि लॉग इन करने वाले उपयोगकर्ता में एक से अधिक कंपनी तक पहुंच है और उसे काम करने के लिए कंपनी चुनने के लिए कहा जाता है।फ़ैंटॉमजेएस के माध्यम से बेहट लॉगिन परीक्षण चलाते समय यह केवल पहले रन
मुझे लगता है कि जब भी मैं सेलेनियम के बजाय फैंटॉमजेएस के माध्यम से परिदृश्य चलाता हूं तो वे बहुत तेजी से दौड़ते हैं (जाहिर है क्योंकि एक हेडलेस ब्राउज़र एमुलेटर में कुछ भी प्रस्तुत नहीं किया जाना चाहिए)। जब मैं पहली बार फैंटॉमजेएस लॉन्च करता हूं तो यह दोनों परिदृश्यों को ठीक करता है। लेकिन फिर मैं इसे दूसरी बार चलाता हूं और यह पहली परिदृश्य (मूल लॉगिन) में विफल रहता है।
अगर मैं फ़ैंटॉमजेएस को पुनरारंभ करता हूं तो यह दूसरी कोशिश तक फिर से काम करता है। मैं इससे बहुत उलझन में हूं। ऐसा क्यों है कि मुझे पहले कॉल पर फिर से पारित होने के लिए फ़ैंटॉमजेएस को पुनरारंभ करने की आवश्यकता है।
यदि मैं निर्दिष्ट करता हूं कि मैं इसे बाद के रनों पर उन्नत लॉगिन चलाने के लिए चाहता हूं तो यह उस लॉगिन को भी विफल कर देता है। अगर मैं मूल लॉगिन निर्दिष्ट करता हूं (अभी भी इसे दोनों परिदृश्यों को चलाने से रोक रहा है) तो यह भी विफल हो जाता है। लेकिन जब मैं एक ही कॉल में दोनों परिदृश्य चलाता हूं तो पहला हमेशा विफल रहता है और दूसरा हमेशा गुजरता है।
मैंने ऑर्डर को भी स्विच किया ताकि मूल पहले और पहले परिदृश्य (इस मामले में उन्नत) में दूसरी बार विफल हो और दूसरा गुजरता है। तो दुनिया में क्या चल रहा है?
एक अतिरिक्त बोनस के रूप में मैंने आगे बढ़कर एक पंक्ति जोड़ा जो 'फिर मैं "लॉग आउट" का पालन करता हूं और अचानक अचानक दोनों परिदृश्य पास हो जाते हैं। जो समझ में आता है अगर यह इस तथ्य के लिए नहीं था कि यह दूसरे परिदृश्य के दौरान ठीक काम करता है। अगर यह पहले से लॉग इन है तो यह दोनों विफल नहीं होना चाहिए? क्या यह सुनिश्चित करने का कोई तरीका है कि प्रत्येक परिदृश्य के अंत में फैंटॉमजेएस के लिए कैश साफ़ हो गया है?
Feature: Login
Login to app using a basic user
Login to app using a multi-company user
@javascript
Scenario: Basic Login
Given I am on "/"
And I wait a few seconds
When I fill in "login" with "ijones"
And I fill in "password" with "[email protected]"
And I press "LoginButton"
And I wait a few seconds
Then I should see "By clicking below"
And I press "OK"
Then I should see "Welcome"
@javascript
Scenario: Advanced Login
Given I am on "/"
When I fill in "login" with "rtyler"
And I fill in "password" with "[email protected]"
And I press "LoginButton"
Then I wait for the company selection box
And I click a field "company"
And I pick "Test Company 2"
And I press "CompanyLoginButton"
Then I should see "By clicking below"
And I press "OK"
Then I should see "Welcome"
मेरे पास संहिता में एक ही समस्या है। फैंटॉमजेएस सत्र रखें। – Adamamont
मेरे पास एक ही समस्या है, लेकिन मेरे मामले में भी रीसेट() मदद नहीं करता है। – Pavel