Tại sao các ứng dụng dựa trên thiết bị đầu cuối vẫn còn quan trọng
Các ứng dụng phần mềm càng ngày càng trở nên phức tạp hơn trong các giao diện người dùng của chúng. Nhưng vẫn còn nhiều ứng dụng dựa vào thiết bị đầu cuối và các ứng dụng này đóng một vai trò quan trọng trong ngành công nghiệp phần mềm, vì chúng luôn luôn được sử dụng trên các máy chủ.
Một ứng dụng dựa trên thiết bị đầu cuối thường được thiết kế cho các nền tảng khác với Microsoft Windows, ví dụ như Linux, IBM® AIX® và Solaris. Ứng dụng này không có giao diện người dùng, vì vậy người dùng tương tác với ứng dụng bằng cách nhập một lệnh có trả về trực tiếp kết quả đầu ra bằng văn bản. So với các giao diện người dùng đồ họa (GUI), các ứng dụng này có trọng số nhẹ, đòi hỏi tài nguyên hệ thống ít hơn và khởi động nhanh hơn.
Có thể khởi chạy các ứng dụng dựa trên thiết bị đầu cuối tại chỗ hoặc từ xa. Do đó, bạn có thể đăng nhập vào hệ thống từ xa, bằng cách sử dụng một bộ mô phỏng thiết bị đầu cuối, và sau đó khởi chạy ứng dụng bằng cách nhập vào các lệnh ở thiết bị đầu cuối. Ứng dụng này rất dễ điều khiển từ xa miễn là có cài đặt bộ mô phỏng thiết bị đầu cuối trên hệ thống.
Tổng quan về mở rộng dựa trên thiết bị đầu cuối
IBM® Rational® Functional Tester là một công cụ thử nghiệm chức năng tự động theo hướng-đối tượng. Công cụ này nổi tiếng về thử nghiệm tự động hóa GUI. Phiên bản 8.0 cung cấp một công cụ mở rộng dựa trên thiết bị đầu cuối mới có thể giúp bạn thử nghiệm các ứng dụng dựa trên thiết bị đầu cuối. Nó hỗ trợ thử nghiệm chức năng cho các kiểu thiết bị đầu cuối sau:
- IBM® pSeries® (các thiết bị đầu cuối ảo, như VT mặc định, VT100, VT420-7, VT420-8, VT UTF-8)
- IBM® zSeries® (máy tính lớn, như TN3270, TN3270E)
- IBM® iSeries® (IBM® AS/400®, như TN5250)
Công cụ này giống như một bộ mô phỏng thiết bị đầu cuối, trong đó nó có thể hoạt động như một máy khách để kết nối với máy tính chủ. Nó được nhúng trong phần mềm thử nghiệm và dựa vào Java, vì vậy nó rất dễ tự động hóa thử nghiệm với Rational Functional Tester.
Khởi chạy công cụ mở rộng dựa trên thiết bị đầu cuối
Có ba cách để khởi chạy công cụ mở rộng.
Bạn có thể nhấn vào biểu tượng khởi động trên thanh công cụ, như trong Hình 1.
Hình 1. Khởi chạy công cụ mở rộng, ví dụ 1
Bạn có thể sử dụng các trình đơn để khởi chạy Application Configuration Tool (Công cụ cấu hình ứng dụng):
- Nhấn Configure (Cấu hình) trong thanh trình đơn, rồi chọn Configure Applications for Testing (Cấu hình các ứng dụng để thử nghiệm) từ trình đơn thả xuống (Hình 2).
- Chọn và chạy mở rộng bằng cách chọn Extension for Terminal Applications (Mở rộng với các ứng dụng thiết bị đầu cuối) từ danh sách các ứng dụng, rồi nhấn Run (Hình 3).
Hình 2. Khởi chạy công cụ mở rộng, ví dụ 2
Hình 3. Khởi chạy công cụ mở rộng, ví dụ 2
Bạn có thể khởi chạy công cụ mở rộng theo mã tự động hóa của bạn. Bạn có thể thêm mã trong Liệt kê 1 vào phần tự động hóa của bạn để khởi chạy công cụ trong lúc thử nghiệm tự động của bạn.
Liệt kê 1. Khởi chạy công cụ mở rộng bằng cách sử dụng mã, ví dụ 3
com.rational.test.ft.script.RationalTestScript.
startApp("Extension for Terminal Applications");
|
Mã này gọi startApp của lớp RationalTestScript. Tham số là tên của công cụ. Lưu ý là tên có phân biệt chữ hoa, chữ thường.
Mẹo nhỏ:
Nếu bạn muốn phát triển tự động hóa của mình
để thử nghiệm các ứng dụng bàn điều khiển, thì đây là sự lựa chọn tốt nhất
để khởi chạy mở rộng.
Sử dụng mở rộng của Rational Functional Tester
Sau khi công cụ mở rộng được khởi chạy, bạn có thể thấy cửa sổ được hiển thị trong Hình 4.
Hình 4. Mở rộng với cửa sổ của các ứng dụng dựa trên thiết bị đầu cuối
Ô trên cùng trong cửa sổ này là thông tin về cấu hình kết nối (Connection configuration). Khung nhìn thiết bị đầu cuối ở ô dưới cùng. Các phím chức năng được hiển thị như các nút nằm ngang ở phía dưới cùng. Bạn có thể nhập địa chỉ máy tính chủ, chọn loại thiết bị đầu cuối, quy định một cổng kết nối, chọn một trang mã và chọn kích thước màn hình từ ô trên cùng. Khi bạn đã kết nối với một máy tính chủ, thông tin sẽ hiển thị trong khung nhìn của bàn điều khiển màu đen ở ô dưới cùng và ô dưới cùng sẽ mở rộng tự động, như trong Hình 5.
Hình 5. Khung nhìn màn hình khi được kết nối với máy tính chủ
Việc sử dụng công cụ này phổ biến nhất là kết nối với một máy tính chủ. Bạn có thể lưu, tải và chia sẻ các cấu hình máy tính chủ phổ biến bằng cách sử dụng một tệp đặc tính, và bạn có thể sử dụng các kịch bản lệnh để tải cấu hình kết nối. Bạn cũng có thể làm việc với nhiều thiết bị đầu cuối đồng thời.
Điều khiển công cụ mở rộng tự động
Rational Functional Tester là một công cụ rất tốt để phát triển và thử nghiệm tự động hóa GUI, đặc biệt là đối với các ứng dụng dựa trên-Java. Nó có thể nhận ra tất cả các đối tượng trong giao diện người dùng. Bạn có thể lấy các đối tượng thử nghiệm bằng cách sử dụng mã trong Liệt kê 2.
Liệt kê 2. Mã để lấy các đối tượng thử nghiệm
RootTestObject root = RationalTestScript.getRootTestObject(); TestObject[] o = root.find(SubitemFactory.atDescendant( property, value )); |
Bản đồ đối tượng thử nghiệm trong Rational Functional Tester có cấu trúc cây và nó là mô hình đơn lẻ. Điều này có nghĩa là chỉ có một RootTestObject, là phần tử cha mẹ của tất cả các TestObject khác.
Dòng đầu tiên của mã trong Liệt kê 2 gọi getRootTestObject. Tất cả các TestObject có các đặc tính và các giá trị để cho bạn có thể xác định từng TestObject theo các đặc tính và các giá trị cụ thể của nó. Dòng thứ hai trong Liệt kê 2 gọi phương thức find để lấy TestObjects theo đặc tính và giá trị.
Tuy nhiên, TestObject có thể có rất nhiều đặc tính, vì vậy bạn cần chọn một hoặc nhiều đặc tính để chỉ mô tả đối tượng này để tìm ra nó. Rational Functional Tester cung cấp một công cụ để lấy các đặc tính và các giá trị của các TestObject.
Trong ảnh chụp màn hình trong Hình 6, bạn có thể thấy rằng công cụ này nhận được các đặc tính và các giá trị được liệt kê trong một bảng. Bạn có lẽ tự hỏi liệu đã liệt kê tất cả các đặc tính chưa. Câu trả lời là "hầu như lúc nào cũng thế", nhưng không phải tất cả các đặc tính này đều được công cụ này hiển thị.
Hình 6. Nhận đặc tính TestObject
Nếu bạn muốn xem tất cả các đặc tính, bạn có thể in tất cả các đặc tính và các giá trị bằng cách sử dụng mã, như ví dụ trong Liệt kê 3.
Liệt kê 3. Mã để in tất cả các đặc tính và các giá trị của một TestObject
TestObject o = getTheObject();
Object[] keys = o.getProperties().keySet().toArray();
for (Object key : keys) {
System.out.println(key.toString() + " : " + o.getProperty(key.toString()));
}
|
Trong Liệt kê 3, mã này gọi getTheObject, trả về cá thể của TestObject và sau đó nó lấy tất cả các khóa và chuyển đổi chúng thành một mảng. Trong vòng lặp for, nó in tất cả các đặc tính và các giá trị. Nhờ phân tích các kết quả này, bạn có thể quyết định các đặc tính nào mô tả tốt nhất TestObject, vì vậy bạn có thể sử dụng phương thức find để lấy đối tượng thử nghiệm.
Bây giờ bạn có thể lấy được các TestObject, bạn cần mô phỏng các hoạt động bàn phím hoặc chuột trên các TestObject này. Trong Rational Functional Tester, tất cả các phương thức tương tác TestObject có sẵn từ lớp GuiTestObject, vì vậy bạn có thể mô phỏng các hoạt động bàn phím hoặc các hoạt động chuột bằng cách sử dụng lớp này. Sau khi bạn nhận được TestObject bạn có thể tạo GuiTestObject, như trong Liệt kê 4.
Liệt kê 4. Nhấn vào TestObject
TestObject o = getTheTestObjcet(); new GuiTestObject(o).click(); |
Như bạn biết, không có GUI nào cho các ứng dụng bàn điều khiển. Những người dùng tương tác với các ứng dụng dựa trên thiết bị đầu cuối bằng cách nhập văn bản rồi đọc thông tin phản hồi dạng văn bản từ bàn điều khiển. Nếu bạn muốn tương tác với các ứng dụng bàn điều khiển theo mã tự động hóa, bạn cần làm cho mã đó trở thành lệnh đầu vào cho thiết bị đầu cuối và nhận được thông tin phản hồi dạng văn bản từ thiết bị đầu cuối.
Như đã đề cập ở trên, GuiTestObject có thể mô phỏng các hoạt động của bàn phím. Vì vậy, nếu bạn đã tìm thấy TestObject, bạn có thể tạo GuiTestObject, rồi GuiTestObject cho phép bạn nhập các lệnh cho thiết bị đầu cuối. Thật dễ sử dụng.
Bây giờ chúng ta hãy xem cách nhận thông tin phản hồi từ thiết bị đầu cuối.
Mặc dù bạn có thể cần nhận từng dòng đầu ra, theo mặc định, bạn chỉ có thể
nhận các dòng đầu ra cuối cùng trong thiết bị đầu cuối. Để nhận được kết
quả đầu ra của tất cả các dòng đơn trong bàn điều khiển, trong tệp
ivory.properties, nằm trong Rational Functional
Tester install directory\FunctionalTester\bin location, bạn cần
thiết lập cờ
sau:rational.test.ft.fte.playback.vt_row_vp =
true
Theo mặc định, cờ này được thiết lập là false (sai). Nếu bạn thiết lập cờ này là true (đúng), bạn có thể nhận được TestObject của mọi dòng đơn. Sau đó, bạn có thể nhận được các ký tự của mỗi dòng bằng đặc tính char của đối tượng hàng, như trong Hình 7.
Hình 7. Nhận được kết quả đầu ra của một hàng trên thiết bị đầu cuối
Các mẹo nhỏ để tương tác với nhiều thiết bị đầu cuối
Để tương tác với nhiều thiết bị đầu cuối, điểm then chốt là có khả năng nhận biết từng cửa sổ của thiết bị đầu cuối. Dù bạn đã khởi chạy thiết bị đầu cuối mở rộng như thế nào chăng nữa, tất cả các đặc tính của cửa sổ thiết bị đầu cuối là như nhau. Tuy nhiên, công cụ mở rộng có thể lưu và mở các kết nối trong một tệp. Nếu bạn mở một kết nối từ một tệp, tên của hộp thoại thiết bị đầu cuối sẽ kết thúc bằng tên tệp, như thể hiện trong Hình 8.
Hình 8. Mở một kết nối thiết bị đầu cuối bằng cách sử dụng một tệp
Có một đặc tính có tên là captionText cho hộp thoại thiết bị đầu cuối. Nhờ sử dụng đặc tính này, bạn có thể chỉ ra trong mã của mình hộp thoại bàn điều khiển nào bạn muốn sử dụng cho lần thử nghiệm này.
Các cách khác để sử dụng công cụ mở rộng
Trong bài này, bạn đã học cách sử dụng Mở rộng của Rational Functional Tester cho các ứng dụng dựa trên thiết bị đầu cuối để tự động hóa các ứng dụng thử nghiệm với một giao diện người dùng của bàn điều khiển. Công cụ này có thể được sử dụng rộng rãi, không chỉ dùng để thử nghiệm tự động hóa mà còn là một công cụ thiết bị đầu cuối hoặc dùng để cấu hình tự động các hệ điều hành.
Học tập
- Tìm hiểu thêm về Rational Host Access
Transformation Services (Các dịch vụ chuyển đổi truy cập máy tính chủ
Rational), Phiên bản 8:
- Truy cập vào trang sản phẩm.
- Duyệt HATS HotSpot để biết các liên kết đến các bài viết kỹ thuật và nhiều tài nguyên liên quan.
- Xem Rational Host Access Transformation Services V8.0 trang Các yêu cầu hệ thống chi tiết Để biết thêm thông tin chi tiết về các điều kiện cần trước và các môi trường hoạt động.
- Thêm các trình diễn được HATS ghi lại và thử các trình diễn trực tiếp tại trang web HATS Demos.
- Nhận thêm thông tin chi tiết về Mở
rộng với các ứng dụng dựa trên đầu cuối của Rational Functional
Tester.
- Truy cập vào Vùng Rational Functional Tester trên developerWorks để xem giới
thiệu chuyên sâu hơn.
- Khám phá Trung tâm Thông tin của Rational Functional Tester, ở đây bạn
cũng có thể tham gia một chuyến du lịch ngắn bằng video.
- Kiểm tra Rational Functional Tester Plus, một gói thử nghiệm ứng dụng phần
mềm.
- Truy cập vào Vùng Rational
Functional Tester trên developerWorks để có các tài nguyên kỹ
thuật và các cách thực hành tốt nhất cho các sản phẩm Nền tảng phân phối
phần mềm của Rational.
- Theo sát với các sự kiện kỹ thuật và các webcast của developerWorks tập trung vào một loạt các sản phẩm của IBM và các xu hướng của ngành công nghiệp công nghệ thông tin.
- Tham dự một hướng dẫn Trực tiếp miễn phí trên developerWorks! để tăng tốc độ nhanh chóng trên các sản phẩm và các công cụ của IBM, cũng như các xu hướng của ngành công nghiệp công nghệ thông tin.
- Xem các trình diễn theo yêu cầu của developerWorks, khác nhau từ cài đặt sản phẩm và các trình diễn thiết lập cho người mới bắt đầu đến các chức năng cao cấp cho các nhà phát triển có kinh nghiệm.
- Cải thiện các kỹ năng của bạn. Xem danh
mục đào tạo và
chứng chỉ của Rational, trong đó bao gồm nhiều loại khóa học trên
rất nhiều chủ đề. Bạn có thể chọn một vài khóa học trong số đó ở bất cứ
đâu, bất cứ lúc nào và có nhiều khóa học "Bắt đầu" miễn phí.
Lấy sản phẩm và công nghệ
- Lấy bản tải về dùng thử miễn phí cho Rational Host Access
Transformation Services.
- Đánh giá Rational
Host Access Transformation Services bằng cách dành một vài giờ trong Enterprise Modernization Sandbox (Hộp thử hiện đại hóa doanh
nghiệp).
- Đánh giá phần mềm
của IBM theo cách phù hợp với bạn nhất: Tải về phần mềm để dùng
thử, dùng thử phần mềm trực tuyến, sử dụng phần mềm trong một môi trường
đám mây, hoặc dành một vài giờ trong SOA Sandbox của SOA để tìm hiểu cách thực hiện kiến trúc hướng
dịch vụ có hiệu quả.
- Hãy thử Rational Functional Tester miễn phí, cần đăng ký.
- Đánh giá phần mềm
của IBM theo cách phù hợp với bạn nhất: Tải về phần mềm để dùng
thử, dùng thử phần mềm trực tuyến, sử dụng phần mềm trong một môi trường
đám mây, hoặc dành một vài giờ trong SOA Sandbox để tìm hiểu cách thực hiện kiến trúc hướng dịch vụ có
hiệu quả.
Thảo luận
- Tham gia diễn đàn Các dịch vụ chuyển đổi truy cập máy tính chủ Rational để
đặt các câu hỏi và tham gia các cuộc thảo luận.
- Dành tâm trí cho diễn đàn thảo luận thử nghiệm GUI và chức năng developerWorks nơi
bạn có thể thảo luận và hỏi các câu hỏi về các chủ đề thử nghiệm chung và
Rational Functional Tester.
-
Đánh giá hoặc xem xét lại phần mềm Rational. Thật nhanh và dễ
dàng. Thật đấy.
- Chia sẻ kiến thức của bạn và giúp đỡ
những người khác sử dụng phần mềm Rational bằng cách viết bài cho developerWorks. Bạn sẽ tiếp xúc với toàn thế giới,
nhận được RSS (nguồn cấp tin) qua tổ chức, một tên tác giả và một lý lịch
và có được lợi ích của việc sản xuất và chỉnh sửa chuyên nghiệp trên trang
web Rational của developerWorks. Tìm hiểu những gì tạo ra một bài viết tốt trên developerWorks và cách bắt
đầu.
- Làm theo phần mềm Rational trên Facebook và Twitter
(@ibmrational) và thêm nhận xét và yêu cầu của bạn.
- Hỏi và trả lời các câu hỏi và nâng cao
chuyên môn của bạn khi bạn dành tâm trí vào các diễn đàn, các quán cà phê và các wiki về Rational.
- Kết nối với những người khác, người
chia sẻ các sở thích của bạn bằng cách tham gia cộng đồng
developerWorks và đáp ứng các blog theo hướng-nhà phát triển.
