NativeScript - Thử nghiệm

Kiểm thử là một giai đoạn rất quan trọng trong vòng đời phát triển của một ứng dụng. Nó đảm bảo chất lượng ứng dụng. Nó cần lập kế hoạch và thực hiện cẩn thận. Đây cũng là giai đoạn phát triển tốn nhiều thời gian nhất. Khung NativeScript cung cấp sự hỗ trợ rộng rãi cho việc kiểm tra tự động một ứng dụng.

Các loại kiểm tra

Nói chung, có ba loại quy trình thử nghiệm để kiểm tra một ứng dụng. Chúng như sau:

Kiểm tra đơn vị

Kiểm thử đơn vị là phương pháp dễ nhất để kiểm tra một ứng dụng. Nó dựa trên việc đảm bảo tính đúng đắn của một đoạn mã (một hàm, nói chung) hoặc một phương thức của một lớp. Nhưng, nó không phản ánh môi trường thực tế và sau đó. Đó là lựa chọn ít nhất để tìm ra lỗi.

Nói chung, NativeScript sử dụng Jasmine, Mocha với các khung thử nghiệm đơn vị Chai và QUnit.

Để thực hiện việc này, trước tiên bạn cần cấu hình trong dự án của mình bằng lệnh dưới đây:

tns test init

Bây giờ, bạn nhận được phản hồi sau:

? Select testing framework: (Use arrow keys) 
> jasmine 
   mocha 
   qunit

Bây giờ, hãy chọn jasmine khung và màn hình của bạn trông tương tự như thế này -

? Select testing framework: jasmine 
+ [email protected] 
added 90 packages from 432 contributors and audited 11944 packages in 8.753s 

+ [email protected] 
added 2 packages from 1 contributor and audited 11946 packages in 7.299s 

> [email protected] postinstall 
/Users/workspace/NativeScript/NativeApp/node_modules/core-js 

