1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kiểm thử tự động với appium trên android

54 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU ĐẠI HỌC ĐÀ NẴNG TẠI KON TUM LÝ KIỀU HOA ĐỒ ÁN TỐT NGHIỆP KIỂM THỬ TỰ ĐỘNG VỚI APPIUM TRÊN ANDROID Kon Tum, tháng 04 năm 2019 ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU ĐẠI HỌC ĐÀ NẴNG TẠI KON TUM ĐỒ ÁN TỐT NGHIỆP KIỂM THỬ TỰ ĐỘNG VỚI APPIUM TRÊN ANDROID SINH VIÊN THỰC HIỆN : LÝ KIỀU HOA GIẢNG VIÊN HƯỚNG DẪN : HUỲNH HỮU HƯNG LỚP : K915TT MSSV : 15152480201006 Kon Tum, tháng 04 năm 2019 NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN Đánh giá Đồ án tốt nghiệp: …… /10 điểm LỜI CẢM ƠN Trước tiên em xin chân thành cảm ơn thầy bà Nguyễn Thị Hồng Thúy trực tiếp hướng dẫn tận tình giúp đỡ em trình làm đồ án tốt nghiệp Đặc biệt, xin chân thành cảm ơn TS Huỳnh Hữu Hưng Phó trưởng khoa Cơng nghệ thơng tin, trường Đại học Bách khoa Đà Nẵng tận tình hướng dẫn, giúp đỡ động viên suốt thời gian thực đề tài Và em xin chân thành cảm ơn dạy bảo giúp đỡ thầy cô giáo khoa Kỹ thuật – Nông nghiệp trường Đại Học Đà Nẵng phân hiệu Kon Tum trình học tập trường, thời gian làm đồ án tốt nghiệp Cuối em xin cảm ơn chăm sóc gia đình, động viên , giúp đỡ bạn bè tạo điều kiện giúp em hồn thành tốt q trình nghiên cứu thực tập Em cố gắng để hoàn thành đồ án tốt nghiệp đạt kết tốt Tuy nhiên với khả trình độ có hạn nên khơng tránh khỏi sai sót Em mong bảo thầy cô ý kiến đóng góp bạn để đồ án tốt nghiệp hoàn thiện Em xin chân thành cảm ơn Kon Tum, tháng 04 năm 2019 Sinh viên thực Lý Kiều Hoa LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung luận văn thực hướng dẫn trực tiếp TS Huỳnh Hữu Hưng 2.Mọi tham khảo dùng luận văn trích dẫn rõ ràng 3.Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn tồn trách nhiệm Sinh viên thực hiện, Lý Hiều Hoa MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN KIỂM THỬ TỰ ĐỘNG VỚI APPIUM TRÊN ANDROID CHƯƠNG 1: MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục tiêu nghiên cứu 1.3 Bố cục nội dung đồ án CHƯƠNG 2: CƠ SỞ LÍ THUYẾT 2.1 Sơ lược kiểm thử phần mềm kiểm thử phần mềm 2.1.1 Khái quát phần mềm: 2.1.2 Khái quát kiểm thử phần mềm 2.1.3 Sơ lược kiểm thử tự động 14 2.1.4 Khi sử dụng kiểm thử tự động 17 2.1.5 Những trường hợp không nên dử dụng kiểm tra tự động 19 2.2 Khái quát kiểm thử tự động Android 20 2.2.1 Phần mềm ứng dụng gì? .20 2.2.2 Khái quát hệ điều hành Android 20 2.2.3 Ưu nhược điểm HĐH Android 22 2.3 Appium kiểm thử tự động Android 22 2.3.1 Tổng quan Appium 23 2.3.2 Các thành phần Appium 24 2.3.3 Các nguyên lý appium .24 2.3.4 Ưu nhược điểm Appium 24 2.4 Cucumber ngôn ngữ Ghergin 25 2.4.1 Định nghĩa Cucumber 25 2.4.2 27 CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ ĐỒ ÁN .28 3.1 Dự án Udigo: 28 3.1.1 Sơ lược dự án Udigo: .28 3.1.2 Chức ứng dụng: .28 3.2 Thiết kế đồ án .28 3.3 Thiết lập môi trường 30 3.3.1 Intellij 30 3.3.2 Cài đặt android studio .34 3.3.3 Appium .37 3.3.4 Tidy Ghenkin 43 3.4 Xây dựng Project in Jenkin .43 3.4.1 Cách lấy element appium .45 3.4.2 Xuất file apk ứng dụng udigo 47 3.5 Xây dựng chương trình 47 3.5.1 Cấu trúc Project .48 3.5.2 Kịch kiểm thử: 48 3.6 Kết chạy chương trình 50 CHƯƠNG 4: KẾT LUẬN: 50 4.1 Kết đạt được: 51 4.2 Hạn chế: .51 4.3 Hướng phát triển đề tài: .51 KIỂM THỬ TỰ ĐỘNG VỚI APPIUM TRÊN ANDROID CHƯƠNG 1: MỞ ĐẦU 1.1 Lý chọn đề tài Ngày nay, tự động hóa nghiên cứu ứ ng dụng nhiều lĩnh vực cơng nghệ phần mềm nói chung kiểm thử phần mềm nói riêng không ngoại lệ Khi mà kiểm thử phần mềm tiêu tốn lượng lớn thời gian, kinh phí nhân lực dự án phần mềm song song với kiểm thử truyền thống thủ công, đời công cụ hỗ trợ kiểm thử tự động dành cho websie Quick Test Professional, Nunit, Junit, Load Runner (thường dùng kiểm thử hiệu năng) tất yếu Appium công cụ kiểm thử tự động mã nguồn mở để kiểm thử ứng dụng Android iOS Developers kiểm thử ứng dụng mobile, web mobile, ứng dụng hybrid phần mềm Để chạy thử nghiệm, Appium sử dụng giao diện WebDriver Nó hỗ trợ C#, Java, Ruby nhiều ngơn ngữ khác thuộc thư viện WebDriver Tester kiểm thử ứng dụng gốc viết SDK Android iOS, ứng dụng web mobile, ứng dụng hybrid có chứa web view Là cơng cụ tảng chéo, cho phép lập trình viên tái sử dụng mã nguồn Android iOS Với mong muốn có nhìn xác thực, rõ ràng kiểm thử phần mềm web mobile tiếp cận với công cụ kiểm thử tự động Selenium Appium để làm tiền đề cho định hướng tương lai tốt nghiệp đại học trở thành kỹ sư kiểm thử phần mềm, cá nhân em lựa chọn để tài “Tổng quan kiểm thử tự động thiết bị di động“ làm đề tài cho đồ án tốt nghiệp đại học Trong khn khổ đồ án, thời gian kinh nghiệm thực tế cịn hạn chế nên có phần thực chưa tốt, em mong nhận góp ý thầy cô bạn 1.2 Mục tiêu nghiên cứu Có nhìn đắn sâu sắc vấn đề công nghệ phần mềm, lỗi phần mềm kiểm thử phần mềm Hiểu thực hành sử dụng cơng cụ kiểm thử Appium để kiểm thử tự động thiết bị di động Android Tìm hiểu thêm kiểm thử trêm iOS 1.3 Bố cục nội dung đồ án Đồ án chia thành phần với nội dung sau: − Chương 1: Mở đầu: Trình bày lý chọn đề tài, mục tiêu nghiên cứu đồ án bố cục nội dung đồ án − Chương 2: Tổng quan phần mềm kiểm thử phần mềm − Chương 3: Tổng quan kiểm thử phần mềm tự động − Chương 4: Appium kiểm thử tự động thiết bị di động − Chương 5: Phân tích thiết kế đề tài nghiên cứu − Chương 6: Kết luận: Chương đưa kết đồ án đạt được, thiếu sót chưa thực hướng phát triển đề tài tương lai CHƯƠNG 2: CƠ SỞ LÍ THUYẾT 2.1 Sơ lược kiểm thử phần mềm kiểm thử phần mềm 2.1.1 Khái quát phần mềm: a Định nghĩa phần mềm: Phần mềm máy tính hay cịn gọi tắt phần mềm (software) tập hợp câu lệnh thị viết nhiều ngơn ngữ lập trình theo trận tự xác định nhằm tạo nhiệm vụ hay chức năng vấn đề cụ thể Phần mềm máy tính hoạt động cách gửi trực tiếp thị đến phần cứng cách cung cấp liệu để phục vụ chương trình phần mềm khác thực nhiệm vụ Phần mềm hiểu cách trừu tượng thứ cầm, nắm phần cứng phần mềm hoạt động phụ thuộc vào phần cứng b Phân loại phần mềm: Có nhiều cách thức phân loại phần mềm, song chia thành hai loại sau: − Theo phương thức hoạt động: + Phần mềm hệ thống dùng để vận hành máy tính phần cứng máy tính Đây loại phần mềm mà hệ điều hành liên lạc với chúng để điều khiển quản lý thiết bị phần cứng + Phần mềm ứng dụng: để người sử dụng hồn thành hay nhiều cơng việc + Các phần mềm chuyển dịch mã bao gồm trình biên dịch trình thơng dịch + Các tảng cơng nghệ NET, 1C:DOANH NGHIỆP − Theo khả ứng dụng + Phần mềm thời gian thực (các PM anti-virus, PM chat, ) + PM giải trí (Game, ) + PM nhúng: chạy thiết bị đặc thù điện thoại di động, TV, máy lạnh, + PM phân tán: chạy nhiều thiết bị, phối hợp hoạt động đồng thời với c Định nghĩa chất lượng sản phẩm Chất lượng sản phẩm mức độ đạt đặc trưng hay thuộc tính náo (Từ điển American Heritage) Chẳng hạn: − Chất lượng thiết kế (cấu trúc) − Sự hoàn thiện (tính năng, kiểu dáng, ) − Sự lâu bền (thời gian dùng, độ mòn cũ, ) Như vậy, Chất lượng sản phẩm thể đặc trưng phù hợp với đặc tả [Theo Crosby,1979] d Định nghĩa chất lượng phần mềm Chất lượng phần mềm đáp ứng yêu cầu chức năng, hoàn thiện chuẩn (đặc tả) phát triển, đặc trưng mong chờ từ phần mềm chuyên nghiệp (ngầm định) Có nhiều định nghĩa chất lượng phần mềm đưa tổ chức, cá nhân khác Trong phạm vi đồ án trình bày số định nghĩa tiêu biểu − Định nghĩa theo IEEE (1991): + Định nghĩa 1: Chất lượng phần mềm mức độ mà hệ thống, thành phần hệ thống hay tiến trình đáp ứng yêu cầu đặc tả + Định nghĩa 2: Chất lượng phần mềm mức độ mà hệ thống, thành phần hệ thống hay tiến trình đáp ứng yêu cầu mong đợi khách hàng hay người sử dụng − Phân tích hai quan điểm IEEE: + Theo quan điểm thứ IEEE: Nếu theo quan điểm này, bị phụ thuộc nhiều vào tài liệu đặc tả yêu cầu, dẫn đến việc xác định yêu cầu bị sai, thiếu phần mềm làm với đặc tả chưa phần mềm có chất lượng + Theo quan điểm thứ hai IEEE: Khách hàng đơi khơng có nhiều kiến thức cơng nghệ, họ đưa nhữ ng mong muốn vơ lý thay đổi yêu cầu với phần mềm nhiều lần chí thay đổi giai đoạn cuối Điều gây nhiều khó khăn cho việc phát triển phần mềm − Định nghĩa theo Pressman: Chất lượng phần mềm phù hợp yêu cầu cụ thể hiệu chức năng, tiêu chuẩn phát triển phần mềm ghi lại rõ dàng tài liệu với đặc tính ngầm định tất phần mềm phát triển chuyên nghiệp + Định nghĩa Pressman đề xuất ba yêu cầu với chất lượng phần mềm phải đáp ứng phát triển phần mềm: Hình: Set up Android studio 3.3.3 Appium Appium gì? Appium cơng cụ mã nguồn mở sử dụng để kiểm thử tự động (test automation) native app, mobile web app, hybrid app tảng iOS Android Đặc biệt Appium hỗ trợ “đa tảng” (cross-platform) cho phép bạn sử dụng API giống để viết test cho tảng khác (iOS Android) Điều tiện lợi bạn muốn sử dụng lại test suites Bên cạnh đó, Appium hỗ trợ viết test cho nhiều ngôn ngữ, từ Java Ruby, Python, JavaScript… a Doawnload appium − Tải xuống cài đặt Node.JS + Mở trang web Node.JS liên kết - https://nodejs.org/ + Nhấp vào liên kết phiên LTS để tải xuống phiên 37 Hình: Set up Node JS + Nhấp vào Lưu tệp để lưu tệp msi máy Hình: Set up Node JS − Mở tệp msi để bắt đầu trình cài đặt Hình: Set up Node JS 38 + Nhấp vào nút Tiếp theo, chấp nhận Thỏa thuận cấp phép, chọn giá trị mặc định tất hình để cài đặt Node.JS + Việc cài đặt tiến hành hình Khi hồn thành, nhấp vào nút Kết thúc Hình: Set up Node JS Để xác minh cài đặt thành công, mở menu Bắt đầu Sẽ thấy thư mục cho Node.js Mở rộng thư mục kiểm tra xem có hiển thị dấu nhắc lệnh Node.js Node.js số thứ khác không Điều cho thấy cài đặt thành cơng 39 Hình: Set up Node JS − Cài đặt Appium Node.js + Chuyển đến menu Bắt đầu> Chương trình tơi> thư mục Node.js mở dấu nhắc lệnh Node.js 40 Hình: Set up Appium + Khi bạn mở dấu nhắc lệnh, cần cung cấp lệnh để cài đặt Appium Có biến thể khác bạn cung cấp lệnh này: • Biến thể 1: Cài đặt phiên Appium - Với cách tiếp cận này, Node.js cài đặt phiên Lệnh mà bạn sử dụng cho việc - npm install -g appium • Biến thể 2: Cài đặt phiên Appium cụ thể - Tại đây, bạn cài đặt phiên Appium Để làm điều này, bạn phải cung cấp số phiên Appium với lệnh đề cập Giả sử, bạn muốn cài đặt phiên 1.7.1, lệnh bạn sử dụng - npm install -g appium@1.7.1 + Trong dấu nhắc lệnh Node.js, nhập lệnh - npm install -g appium nhấn Enter Hình: Set up Appium 41 + Khi nhấn Enter, bạn thấy Node bắt đầu cài đặt Appium (bạn phải chờ vài giây để xem cài đặt thực tế xảy ra) Một số ảnh chụp hình bước cài dặt đưa Hình: Set up Appium + Bắt đầu máy chủ Appium từ Command Prompt Hình: Set up Appium Nếu muốn chạy Appium máy chủ cổng cụ thể mà bạn chọn, bạn cung cấp cho lệnh - appium -a 127.0.0.1 -p 4723 Lệnh khởi động máy chủ appium địa 127.0.0.1 42 − Windows: + Desktop: http://www.automationtestinghub.com/appium-desktop/ + Client by terminal: http://www.automationtestinghub.com/download-andinstall-appium-1-6/ - old link but can help Những cách khác để tải xuống thiết lập Appium Một điều quan trọng cần lưu ý phiên Appium chúng có hai loại khác - số phiên Appium dựa GUI số không dựa GUI (tức vận hành từ dấu nhắc lệnh) Nếu bạn làm việc với Appium 1.6.3 phiên trước đó, bạn thấy tất phiên Appium khơng dựa GUI Chỉ có vài phiên máy chủ Appium dựa GUI để hoạt động với phần lại chúng, bạn phải sử dụng dấu nhắc lệnh Node js Và trường hợp Bắt đầu từ Appium 1.6.4 beta, tất phiên Appium có phiên GUI tốt 3.3.4 Tidy Ghenkin Thêm tidy Ghenkin vào google chorme Hình: Tidy Ghergin 3.4 Xây dựng Project in Jenkin − Download jenkin 43 + Server Tomcat: https://tomcat.apache.org/ download-90.cgi + Jenkins War: https: ci.org/download/war/ //jenkins.io or https:// updates.jenkins - − Xây dựng Jenkins War: + Đặt jenkin war file bên forder webapps Tomcat server + Start/Stop Tomcat: Tìm đến thư mục bin Tomcat server folder Windows: Run startup.bat/ shutdown.bat + Run jenkins web đặt jenkin: • Unlock jenkin: Mở file initialAdminPassword theo link and copy/ paste password textbox 44 + Instal jenkins: Hình : Install Jenkin 3.4.1 Cách lấy element appium Khởi động uiautomator: C:\Users\ly kieu hoa\AppData\Local\Android\Sdk\tools\bin\ uiautomatorviewer 45 Hình: Set up UIAutomator Khởi động máy ảo Virtual devices Android studio Hình: Set up UIAutomator Trình xem UI Automator: Nhận XPath, ID, Tên className Phần tử ứng dụng Android ❖ ❖ ❖ ❖ ❖ ❖ ❖ XPath sử dụng class and text attribute: Xpath sử dụng class and resource-id : Xpath sử dụng class, text attribute and resource-id me: Xpath sử dụng class, text attribute and index: Xpath sử dụng parent and child class hierarchy: Xpath sử dụng content-desc: Element theo id: 46 ❖ Element theo class: ❖ Element theo name: 3.4.2 Xuất file apk ứng dụng udigo − Bước 1: Truy cập Google Play Store, cài đặt ứng dụng udigo mà bạn muốn trích xuất file apk Nếu ứng dụng cài đặt smartphone bỏ qua bước − Bước 2: Tải APK Extractor, ứng dụng hồn tồn miễn phí dễ sử dụng − Bước 3: Mở ứng dụng APK Extractor lên chọn ứng dụng udigo muốn trích xuất file apk Tiếp lục chọn Xuất file apk, sau file cài đặt trích xuất nằm thư mục ExtractedApks nhớ máy 3.5 Xây dựng chương trình − Xây dựng Maven Project: Apache Maven chương trình quản lý dự án cho phép developers quản lý version, dependencies (các thư viện sử dụng trọng dự án), quản lý build, tự động download javadoc code,… Tạo ứng dụng Maven Intelij 47 3.5.1 Cấu trúc Project Hình: Cấu trúc project 3.5.2 Kịch kiểm thử: a Login Feature: Selendroid Test This is support to fill user's localization Scenario Outline: Create the default locale Given I open the app When I verify the app Then I click text phone number And I verify input phone number screen Then I select a country And I input phone number as And I click next button And I input verify code And I input user name 48 And I choose gender for user And I choose date of birth for user And I input email And I next referral code Then I agree all condition And I click allow location devices And I click close annonce Examples: |namecountry | phonenumber |Viet Nam | 9805990900 | codeverify | username | | 1111 | hoa ly | b Log out Feature: Selendroid Test This is support to fill user's localization Scenario Outline: Create the default locale Given I open the app When I verify the app Then I click text phone number And I verify input phone number screen Then I select a country And I input phone number as And I click next button And I input verify code And I click close annonce Then I click menu icon And I click setting And I click logout button And I confirm logout Examples: |namecountry | phonenumber | codeverify | |Viet Nam | 593413201 | 1111 | c Edit profile Feature: Selendroid Test This is support to fill user's localization Scenario Outline: Create the default locale Given I open the app When I verify the app Then I click menu icon Then I edit profile icon And I edit user name And I edit email Then I edit date of birth And I click complete edit profile Examples: | username |email| | hoa hoa |hoahoa@gmail.com| 49 d Add payment Feature: Selendroid Test This is support to fill user's localization Scenario Outline: Create the default locale Given I open the app When I verify the app Then I click text phone number And I verify input phone number screen Then I select a country And I input phone number as And I click next button And I input verify code And I click close annonce Then I click menu icon And I click payment And I click add payment button And I input information card Examples: |namecountry | phonenumber |Viet Nam | 593413201 | codeverify |cardnumber|busid| | 1111 | 1111 |2222 | e Add promotion Feature: Selendroid Test This is support to fill user's localization Scenario Outline: Create the default locale Given I open the app When I verify the app Then I click text phone number And I verify input phone number screen Then I select a country And I input phone number as And I click next button And I input verify code And I click close annonce Then I click menu icon And I click promotion And I click type coupon code Examples: |namecountry | phonenumber |Viet Nam | 593413201 | codeverify |typecoupon| | 1111 |f45fg | 3.6 Kết chạy chương trình Sử dụng Cucumber report CHƯƠNG 4: KẾT LUẬN: Kiểm thử phần mềm vấn đề quan trọng với tổ chức phát triển phần mềm Trong khuôn khổ đồ án thời gian kinh nghiệm cịn hạn chế nên có phần đồ án chưa đào sâu nghiên cứu 50 Sau thời gian thực đồ án hướng dẫn Thầy Huỳnh Hữu Hưng, đồ án em thực tốt mục tiêu đề đạt kết sau: 4.1 Kết đạt được: Trình bày đầy đủ xác vấn đề tổng quan kiểm thử tự động thiết bị Android 4.2 Hạn chế: Mặc dù cố gắng thời gian thực đề tài với kinh nghiệm cịn hạn chế nên đồ án khơng tránh khỏi nhữ ng thiếu sót: − Chỉ vào nghiên cứu vào test Android công cụ Selenium Còn kiểm thử tự động sử dụng Appium iOS tìm hiểu đào sâu thực − Chưa nghiên cứu phần lập trình nâng cao sử dụng Appium thiết bị Android 4.3 Hướng phát triển đề tài: Trong thời gian tới em tiếp tục nghiên cứu sâu vấn đề kiểm thử phần mềm, Appium mobile để vận dụng vào kiểm thử ứng dụng lớn thực tế công việc tương lai nhằm góp phần nhỏ bé vào cơng chun nghiệp hóa kiểm thử phần mềm 51

Ngày đăng: 03/08/2023, 07:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w