2009-10-04 35 views
21

Tôi đang cố gắng chạy thử nghiệm selenium. Tuy nhiên, mỗi khi tôi cố gắng chạy một thử nghiệm mà nên chạy IE tôi nhận được một lỗi trên dòng 863 của htmlutils.js Nó nói rằng tôi nên vô hiệu hóa chặn popup của tôi. Vấn đề là tôi đã đi đến IE tools-> bật khối popup.Internet Explorer 8 64bit và Selenium Không hoạt động

Vì vậy, nó bị vô hiệu hóa và tôi nhận được lỗi này.

Có điều gì khác mà tôi cần phải vô hiệu hóa. Tôi thực sự thậm chí không biết những gì phiên bản của Internet explorer nó đang chạy kể từ khi tôi đang sử dụng Windows 7 Pro 64bit phiên bản. Vì vậy, khi tôi sử dụng IE tôi sử dụng phiên bản 64bit nhưng tôi theo sự hiểu biết nếu các trang web hoặc một cái gì đó như thế không hỗ trợ 64bit nó đi đến 32bit.

Vì vậy, không chắc chắn những gì tôi cần làm để làm cho nó hoạt động.

Đây là dòng mà nó

function openSeparateApplicationWindow(url, suppressMozillaWarning) { 
    // resize the Selenium window itself 
    window.resizeTo(1200, 500); 
    window.moveTo(window.screenX, 0); 

    var appWindow = window.open(url + '?start=true', 'selenium_main_app_window'); 
    if (appWindow == null) { 
     var errorMessage = "Couldn't open app window; is the pop-up blocker enabled?" 
     LOG.error(errorMessage); 
     throw new Error("Couldn't open app window; is the pop-up blocker enabled?"); 
    } 

đâu nhắn log.error này được lưu trữ? Có lẽ tôi cũng có thể đăng bài đó.

+0

Bạn có thể sẽ nhận được kết quả tốt hơn bằng cách đặt câu hỏi này trên diễn đàn hỗ trợ của Selenium. –

+0

Bạn có thể khởi động máy chủ selen với cờ -log, giúp bạn có được kết quả chi tiết hơn về vấn đề này: http://seleniumhq.org/docs/05_selenium_rc.html # selenium-server-logging – Santi

Trả lời

18

Tôi đã có một vấn đề tương tự trên Vista và IE8 tôi sẽ nhận được thông báo lỗi tương tự

Couldn't open app window; is the pop-up blocker enabled?" 

Chạy điều khiển từ xa của tôi với tư cách Quản trị viên không phải là một lựa chọn đối với tôi và cũng là một ý tưởng tồi từ quan điểm bảo mật. Vì vậy, cuối cùng tôi quản lý để giải quyết điều này bằng cách thay đổi trình duyệt từ "* ietha" thành "* iexploreproxy" grid_configuration.yml

hub: 
    port: 4444 
    ... 
    - name: "Internet Explorer 8 on Vista" 
     browser: "*iexploreproxy" 
    ... 

Ngoài ra, bạn có thể thay đổi chuỗi trình duyệt từ mã:

ISelenium selenium = new DefaultSelenium("localhost", 4444, "*iexploreproxy", "http://www.google.com/"); 

trình như một say mê. Câu hỏi duy nhất remaing là nếu điều này bằng cách nào đó ảnh hưởng đến kết quả của các trường hợp thử nghiệm. Cho đến nay không, nhưng tôi sẽ cập nhật câu trả lời này trong trường hợp điều đó sẽ xảy ra.

+0

Điều này không hiệu quả đối với tôi. Sử dụng iexploreproxy nó cố gắng mở URL sau đây sau khi bắt đầu: 'http: // localhost: 8003/selenium-server/core/RemoteRunner.html? SessionId = f44546a9dc584b69a1d20d539a8a037c & multiWindow = true & baseUrl = http% 3A% 2F% 2Flocalhost% 3A8003% 2Findex-test .php% 2F & debugMode = false' không hợp lệ vì không có url "selenium-server" được định nghĩa ... bất kỳ ý tưởng nào? – papaiatis

0

Tôi cũng đang gặp phải sự cố này trên hộp Windows 7 64 bit, cố gắng chạy Selenium để thử nghiệm và ứng dụng ASP .Net MVC, được viết bằng C#.

Tôi vẫn đang cố gắng tìm ra câu trả lời cho bản thân mình, nhưng tôi nghĩ mình sẽ đăng ở đây để cho bạn biết về một chút tiến bộ mà tôi đã thực hiện để có được một điều gì đó hoạt động, mặc dù trong Firefox thay vì IE.

Đây là dòng tôi đã thay đổi:

selenium = new DefaultSelenium("localhost", 4444, "*chrome C:/Program Files (x86)/Mozilla Firefox/firefox.exe", "http://www.bbc.co.uk/"); 

tôi sẽ lý tưởng như để làm việc này trong Internet Explorer 8, nhưng nếu cho thời điểm này, tôi có thể bắt đầu nhận được các bài kiểm tra làm việc và sau đó thay đổi theo để sử dụng IE nữa , sau đó tuyệt vời.

Hy vọng điều này sẽ giúp cho vấn đề của bạn với tất cả.

+0

Hmm Tôi không gặp vấn đề khi chạy selen trong firefox hoặc bất kỳ trình duyệt nào khác được hỗ trợ (opera, safari, chrome). Nó chỉ là IE 8 mà sẽ không chạy. – chobo2

+0

Một gợi ý tôi thấy rằng tôi chưa thể thử được. Là chạy máy chủ ở chế độ quản trị. Hãy thử rằng có thể làm việc – chobo2

8

Tôi đã gặp sự cố tương tự. Tôi chạy máy chủ Selenium RC với tư cách quản trị viên và mọi thứ hoạt động tốt.

+1

Chạy Selenium RC là một quản trị viên giải quyết vấn đề cho tôi quá. –

+0

Làm thế nào để bạn chạy nó với tư cách là quản trị viên? Tôi đang sử dụng 'java -jar selenium-server.jar'. Tôi là quản trị viên nên tôi đoán selen cũng đang chạy trong tài khoản của mình. Hay tôi nên chạy nó theo cách khác? – papaiatis

0

Tôi đã gặp vấn đề tương tự và đã tìm thấy một giải pháp khác phù hợp với tôi. Chỉ cần sử dụng thiết lập * iexploreproxy trong browserString.

tôi đã sử dụng:

selenium = new DefaultSelenium("localhost", 4444, "*iexploreproxy C:/Program Files/Internet Explorer/iexplorer.exe", "http://www.bbc.co.uk/"); 

Tôi hy vọng rằng công trình cho người khác quá :)