> node -e "try{require('./postinstall')}catch(e){}" 
Thank you for using core-js ( https://github.com/zloirock/core-js ) for 
polyfilling JavaScript standard library! 
The project needs your help! Please consider supporting of core-js on Open 
Collective or Patreon:

> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 
Also, the author of core-js ( https://github.com/zloirock ) is looking for a 
good job -) 
npm WARN [email protected] requires a peer of webpack@^2.0.0 
|| ^3.0.0 but none is installed. You must install peer dependencies yourself. 

+ [email protected] 
added 19 packages from 52 contributors and audited 12012 packages in 9.368s 

+ [email protected] 
added 2 packages from 35 contributors and audited 12014 packages in 6.925s 

+ [email protected] 
updated 1 package and audited 12014 packages in 7.328s 
+ @types/[email protected] 

> [email protected] postinstall /Users/deiva/workspace/NativeScript/NativeApp/node_modules/nativescript-unit
-test-runner 

> node postinstall.js 
+ [email protected] 

added 1 package from 1 contributor and audited 12032 packages in 7.14s 
Successfully installed plugin nativescript-unit-test-runner. 

Example test file created in src/tests 
Run your tests using the "$ tns test <platform>" command.

Bây giờ, tệp thử nghiệm được tạo bên trong src \ tests \ example.ts.

Tạo thử nghiệm của bạn

Hãy để chúng tôi thêm một bài kiểm tra đơn giản bên trong tệp example.ts như hình dưới đây -

describe("NativeApp test:", function() { 
   it("Check counter.", function() { 
      expect(mainViewModel.createViewModel().counter).toEqual(10); 
   }); 
   it("Check message.", function () { 
      expect(mainViewModel.createViewModel().message).toBe("10 taps left"); 
   }); 
});

Đây,

Đầu tiên, hãy kiểm tra xem bộ đếm có bằng 10 không và kiểm tra xem thông báo còn 10 lần nhấn hay không.

Hãy để chúng tôi chạy thử nghiệm trong bước tiếp theo.

Chạy thử nghiệm của bạn

Bây giờ, hãy chạy thử nghiệm trên thiết bị được kết nối Android hoặc iOS bằng lệnh dưới đây -

tns test android

Thao tác này sẽ trả về trạng thái sau:

? To continue, choose one of the following options: (Use arrow keys) 
> Configure for Cloud Builds 
   Configure for Local Builds 
   Configure for Both Local and Cloud Builds 
   Skip Step and Configure Manually

Sau đó chọn tùy chọn bên dưới -

? To continue, choose one of the following options: Configure for Local Builds 
Running the setup script to try and automatically configure your environment. 
These scripts require sudo permissions 
.....

Để thực thi bộ thử nghiệm của bạn trong trình mô phỏng Android, hãy chạy lệnh sau:

tns test android --emulator

Bây giờ, máy chủ nghiệp vụ chuẩn bị xây dựng và triển khai dự án của bạn.

Kiểm tra End To End (E2E)

Kiểm thử đơn vị là quy trình nhỏ, đơn giản và nhanh chóng trong khi giai đoạn kiểm tra E2E có nhiều thành phần tham gia và hoạt động cùng nhau bao trùm các luồng trong ứng dụng. Điều này không thể đạt được bằng các bài kiểm tra đơn vị và tích hợp.

NativeScript Appiumplugin được sử dụng để thực hiện kiểm tra tự động hóa E2E. Vâng, Appium là một khung thử nghiệm mã nguồn mở cho ứng dụng di động. Để thêm khung này vào dự án của bạn, bạn phải có phiên bản XCode mới nhất hoặc Android SDK trên 25.3.0.

Cài đặt Appium

Hãy để chúng tôi cài đặt Appium trên toàn cầu bằng mô-đun npm -

npm install -g appium

Bây giờ, bạn có thể thấy phản hồi sau:

npm install -g appium 
/Users/.npm-global/bin/authorize-ios -> 
/Users/.npm-global/lib/node_modules/ appium/node_modules/.bin/authorize-ios 

> [email protected] install 
/Users/.npm-global/lib/node_modules/ appium/node_modules/appium-windows-driver

> node install-npm.js 
Not installing WinAppDriver since did not detect a Windows system 

> [email protected] postinstall /Users/.npm-
global/lib/node_modules/appium/node_modules/core-js 

> node -e "try{require('./postinstall')}catch(e){}" 
Thank you for using core-js ( https://github.com/zloirock/core-js ) for 
polyfilling JavaScript 
standard library! 
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 

> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 
Also, the author of core-js ( https://github.com/zloirock ) 
is looking for a good job -) 

> [email protected] postinstall/Users/.npm-
global/lib/node_modules/appium/node_modules 
/appium-chromedriver 

> node install-npm.js 
............................................ 
............................................. 
+ [email protected] 
added 671 packages from 487 contributors in 28.889s

Thêm plugin

Hãy để chúng tôi thêm nativescript-dev-appium plugin như một dev Phụ thuộc vào dự án của bạn bằng cách sử dụng lệnh dưới đây:

$ npm install -D nativescript-dev-appium

Sau khi thực hiện điều này, hãy chọn mocha khung và bạn sẽ nhận được phản hồi tương tự như thế này -

> node ./postinstall.js 
? What kind of project do you use
? javascript ? Which testing framework do you prefer? mocha 
+ [email protected]

Bây giờ, các tệp được lưu trữ bên trong thư mục dự án của bạn.

Xây dựng thiết bị của bạn

Hãy để chúng tôi xây dựng thiết bị Android bằng lệnh dưới đây -

tns build android

Lệnh trên sẽ chạy các bài kiểm tra nên chỉ định các khả năng được nhắm mục tiêu. Nếu bạn có thiết bị iOS, bạn có thể xây dựng bằng cách sử dụngiOS thiết bị.

Chạy thử nghiệm

Bây giờ, chúng tôi đã cấu hình thiết bị. Hãy để chúng tôi chạy thử nghiệm của mình bằng lệnh dưới đây -

npm run e2e -- --runType <capability-name>

Đây,

tên khả năng được xác định bên trong ứng dụng của bạn e2e/config/appium.capabilities.json.

Đầu ra

NativeScript - Kết luận

NativeScript là một ứng dụng di động tuyệt vời dành cho các nhà phát triển web để kiểm tra ứng dụng của họ hoàn toàn theo cách rất dễ dàng mà không cần nỗ lực thêm. Các nhà phát triển có thể tự tin phát triển một ứng dụng đẹp mắt cũng như thành công mà không gặp bất kỳ vấn đề nào trong một khoảng thời gian ngắn.