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.