VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • Selenium Test

Học Appium - Automation Test

Kiểm thử tự động là gì? Automation Testing Appium là gì? Ví dụ Appium kiểm thử tự động ứng dụng trên Android

Appium là gì?


Previous
Next

Nội dung chính

  • Giới thiệu về Appium
  • Triết lý Appium
  • Kiến trúc Appium
    • Appium hoạt động như thế nào trong Android?
    • Appium hoạt động như thế nào trong iOS?

Giới thiệu về Appium

Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động (automation testing) các ứng dụng native, mobile web, và hybrid trên nền tảng iOS và Android.

Đặc biệt, Appium là "đa nền tảng": nó cho phép bạn viết các test script trên nhiều nền tảng khác nhau (iOS, Android), sử dụng cùng một API. Điều này cho phép bạn tái sử dụng mã giữa các nền tảng iOS và Android.

Appium hỗ trợ viết test cho rất nhiều ngôn ngữ như Java, C#, PHP, Python, Perl, Ruby. Giống như Selenium.



Triết lý Appium

Appium được thiết kế để đáp ứng nhu cầu tự kiểm thử tự động cho các ứng dụng di động theo triết lý được nêu trong bốn nguyên lý sau:

  1. Bạn không cần phải biên dịch lại ứng dụng của mình hoặc sửa đổi nó theo bất kỳ cách nào để tự động hóa nó.
  2. Bạn không nên bị trói buộc trong một ngôn ngữ hoặc framework cụ thể để viết và chạy test case của bạn.
  3. Một mobile automation framework không nên thực hiện các hành động không cần thiết khi nói đến các API tự động.
  4. Một mobile automation framework phải là mã nguồn mở.

Kiến trúc Appium

Appium là một máy chủ HTTP được viết bằng NODE.JS, tạo và xử lý nhiều WebDriver cho các nền tảng khác nhau như iOS và Android.

Appium khởi động một "test case" trên thiết bị mà có một máy chủ, và lắng nghe các lệnh proxy từ máy chủ Appum chính. Mỗi nền tảng iOS hoặc Android có một cơ chế khác nhau để chạy test case trên thiết bị sau khi nhận được các lệnh từ máy chủ Appium.

Appium hoạt động như thế nào trong Android?

Trên Android, Appium ủy quyền tập lệnh cho UIAutomator. UIAutomator là framework của Android hỗ trợ chạy các test case trực tiếp bằng Junit trên thiết bị từ dòng lệnh. Nó sử dụng ngôn ngữ lập trình Java, nhưng Appium sẽ làm cho nó chạy từ bất kỳ ngôn ngữ nào được hỗ trợ WebDriver.

Appium là gì? - Appium hoạt động như thế nào trong Android?

Khi chúng ta thực thi các tập lệnh, sẽ có một yêu cầu http ở định dạng JSON đến máy chủ Appium. Sau đó, máy chủ Appium gửi lệnh tới UIAutomator cần bootstrap Jar. Để nghe lệnh của chúng ta, cần một máy chủ TCP. Vì vậy, ở đây bootstrap.jar hoạt động như máy chủ TCP. Và sau đó nó thực thi lệnh trên các thiết bị Android và trả về kết quả. Chu kỳ này tiếp tục cho đến khi tất cả các lệnh được thực thi.

Appium hoạt động như thế nào trong iOS?

Trên iOS , Appium ủy quyền tập lệnh cho UIAutomation chạy trong môi trường Mac. Apple cung cấp ứng dụng này có tên là 'instruments', được sử dụng để thực hiện nhiều hoạt động như lập hồ sơ, điều khiển và build ứng dụng iOS. Nhưng nó cũng có một thành phần tự động hóa để chúng ta có thể viết một số lệnh trong javascript sử dụng API UIAutomation để tương tác với UI App. Appium sử dụng các thư viện tương tự để tự động hóa ứng dụng iOS.

Appium là gì? - Appium hoạt động như thế nào trong iOS?

Khi chúng ta thực thi các tập lệnh, sẽ có một yêu cầu http ở định dạng JSON đến máy chủ Appium. Sau đó, máy chủ Appium gửi lệnh tới instruments được viết bằng NODE.js. Thực thi lệnh trong bootstrap.js trong môi trường instruments iOS. Khi lệnh được thực thi, máy khách lệnh sẽ gửi lại thông điệp đến máy chủ Appium để ghi lại mọi thứ liên quan đến lệnh trong console của nó. Chu kỳ này tiếp tục cho đến khi tất cả các lệnh được thực thi.


Previous
Next

Recent Updates

Appium là gì?Ví dụ Appium kiểm thử tự động ứng dụng trên AndroidDãy số Fibonacci trong C#Bài tập C# có lời giảiToán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8HttpClient trong Angular 7Service trong Angular7Routing trong Angular 7Pipe trong Angular 7Directive trong Angular 7Template trong Angular 7Event Binding trong Angular 7Module trong Angular 7

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml