2009-05-04 29 views
5

Tôi đang cố gắng sử dụng Selenium IDE để nhấp vào một hình ảnh trong một trang html. Id DIV và thay đổi id nhúng phụ thuộc vào dấu thời gian, ví dụ: id="FLASH_0_23458974594", tôi đã thử sử dụng id=/^FLASH_([0-9]+_)[0-9]([0-9]+)/ hoặc id="FLASH_glob:*" nhưng IDE không chọn lên swf. Tôi có làm gì sai ở đây không?Sử dụng selen để nhấp vào swf

Cảm ơn.

Trả lời

3

Bạn đã thử chứa chưa?

click | //object[contains(@id,'FLASH_')] 
+0

Tôi vừa làm và không hoạt động. Tôi nhận được lỗi này: [lỗi] không tìm thấy bộ định vị: // đối tượng [chứa (@ id, 'FLASH_')], error = Lỗi: Phần tử // đối tượng [contains (@ id, 'FLASH_')] không tìm thấy – JLau

+0

Chỉ thấy rằng bạn đang sử dụng thẻ nhúng. Bạn có thể cần phải thay thế 'đối tượng' bằng 'nhúng'. Nếu không, bạn có thể thêm HTML có liên quan từ trang này vào câu hỏi của mình hay không. –

+0

IDE có thể phát hiện nó bằng cách sử dụng nhúng, nhưng nó không nhấp vào nó. Trong nhật ký nó hiển thị - [info] Executing: | click | // embed [contains (@ id, 'FLASH_')] | | nhưng không nhấp vào nó. – JLau

2

Nhấp vào đối tượng flash sẽ không hoạt động. Cách duy nhất để tự động hóa Flash bằng cách sử dụng Selenium là để lộ các hàm UI trong đối tượng Flash thông qua JavaScript. Sau đó, bạn có thể gọi JavaScript bằng cách sử dụng hàm getEval() trong Selenium RC.

0

Chúng tôi sử dụng máy khách Java cho selen và đôi khi có các thử nghiệm của chúng tôi sử dụng Robot Java để di chuyển chuột và nhấp vào khi chúng tôi không thể tương tác trực tiếp với trình duyệt web. Điều này có nhược điểm (chẳng hạn như trình duyệt phải ở mặt trước và độ chính xác có thể hơi phức tạp) nhưng khi chạy thử nghiệm trong một máy ảo, những nhược điểm này được giảm thiểu.

1

Chủ đề này khá cũ, nhưng khi tôi dành nhiều thời gian để tìm giải pháp, tôi trả lời câu hỏi này. Như đã nói @Zugwalt, bạn có thể sử dụng lớp Java Robot. Nhưng trong trường hợp, bạn sử dụng Selenium Grid và RemoteWebDriver như vậy, bạn có thể sử dụng jsch để mở kết nối ssh với máy từ xa của mình và gọi xdotool để nhấp vào một vị trí nhất định.

Bạn có thể xem ví dụ về số này Gist

+1

Công việc cuối cùng của tôi, chúng tôi bắt đầu sử dụng [Sikuli] (http://www.sikuli.org/) với webdriver, nó hoạt động khá tốt với chúng tôi. – JLau

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