0

Tôi gặp sự cố tương tự trên Windows 7 64bit IE8. Bước đầu tiên là tắt trình chặn popup của IE. Sau đó, tôi nhận được thông báo trên thanh trạng thái nói rằng "Cửa sổ bật lên đã bị chặn trên trang này. Nhấn phím 'Ctrl' để cho phép cửa sổ bật lên".

Hóa ra là Thanh công cụ của Google đang cung cấp tính năng này. Vô hiệu hóa nó đã giải quyết được vấn đề. Xem> Thanh công cụ> Google để chuyển đổi.

John.

0

Nếu bạn tình cờ được làm điều này từ JavaScriptMVC, có một tài liệu tham khảo bạn cần thay đổi trong \ jmvc \ plugins \ test \ drivers \ selenium.js:

1) Thay đổi iexplore để iexploreproxy và bạn sẽ nhận được kết quả tốt hơn:

msie : (/iexploreproxy/i).test(browserStartCommand), 

2) Tại thời điểm này, bạn sẽ thấy rằng bạn vẫn gặp lỗi cửa sổ bật lên, nhưng một phiên bản IE riêng đã bắt đầu. Để cửa sổ IE mở và khởi động lại các thử nghiệm, nhưng không phải là Selenium.

3) Tiếp theo, các cửa sổ sẽ hiển thị ở đúng vị trí, nhưng IE cung cấp cho cảnh báo nội dung kích hoạt khối gây phiền nhiễu. Cho phép nội dung chạy và khởi động lại các thử nghiệm, nhưng không phải bản thân Selenium.

Đây là điều cực kỳ khó chịu, nhưng ít nhất nó cũng giúp bạn vượt qua phần đó. Nếu tôi tìm thấy nhiều cách có phương pháp hơn để thực hiện những điều này, tôi sẽ cập nhật khi cần.

-1

Bạn có thể bắt đầu kiểm tra khi tắt Chế độ bảo mật của Internet. Không biết tên chính xác cho nó, nhưng trong tiếng Hà Lan nó là modve beveiligde. Tôi đã thử sửa đổi cài đặt bảo mật để hủy xuất bản chế độ bảo mật này, nhưng không thể tìm thấy cài đặt chính xác cho nó. Nó phải có khối hơn sau đó bạn có thể thiết lập bằng tay.

11

Tôi đã sử dụng tính năng này trên Windows 7 64bit.

Giải pháp của tôi là:

  1. Disable sổ popup khối. - Chọn "Công cụ chặn/Trình chặn cửa sổ bật lên/Tắt trình chặn cửa sổ bật lên"

  2. Tắt chế độ được bảo vệ bằng IE. - "Tools/Internet Options/Security/Bật chế độ bảo vệ" Untick

Nó muốn được tốt hơn chỉ để vô hiệu hóa chế độ bảo vệ cho biết đến tin cậy host/địa chỉ. Tôi sẽ để nó như một bài tập cho người đọc.

+0

Điều này làm việc hoàn hảo cho tôi và có vẻ như là một giải pháp tốt hơn là chạy với tư cách quản trị viên hoặc chuyển sang sử dụng proxy. – stimms

+0

Ha, chỉ tìm thấy câu trả lời này một lần nữa. Vẫn hoạt động và vẫn có vẻ như là giải pháp tốt nhất. – stimms

+0

Điều này không hiệu quả đối với tôi. Tôi đã thêm máy chủ lưu trữ cục bộ vào các trang web đáng tin cậy và chặn cửa sổ bật lên bị tắt và chế độ được bảo vệ bằng IE. Và nó vẫn thất bại như không thể mở cửa sổ ứng dụng? Tôi cần làm gì khác? Nó hoạt động tốt cho một quản trị viên nhưng chúng tôi không thể chạy nó như thế khi chúng tôi đang chạy nó thông qua selunit trong máy chủ xây dựng của chúng tôi. – Bernard

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