2012-08-30 23 views
14

Tôi phải thường xuyên kiểm tra tính khả dụng và hoạt động của trang web cho thuê phim. Tôi đã viết một chương trình Windows có thể tự động hoá một trình duyệt web theo một kịch bản, do đó, nhiệm vụ này về cơ bản được giải quyết. Bây giờ tôi phải tự động hóa phiên bản di động của ứng dụng web này: ứng dụng iOS gốc và ứng dụng Android gốc.Tôi làm cách nào để tự động kiểm tra chức năng của các ứng dụng iOS và Android?

Các ứng dụng này là nguồn đóng, do đó không thể sửa đổi được theo bất kỳ cách nào. Tôi nghĩ rằng các ứng dụng thử nghiệm nên được triển khai trên các thiết bị thử nghiệm (iPhone, iPad, Galaxy Tab, Galaxy S II), nhưng tôi phải có khả năng điều khiển từ xa nó. Ý tôi là, tôi muốn tạo kết nối giữa các thiết bị thử nghiệm và PC, tải lên các tập lệnh thử nghiệm từ máy tính đến các thiết bị, chạy chúng và tải xuống kết quả kiểm tra cho PC. Kịch bản thử nghiệm sẽ bắt đầu ứng dụng để kiểm tra, thao tác GUI (điền vào các hộp chỉnh sửa, các nút ấn, vv), và thực hiện theo phản ứng của nó bằng cách nào đó, ví dụ bằng cách phân tích GUI (sự tồn tại của một số phần tử GUI, chú thích, v.v.) , phân tích ảnh chụp màn hình và/hoặc kiểm tra các gói IP.

Tôi đã viết rất nhiều chương trình thử nghiệm tương tự cho Windows: Tôi đã sử dụng ShellExecute, PostMessage, FindWindow, thư viện WinPcap, v.v., vì vậy tôi biết chương trình sẽ hoạt động như thế nào. Nhưng kể từ khi tôi không bao giờ viết các ứng dụng cho hệ điều hành di động, tôi thậm chí không biết liệu có các API và thư viện tương tự cho iOS và Android hay không.

Tôi muốn biết bắt đầu từ đâu, ý tôi là, SDK và công cụ nhà phát triển nào có thể được sử dụng để viết một ứng dụng như vậy. Tôi cũng quan tâm đến các giải pháp thương mại. Tôi thực sự sẽ đánh giá cao sự giúp đỡ nào.

+1

"Tập lệnh thử nghiệm sẽ bắt đầu ứng dụng để được kiểm tra, thao tác GUI (hộp chỉnh sửa, nút ấn, v.v.)" không khả thi cho iOS (có thể jailbreak), không chắc chắn về Android – msk

+0

@MSK Cảm ơn. Đây là tin xấu: (Có thể chạy một ứng dụng iOS trên Mac OS X, từ trình giả lập và tự động hóa ứng dụng đó giống như ứng dụng dành cho máy tính để bàn không? – kol

+1

Nếu bạn sử dụng macro/bàn phím, tôi không thấy tại sao không, cho android, bạn có thể kiểm tra monkeyrunner http://developer.android.com/tools/help/monkeyrunner_concepts.html – mario

Trả lời

12

Tôi thích "Calabash-iOS/Calabash-Android" bởi LessPainful. Đó là điều tốt nhất cho tôi.

  • miễn phí
  • có sẵn trên iPhone và Android
  • thu âm và phát lại
  • thử nghiệm trên quê hương và mô phỏng

Họ không có một IDE GUI.Họ là những giải pháp của Ruby-based và nó là rất dễ dàng để viết test script, như thế này:

Then I swipe left 
And I wait until I don't see "Please swipe left" 
And take picture 

Ngoài ra nó có thể

Then I touch the "login" button 

để khai thác một nút, hoặc

Then I fill in "placeholder" with "text to write" 

để viết nội dung nào đó vào hộp văn bản.

Và tập lệnh có thể được chia sẻ bởi Calabash-iOS và Calabash-Android. Tính năng đó thuận tiện cho các nhà phát triển tạo ra cả iPhoneApp và Ứng dụng Android.

Tôi nghĩ MonkeyTalk đẹp nhưng thực sự không ổn định, ít nhất là trong môi trường của tôi.
Đôi khi MonkeyIDE bị lỗi, vì vậy chúng tôi phải gỡ lỗi của MonkeyTalk ...

Tôi hy vọng điều này sẽ giúp bạn.

+0

Cảm ơn bạn rất nhiều! – kol

4

MonkeyTalk có vẻ đầy hứa hẹn. Tính năng từ các Gorilla logic website:

  • miễn phí & Open Source
  • Automated thử nghiệm các ứng dụng iOS, Android, HTML5 và Adobe Flex
  • Cross-nền tảng ghi âm và phát lại
  • Kiểm tra bản xứ, web, hoặc các ứng dụng lai, trên trình mô phỏng iOS, Android trình giả lập hoặc thiết bị thực (không yêu cầu bẻ khóa)
  • Mọi thứ từ "kiểm tra khói" đơn giản đến tinh vi theo hướng dữ liệu.210 dãy phòng thử nghiệm

gói tracing: iOS, Android, Android

3

Nếu kịch bản là giải pháp tiền cược của bạn trên Android, bạn có thể dễ dàng nhập và chạy tập lệnh sau khi cài đặt Scripting Layer for Android. Chỉ cần tải xuống tệp APK mới nhất, nhập tập lệnh và chạy tập lệnh đó. Tính năng này không khả dụng trên iOS nhưng một nửa vấn đề của bạn có thể được giải quyết bằng cách này.

4

Selenium cung cấp trình điều khiển cho thiết bị di động và trình giả lập. Đây là một dự án của Google. Họ có tài liệu tốt. Nó có một IDE để tạo mẫu nhanh các bộ thử nghiệm và hỗ trợ cho nhiều ngôn ngữ như ruby, PHP, C#, v.v.,

1

Chúng tôi, tại testmunk đã viết hướng dẫn về cách bắt đầu với tự động hóa di động. Hướng dẫn địa chỉ Android cũng như các chi tiết cụ thể của iOS và liệt kê tất cả các công cụ bạn cần. Nó dựa trên khung công tác mã nguồn mở.

Bài viết ở đây: http://blog.testmunk.com/tutorial-for-automated-mobile-app-testing-calabash/ trong bài viết này, bạn cũng sẽ tìm thấy các liên kết đến một vài ứng dụng mẫu.

Tôi hy vọng điều này sẽ hữu ích.

+0

Định dạng dự định của câu trả lời SO được dự định là độc lập. Liên kết và tham chiếu bên ngoài là tốt đẹp như fallbacks, nhưng nên ở mức tối thiểu có bit liên quan của họ tóm tắt.Tôi đề nghị ở mức tối thiểu thực sự trả lời các câu hỏi thông qua một danh sách các SDK và tiện ích được đề cập trong liên kết của bạn (và có lẽ liên quan của họ để kiểm tra) trong phần trả lời. – dho

-1

Tôi biết đây là một bài đăng cũ nhưng bất kỳ ai đọc vào năm 2016 lựa chọn đầu tiên cho tự động hóa sẽ là Appium (hoạt động trên cả iOS/Android). Tất cả các công cụ nêu trên phải được xây dựng với Ứng dụng. Appium yêu cầu bất kỳ việc xây dựng nào với Mã ứng dụng. Nó rất phổ biến với nhiều hỗ trợ ngôn ngữ lập trình (PHP/JAVA/RUBY/PYTHON). [Link]: appium.io và [Link]: https://github.com/appium/appium

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