8

मैं e2e परीक्षण के लिए प्रोटैक्टर का उपयोग करने की कोशिश कर रहा हूं लेकिन पहले मुझे एक गैर-कोणीय पृष्ठ पर लॉगिन करने की आवश्यकता है। मैं सीधे वेब ड्राइव का उपयोग here के रूप में करने का प्रयास करता हूं लेकिन यह विफल रहता है।एक गैर कोणीय पृष्ठ पर प्रोटैक्टर के साथ परीक्षण लॉगिन

मेरे E2E परीक्षण:

describe('angularjs homepage', function() { 

    it('should prompt the login page', function() { 
    browser.get('/'); 
    expect(browser.driver.find(By.id('user_password'))); 
    }); 

}); 

मेरे लॉग्स:

Running "protractor:all" (protractor) task 
Using the selenium server at http://localhost:4444/wd/hub 
F 

Failures: 

    1) angularjs homepage should prompt the login page 
    Message: 
    TypeError: Object [object Object] has no method 'find' 

आप एक समाधान को जानते हो?

उत्तर

10

आप गैर-कोणीय पृष्ठों के लिए browser.get के बजाय

browser.driver.get 

उपयोग करने के लिए की जरूरत है। इसके अलावा, आपको

browser.driver.ignoreSynchronization = true in the beforeEach() function 

सेट करने की आवश्यकता है मैंने गैर-कोणीय पृष्ठों के लिए एक पृष्ठ जोड़ा है। एक गैर कोणीय पेज के लिए https://github.com/sakshisingla/Protractor-Non-Angular-Tests/wiki/Creating-test-scripts-using-Protractor-for-non-angular-application

1

यह चांदा वेबसाइट में दर्ज है:

http://angular.github.io/protractor/#/faq

के तहत मैं अपने लॉग-इन पेज से कैसे निपटते हैं?

+0

मुझे यकीन है कि मैं इस बिट (लिंक आपके द्वारा दी गई पर withLoginConf.js पर) समझ में नहीं हूँ: वहाँ नहीं है यहाँ कुछ याद आ रही है? ---> वापसी /index/.test(url); – AKFourSeven

0

, पहली बार इस

browser.ignoreSynchronization = true; 

ऊपर लाइन चांदा है कि यह एक कोणीय पेज नहीं है बता देंगे उपयोग करें, और आप कर सकते हैं: आप एक ही उल्लेख कर सकते हैं आपके गैर-कोणीय पृष्ठ पर कोई कार्रवाई। अब जब आप पूरा कर लें, और एक कोणीय पेज उपयोग करने के लिए ले जाना चाहते हैं

browser.ignoreSynchronization = false; 
संबंधित मुद्दे