12/08/2018, 15:44

Why to use APPIUM for Mobile Automation?

Một vài khái niệm về Appium Native apps là những ứng dụng được viết bằng iOS, Android hoặc Windows SDK Mobile Web apps là các ứng dụng web được truy cập bằng trình duyệt trên điện thoại di động (Appium hỗ trợ Safari trên iOS và Chrome hoặc ứng dụng trình duyệt tích hợp trên Android) ...

Một vài khái niệm về Appium

Native apps là những ứng dụng được viết bằng iOS, Android hoặc Windows SDK Mobile Web apps là các ứng dụng web được truy cập bằng trình duyệt trên điện thoại di động (Appium hỗ trợ Safari trên iOS và Chrome hoặc ứng dụng trình duyệt tích hợp trên Android) Hybrid apps là các ứng dụng có một wrapper xung quanh một "webview" - một native control cho phép tương tác với nội dung web Appium là một công cụ mã nguồn mở để tự động hóa các native apps, mobile web apps và hybrid apps trên nền tảng iOS và Android. Appium giúp bạn dễ dàng xây dựng các ứng dụng bằng cách sử dụng công nghệ web sau đó được đưa vào trong một native wrapper, tạo một hybrid app. Điều quan trọng nhất, Appium là "đa nền tảng (cross-platform)": nó cho phép bạn thử nghiệm trên nhiều nền tảng (iOS, Android, Window), sử dụng cùng một API. Điều này cho phép tái sử dụng mã giữa các test suites iOS, Android và Windows.

Khái niệm APPIUM Design

  • Appium là một "HTTP Server" được viết bằng nền tảng Node.js và chạy session iOS và Android sử dụng giao thức dây (wire protocol) Webdriver JSON. Do đó, trước khi khởi tạo Appium Server, Node.js phải được cài đặt sẵn trên hệ thống
  • Khi Appium được download và cài đặt, một server được cài đặt trên máy tính của chúng ta sẽ hiển thị một API REST.
  • Appium nhận được yêu cầu kết nối và lệnh từ client và thực hiện lệnh đó trên thiết bị di động (Android / iOS).
  • Appium sẽ trả lời bằng các phản hồi HTTP. Một lần nữa, để thực hiện yêu cầu này, nó sử dụng các framework automation test mobile để điều khiển giao diện người dùng của các ứng dụng. Framework như là:
    1. Công cụ Apple dành cho iOS (Các công cụ chỉ có sẵn trong Xcode 3.0 trở lên với OS X v10.5 trở lên)
    2. Google UIAutomator cho Android API level 16 trở lên
    3. Selendroid cho Android API level 15 trở xuống

Tạo sao lại sử dụng Appium?

  • Appium framework có thể sử dụng bất kỳ ngôn ngữ nào mà Selenium WebDriver hỗ trợ (Java, Python, C #, Ruby, JavaScript, PHP, ...) - không cần phải lo lắng về việc Appium Server hỗ trợ những gì.
  • Appium là free và mã nguồn mở và có thể dễ dàng tải xuống từ GitHub
  • Nó được thiết kế dành cho điện thoại di động và chỉ điện thoại di động - iOS, Android và Windows.
  • Appium framework có thể tự động hóa các native apps, mobile web apps và hybrid apps và còn có thể test trên các thiết bị thật, trình mô phỏng hoặc trình giả lập
  • Một server HTTP chờ lệnh và sử dụng JSON chuẩn sẽ quản lý phiên WebDriver, do đó không phải lo lắng về ngôn ngữ hoặc các hạn chế của nền tảng.
  • Test scripts được tạo từ thư viện Appium là sẵn có - bạn có thể kích hoạt chúng ở local, trên phiên dành riêng cho Cloud (nói qua TestObject) cho bất kỳ thiết bị iOS hoặc Android nào và cho bất kỳ phiên bản nào.
  • Appium điều khiển các widget và điều khiển liên quan đến GUI, cho phép các script tương tự chạy các phiên bản phần mềm khác nhau của các ứng dụng khác nhau.
  • Appium tích hợp liên tục với server để đảm bảo kết quả tốt hơn.
  • Appium hỗ trợ Safari trên iOS và Chrome hoặc ứng dụng 'Trình duyệt' tích hợp trên Android.
  • Appium được hướng dẫn bởi các sự kiện dưới đây, làm cho nó trở nên thân thiện hơn với nhà phát triển / thử nghiệm:
    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ó bằng bất kỳ cách nào để tự động hóa nó.
    2. Bạn không nên bị khóa vào một ngôn ngữ hoặc framework cụ thể để viết và chạy thử nghiệm của bạn.
    3. Một framework mobile automation không nên phát minh lại những tình huống (wheel) về API tự động hóa.
    4. Một framework mobile automation phải là mã nguồn mở, trong tinh thần, trong thực tế, và trong tên!

****Nguồn tham khảo https://qanalysisblog.wordpress.com/2017/07/05/why-to-use-appium-for-mobile-automation/

0