Tự học kiểm thử tự động với Appium- Giới thiệu Appium và hướng dẫn cài đặt (Phần 1)
Kiểm thử tự động là một khái niệm khá quen thuộc trong kiểm thử phần mềm, nhưng để nắm bắt và update những công cụ kiểm thử tự động là một điều không hề đơn giản. Đặc biệt là những bạn ngại ngần về code. Và mình cũng không phải ngoại lệ =)). Kiểm thử tự động không quá khó như mọi người nghĩ, chỉ ...
Kiểm thử tự động là một khái niệm khá quen thuộc trong kiểm thử phần mềm, nhưng để nắm bắt và update những công cụ kiểm thử tự động là một điều không hề đơn giản. Đặc biệt là những bạn ngại ngần về code. Và mình cũng không phải ngoại lệ =)). Kiểm thử tự động không quá khó như mọi người nghĩ, chỉ cần nắm chắc một số câu lệnh cơ bản của một ngôn ngữ lập trình nào đó thì bạn đều có thể bắt đầu kiểm thử tự động. Trong bài viết này, mình muốn chia sẻ với mọi người kiến thức kiểm thử tự động với công cụ Appium và sử dụng ngôn ngữ Java.
1.1 Appium là gì?
- Appium là một công cụ kiểm thử tự động các ứng dụng web, native app và hybrid app.
- Native app - Ứng dụng gốc: là những ứng dụng được viết bằng iOS, Android hoặc Windows SDK.
- Web app - Ứng dụng web: là các ứng dụng web được truy cập bằng trình duyệt dành cho thiết bị di động (Appium hỗ trợ Safari trên iOS và Chrome hoặc ứng dụng 'Browser' được tích hợp sẵn trên Android).
- Hybrid app - Ứng dụng lai: là các ứng dụng có trình bao bọc xung quanh "webview" - một điều khiển riêng cho phép tương tác với nội dung web.
- Appium là công cụ kiểm thử tự động mã nguồn mở rất hữu ích trong kiểm thử tự động các ứng dụng trên nền tảng Android, iOS và Windows desktop.
- Điều quan trọng nhất là: Appium là công cụ kiểm thử tự động “cross-platform"- đa nền tảng giúp bạn có thể thiết kế nhiều test tự động hóa phần mềm cho các ứng dụng iOS và Android (nhiều nền tảng) sử dụng cùng một API.
- “Đa nền tảng” cho phép bạn sử dụng lại lượng lớn code giữa các test suites iOS và Android.
- Appium hỗ trợ kiểm thử phần mềm tự động hóa trên trình mô phỏng hoặc giả lập và các thiết bị di động vật lý.
1.2 Nguyên lý của Appium
Appium được thiết kế để đáp ứng nhu cầu tự động hóa kiểm thử ứng dụng di động theo bốn nguyên lý sau:
- Không nên biên dịch lại ứng dụng của bạn để tự động hóa nó.Nghĩa là dùng trình biên dịch để dịch một chuỗi các câu lệnh được viết bằng một ngôn ngữ lập trình (gọi là ngôn ngữ nguồn hay mã nguồn), thành một chương trình tương đương nhưng ở dưới dạng một ngôn ngữ máy tính mới (gọi là ngôn ngữ đích) và thường là ngôn ngữ ở cấp thấp hơn, như ngôn ngữ máy. Chương trình mới được dịch này gọi mã đối tượng.
- Không nên bị khóa vào một ngôn ngữ hoặc framework cụ thể.
- Một Framework test tool mobile phải là mã nguồn mở.
- Một Framework test tool mobile không nên tái tạo lại vòng đời khi nói đến các API tự động hóa. Nghĩa là không nên lãng phí thời gian hoặc công sức trong việc tạo ra thứ gì đó đã được tạo ra hoặc được tối ưu hóa bởi những người khác.
1.3 Tại sao nên sử dụng Appium
- Nếu bạn là kỹ sư kiểm thử phần mềm ứng dụng dành cho thiết bị di động, Appium có thể giúp nhiệm vụ kiểm tra hồi quy ứng dụng dành cho thiết bị di động của bạn trở nên dễ dàng hơn. Đặc biệt cho các ứng dụng dành cho thiết bị di động lớn, nơi các ứng dụng tiếp tục cập nhật với các tính năng và chức năng mới.
- Một lợi ích chính khác của việc sử dụng Appium cho kiểm thử tự động ứng dụng dành cho thiết bị di động là: Nó hỗ trợ dưới nhiều nền tảng và ngôn ngữ. Ngoài ra, bạn có thể sử dụng bất kỳ framework kiểm thử nào.
1.4 Appium hỗ trợ đa nền tảng và đa ngôn ngữ
Appium hỗ trợ nhiều platform khác nhau bao gồm:
- Android
- IOSFirefoxOS
Appium hỗ trợ đa ngôn ngữ
- Java
- Objective-C
- JavaScript with Node.js
- PHPPython
- Ruby
- Clojure
- Perl
Ngoài ra còn có những ưu điểm khác như không cần mã nguồn để kiểm thử ứng dụng khi bạn có thể kiểm tra trực tiếp, bạn cũng có thể tương tác với các ứng dụng như máy ảnh, lịch vv trong kịch bản kiểm thử nếu cần.
1.5 Hạn chế của Appium
Hiện tại có rất ít hạn chế trong Appium, một số hạn chế sau đây cũng không phải là trở ngại lớn:
- Đối với Android, Không hỗ trợ cho Android API<17.
- Thực thi tập lệnh rất chậm trên nền tảng iOS.
- Hỗ trợ cử chỉ bị hạn chế.
- Không hỗ trợ cho tin nhắn chúc mừng.
Tôi nghĩ, điều này là đủ để sử dụng bất kỳ công cụ kiểm thử tự động hóa phần mềm nguồn mở nào về tính linh hoạt của việc sử dụng.
2.1 Download và cài đặt JDK trên window
JDK là bộ phát triển java. Nếu bạn đang làm việc với ngôn ngữ lập trình java thì bạn phải cài đặt nó vì nó là điều kiện tiên quyết để code và chạy các chương trình phần mềm java, sử dụng framework kiểm thử hoặc sử dụng SDK. Nhiều người không biết cách cài đặt JDK và định cấu hình biến môi trường cho JAVA_HOME. Các bước dưới đây sẽ hướng dẫn bạn cài đặt phần mềm java trong các cửa sổ và thiết lập JAVA_HOME.
Step 1: Cài đặt JDK
- Truy cập trang http://www.oracle.com/technetwork/java/javase/downloads/index.html của ứng dụng web phần mềm.
- Nhấp vào nút tải xuống JDK như trong hình dưới đây.
- Click download, nó sẽ đưa bạn đến trang Java SE Development Kit 8 Downloads.
- Chọn nút radio "Accept License Agreement" và nhấp vào liên kết .exe để tải xuống JDK dựa trên hệ điều hành của bạn như được hiển thị trong hình dưới đây. Chọn "Windows x86" cho hệ thống 32 bit và "Windows x64" cho hệ thống 64 bit.
Ở đây, mình sử dụng window 64bit nên sẽ chọn donwload "Windows x64" - Sau khi quá trình download hoàn thành, chúng ta bắt đầu cài đặt JDK. Double click vào file vừa tải xong để cài đặt.
- Bắt đầu quá trình cài đặt JDK
- Click vào nút "Next" trên mỗi bước bằng cách sử dụng các lựa chọn mặc định. Bạn sẽ mất một thời gian để cài đặt JDK và cuối cùng của cài đặt, nó sẽ hiển thị màn hình như dưới đây để kết thúc cài đặt.
Như vậy Java JDK đã được cài đặt, nhưng bạn vẫn cần phải thiết lập thêm biến JAVA_HOME trong Windows. Để cài đặt, tiếp theo chúng ta cần làm các bước như sau:
Step 2: Cài đặt biến JAVA_HOME - Xác định đường dẫn thư mục cài đặt JDK trong máy tính của bạn
- Đi tới C: Program Files Java.
- Sẽ có thư mục JDK với phiên bản tương tự khi cài đặt. Ví dụ: phiên bản JDK tôi đã cài đặt là "jdk1.8.0_191".
- Click duoble và copy đường dẫn. Ví dụ: "C:Program FilesJavajdk1.8.0_191"
Đường dẫn này sẽ được yêu cầu để thiết lập biến môi trường như được mô tả trong các bước dưới đây.
- Đi tới C: Program Files Java.
- Thiếp lập biến JAVA_HOME
- Nhấp chuột phải vào biểu tượng My Computer nằm trên màn hình của bạn hoặc Window.
- Chọn "Properties". Hộp thoại "System" xuất hiện
- Click "Advanced system settings" như hình dưới. Hộp thoại "System properties" xuất hiện.
- Click Advance tab > Click "Environment Variables" button. Hộp thoại "Environment Variables" xuất hiện.
- Tại mục "System variable", click "New" button. Hộp thoại "New System Variable" xuất hiện,
- Đặt tên biến = JAVA_HOME.
- Đặt giá trị biến = Đường dẫn nơi đặt JDK. Ví dụ như trên máy tính của tôi là "C:Program FilesJavajdk1.8.0_191" được đặt trong bước trước như được mô tả ở trên. Nó phụ thuộc vào đường dẫn cài đặt java của riêng bạn và phiên bản đã cài đặt.
- Sau cùng là Click "OK" ở tất cả các hộp thoại để kết thúc.
- Đặt biến đường dẫn cho Java
Ngoài ra, bạn cần thiết lập đường dẫn thư mục bin của JDK trong biến đường dẫn của các biến hệ thống. Bạn sẽ tìm thấy thư mục bin bên trong thư mục JDK của bạn. Để đặt biến hệ thống đường dẫn của JDK, các bạn làm theo các bước sau:- Mở hộp thoại "Environment Variables" như mô tả ở trên và trong hình dưới.
- Trong mục "System Variable", chọn Path.
- Click button "Edit". Hộp thoại "Edit system variable" xuất hiện.
- Ở cuối chuỗi giá trị biến Path, Đặt dấu chấm phẩy [ ; ] và sau đó đặt đường dẫn thư mục bin của thư mục JDK. Ví dụ đường dẫn thư mục bin trong máy của tôi là "C:Program FilesJavajdk1.8.0_191in"
- Nhấp vào nút OK để đóng tất cả hộp thoại đã mở.
Như vậy, bạn đã thiết lập đường dẫn thư mục bin JDK trong biến môi trường hệ thống của bạn.
- Xác minh java đã được cài đặt đúng hay không
Để xác minh phần mềm java được cài đặt đúng hay không,- Mở command prompt. (Window + R > cmd > OK)
- Chạy lệnh "java -version"
- Kết quả đây rồi. Giờ thì bạn đã sẵn sàng để sử dụng rồi đó.
- Note nhẹ
Trong quá trình verify xem java đã được cài đặt đúng hay không trong command prompt, có thể bạn sẽ gặp phải một số trục trặc kỹ thuật. Sau đây là vấn đề mình gặp phải và hướng giải quyết ( mệt ghê đấy nha =)) )
Với vấn đề này bạn có thể tham khảo video theo link này để giải quyết nha