2015-04-29 23 views
6

Trường hợp tôi thử kiểm tra: Trên nút bấm trang ứng dụng góc, chuyển hướng bạn đến một số trang web khác (không phải ứng dụng Góc).Thước đo: lấy url của trang không góc

it('should go to 3d party service when i click "auth" button' , function() { 

    browser.driver.sleep(3000); 
    element(by.id('files-services-icon')).click(); 
    element(by.id('box-vendor-menu-item')).click(); 
    browser.driver.sleep(2000); 

    expect(browser.driver.getLocationAbsUrl()).toContain('https://app.box.com/api/oauth2/authorize'); 
}); 

nhưng tôi nhận được:

UnknownError: unknown error: angular is not defined

Làm thế nào có thể được achived? Cảm ơn!

Trả lời

7

Bạn cần làm 2 việc

  • Set browser.ignoreSynchronization = true; trước khi cố gắng để đọc các URL của trang bên thứ 3, vì vậy trình duyệt không chờ đợi (và do đó đòi hỏi phải) hứa hẹn góc để giải quyết trong trang (và đặt nó thành false sau đó);
  • Sử dụng browser.getCurrentUrl() như trái ngược với browser.getLocationAbsUrl(), vì trước đây chỉ sử dụng phương pháp trình duyệt web đơn giản để đọc URL, thay vì truy cập nó qua Angular.

Sau đây nên làm việc:

it('should go to 3d party service when i click "auth" button' , function() {  
    element(by.id('files-services-icon')).click(); 
    element(by.id('box-vendor-menu-item')).click(); 
    browser.ignoreSynchronization = true; 
    expect(browser.getCurrentUrl()).toContain('https://app.box.com/api/oauth2/authorize'); 
    browser.ignoreSynchronization = false; 
}); 
2

Bạn cần phải tinh chỉnh ignoreSynchronization flag - đặt nó vào true trước khi bấm vào liên kết và thiết lập trở lại false trong afterEach():

afterEach(function() { 
    browser.ignoreSynchronization = false; 
}); 

it('should go to 3d party service when i click "auth" button' , function() {  
    element(by.id('files-services-icon')).click(); 

    browser.ignoreSynchronization = true; 
    element(by.id('box-vendor-menu-item')).click(); 

    expect(browser.getLocationAbsUrl()).toContain('https://app.box.com/api/oauth2/authorize'); 
}); 

Xem thêm:

Bạn cũng có thể cần phải chờ URL thay đổi, example here .

+0

cảm ơn bạn đã giải thích, nhưng điều này cũng trả lại lỗi tương tự 'UnknownError: lỗi không xác: góc không defined' là – paka

Các vấn đề liên quan