2009-07-16 40 views
21

Tôi quan tâm đến việc kiểm tra giao diện người dùng chỉ ứng dụng Java của khách hàng. Khung phổ biến nhất để làm như vậy là gì? Khung được đề xuất của bạn là gì? Ngoài ra, tại sao Selen không làm điều này (hay thực hiện nó)? Dường như với tôi rằng bất cứ điều gì có thể kiểm tra một ứng dụng web sẽ có thể kiểm tra một ứng dụng cửa sổ.Selenium là để kiểm tra giao diện người dùng web như ________ là để kiểm tra giao diện người dùng ứng dụng Windows

Trả lời

12

Hãy thử FEST framework. Đây là những gì trước đây được gọi là Abbot, nếu tôi không nhầm. Tôi sử dụng điều này để kiểm tra tự động và nó có vẻ rất đơn giản và thuận tiện. Những điều đơn giản được thực hiện dễ dàng và phức tạp không phải là một khoa học tên lửa ở đó. Tôi đã xem xét UISpecj4j, nhưng nó không có bộ tôi, bởi vì không có khả năng kỹ thuật để kiểm tra Drag'n'Drop trong khi đó là phải. Bên cạnh đó nó khá khó khăn để phát triển các bài kiểm tra khi bạn không thực sự nhìn thấy những gì đang xảy ra (UISpec4J sử dụng giả, vô hình look'n'feel)

Điều duy nhất là làm phiền trong FEST (cũng theo thiết kế) - nó lấy một chuột và không cho phép bạn làm bất cứ điều gì trong khi nó chạy thử nghiệm.

+0

Liên kết bị hỏng. – Noz

+0

@Noz đã được khắc phục, cảm ơn bạn đã thông báo. – wax

3

Lý do Selenium không thể làm điều này là nó sử dụng Javascript đang chạy trong trình duyệt web để thực hiện kiểm tra. Nó mô phỏng các nút bấm, nhập dữ liệu, vv qua Javascript. Nếu Javascript bị tắt, nó sẽ không hoạt động. Và vì các ứng dụng Swing/AWT không có Javascript, Selenium cũng sẽ không hoạt động trên chúng.

1

Selen là khung dựa trên JavaScript để chỉ có thể chạy trên những thứ có thể thực thi JavaScript. Trình duyệt thực hiện điều này một cách tự nhiên. Theo như tôi lo ngại, không có Khung thực nghiệm nào có thể so sánh được với Selenium trên máy tính để bàn vì nó khá khó để viết một khung công tác gắn vào hệ điều hành giống như Selenium Hooks vào trong Trình duyệt. Phổ biến, không cần thiết nhất, là QTP, SilkTest, TestComplete

+0

Liên kết tới TestComplete bị hỏng. Đây là một hoạt động: http://www.automatedqa.com/products/testcomplete/ – user128807

+0

sửa liên kết của tôi. Tôi lấy cái đó từ google search – AutomatedTester

1

uispec4j là giải pháp thay thế nguồn mở. Tôi chưa thử nó. (Tôi hiện đang thu thập danh sách những thứ cần thử, vì vậy cảm ơn vì đã đặt câu hỏi!)

2

Câu trả lời là: "Mercury winrunner", được sử dụng rộng rãi vào cuối những năm 90 và có lẽ vẫn được sử dụng rộng rãi cho các ứng dụng thắng.

Không được bán như vậy nữa, nhưng nếu hiện tại tôi không nhầm là HP QuickTest Professional. Xem wikipedia page on HPQTP.

của nó bây giờ đã trở thành HP Unified Functional Testing (UFT) 2

2

Nếu bạn có Visual Studio 2010, bạn cũng có thể sử dụng vừa được giới thiệu Visual Studio UI Automation Testing (còn được gọi là giao diện người dùng Coded). Nó giống như sử dụng Selenium với một bản đồ ui.

+1

Bạn cần VS2010 Premium hoặc Ultimate cho chức năng này. VS2010 Professional không bao gồm gói này – sweetfa

1

QTP, Silktest là các công cụ tốt nhất để thử nghiệm giao diện người dùng ứng dụng Windows.

0

Nếu bạn đang tìm kiếm một công cụ nguồn mở, hãy xem Marathon. Nó cho phép bạn ghi lại và phát lại các bài kiểm tra, tạo báo cáo và tích hợp mã của riêng bạn để thử nghiệm các thành phần tùy chỉnh. Tôi đã sử dụng nó trong nhiều năm và có hàng trăm bài kiểm tra.

Ngoài ra còn có phiên bản thương mại có nhiều tính năng hơn nhưng tôi chưa thử.Phiên bản nguồn mở hoạt động tốt cho tôi.

0

Hãy thử Sikuli

Sikuli là một công nghệ sinh tại MIT UI Thiết kế nhóm cho phép để tự động hóa hoạt động máy tính sử dụng computer vision. Tầm nhìn máy tính nhận ra các mẫu từ ảnh chụp màn hình của giao diện người dùng đồ họa (GUI) và ngôn ngữ kịch bản Jython được sử dụng để thực hiện các hành động trên chúng. Ngôn ngữ bao gồm các yếu tố đồ họa và được chỉnh sửa tốt nhất với IDE đi kèm với phần mềm. Sikuli có thể được sử dụng để kiểm tra phần mềm tự động, như Selenium được sử dụng để điều khiển một trang web, nó có thể kiểm soát khá nhiều giao diện mà nó có thể nhận ra và nhấn hoặc nhập văn bản - PC (Windows, Mac OS X và Linux). một ứng dụng iPhone hoặc Android chạy trong trình mô phỏng hoặc thông qua VNC.

Bạn cũng có thể sử dụng Sikuli Java API

API Sikuli cho Java cung cấp chức năng tự động hóa GUI dựa trên hình ảnh để các lập trình viên Java. Nó được tạo ra và sẽ được Sikuli Lab duy trì tích cực. Thư viện Java mới này có một API được thiết kế lại và bao gồm một số hàm mới không có sẵn trong Sikuli Script gốc, chẳng hạn như khả năng khớp màu, xử lý sự kiện và tìm các mẫu hình học như các nút hình chữ nhật. Hơn nữa, nó có một quá trình xây dựng rất đơn giản dựa trên Maven.

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