Tutorial: Gunakan tes kepercayaan diri dari rangkaian tes kepercayaan - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial: Gunakan tes kepercayaan diri dari rangkaian tes kepercayaan

AWS IoT GreengrassTesting Framework (GTF) dan Greengrass Development Kit (GDK) menawarkan pengembang cara untuk menjalankan pengujian. end-to-end Anda dapat menyelesaikan tutorial ini untuk menginisialisasi proyek GDK dengan komponen, menginisialisasi proyek GDK dengan modul end-to-end pengujian, dan menggunakan tes kepercayaan dari rangkaian pengujian kepercayaan. Setelah Anda membangun kasus uji kustom Anda, Anda kemudian dapat menjalankan pengujian.

Tes kepercayaan adalah tes generik yang disediakan oleh Greengrass yang memvalidasi perilaku komponen mendasar. Tes ini dapat dimodifikasi atau diperluas agar sesuai dengan kebutuhan komponen yang lebih spesifik.

Untuk tutorial ini kita akan menggunakan HelloWorld komponen. Jika Anda menggunakan komponen lain, ganti HelloWorld komponen dengan komponen Anda.

Dalam tutorial ini, Anda melakukan hal-hal berikut:

  1. Inisialisasi proyek GDK dengan komponen.

  2. Inisialisasi proyek GDK dengan modul end-to-end uji.

  3. Gunakan tes dari rangkaian tes kepercayaan.

  4. Tambahkan tag ke kasus uji baru.

  5. Bangun JAR tes.

  6. Jalankan tes.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan hal berikut:

  • GDK versi 1.6.0 atau yang lebih baru

  • Java

  • Maven

  • Git

Langkah 1: Inisialisasi proyek GDK dengan komponen

  • Inisialisasi folder kosong dengan proyek GDK. Unduh HelloWorld komponen yang diimplementasikan dengan Python dengan menjalankan perintah berikut.

    gdk component init -t HelloWorld -l python -n HelloWorld

    Perintah ini membuat direktori baru bernama HelloWorld dalam direktori saat ini.

Langkah 2: Inisialisasi proyek GDK dengan modul uji end-to-end

  • GDK memungkinkan Anda mengunduh templat modul pengujian yang terdiri dari implementasi fitur dan langkah. Jalankan perintah berikut untuk membuka HelloWorld direktori dan menginisialisasi proyek GDK yang ada menggunakan modul pengujian.

    cd HelloWorld gdk test-e2e init

    Perintah ini membuat direktori baru bernama gg-e2e-tests dalam HelloWorld direktori. Direktori pengujian ini adalah proyek Maven yang memiliki ketergantungan pada JAR mandiri pengujian Greengrass.

Langkah 3: Gunakan tes dari rangkaian pengujian kepercayaan

Menulis kasus uji kepercayaan terdiri dari menggunakan file fitur yang disediakan dan, jika perlu, memodifikasi skenario. Untuk contoh menggunakan tes kepercayaan diri, lihatContoh: Membangun kasus uji khusus. Gunakan langkah-langkah berikut untuk menggunakan tes kepercayaan diri:

  • Gunakan file fitur yang disediakan.

    Arahkan ke gg-e2e-tests/src/main/resources/greengrass/features folder di direktori saat ini. Buka confidenceTest.feature file sampel untuk menggunakan tes kepercayaan.

Langkah 4: Tambahkan tag ke kasus uji baru

  • Anda dapat menetapkan tag ke fitur dan skenario untuk mengatur proses pengujian. Anda dapat menggunakan tag untuk mengkategorikan subset skenario dan juga memilih kait secara kondisional untuk dijalankan. Fitur dan skenario dapat memiliki beberapa tag yang dipisahkan oleh spasi.

    Dalam contoh ini, kita menggunakan HelloWorld komponen.

    Setiap skenario ditandai dengan@ConfidenceTest. Ubah atau tambahkan tag jika Anda hanya ingin menjalankan sebagian dari rangkaian pengujian. Setiap skenario tes dijelaskan di bagian atas setiap tes kepercayaan. Skenario ini adalah serangkaian langkah yang membantu memahami interaksi dan hasil yang diharapkan dari setiap kasus uji. Anda dapat memperpanjang tes ini dengan menambahkan langkah Anda sendiri atau dengan memodifikasi yang sudah ada.

    @ConfidenceTest Scenario: As a Developer, I can deploy GDK_COMPONENT_NAME to my device and see it is working as expected ....

Langkah 5: Bangun JAR tes

  1. Membangun komponen. Anda harus membangun komponen sebelum membangun modul pengujian.

    gdk component build
  2. Bangun modul pengujian menggunakan perintah berikut. Perintah ini akan membangun JAR pengujian di greengrass-build folder.

    gdk test-e2e build

Langkah 6: Jalankan tes

Saat Anda menjalankan uji kepercayaan diri, GTF mengotomatiskan siklus hidup pengujian bersama dengan mengelola sumber daya yang dibuat selama pengujian. Ini pertama-tama menyediakan perangkat yang sedang diuji (DUT) sebagai AWS IoT sesuatu dan menginstal perangkat lunak inti Greengrass di atasnya. Kemudian akan membuat komponen baru bernama HelloWorld menggunakan resep yang ditentukan di jalur itu. HelloWorldKomponen tersebut kemudian dikerahkan ke perangkat inti melalui penerapan hal Greengrass. Ini kemudian akan diverifikasi jika penerapan berhasil. Status penerapan akan berubah menjadi COMPLETED dalam waktu 3 menit jika penerapan berhasil.

  1. Pergi ke gdk-config.json file di direktori proyek untuk menargetkan tes dengan ConfidenceTest tag atau tag mana pun yo8u yang ditentukan dalam Langkah 4. Perbarui test-e2e kunci menggunakan perintah berikut.

    "test-e2e":{ "gtf_options" : { "tags":"ConfidenceTest" } }
  2. Sebelum menjalankan pengujian, Anda harus memberikan AWS kredensi ke perangkat host. GTF menggunakan kredensi ini untuk mengelola AWS sumber daya selama proses pengujian. Pastikan peran yang Anda berikan memiliki izin untuk mengotomatiskan operasi yang diperlukan yang disertakan dalam pengujian.

    Jalankan perintah berikut untuk memberikan AWS kredensialnya.

    1. Linux or Unix
      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      Windows Command Prompt (CMD)
      set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      PowerShell
      $env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" $env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
  3. Jalankan tes menggunakan perintah berikut.

    gdk test-e2e run

    Perintah ini mengunduh versi terbaru dari inti Greengrass di folder dan menjalankan pengujian greengrass-build menggunakannya. Perintah ini juga hanya menargetkan skenario dengan ConfidenceTest tag dan menghasilkan laporan untuk skenario tersebut. Anda akan melihat AWS sumber daya yang dibuat selama tes ini dibuang di akhir tes.

Contoh: Gunakan tes kepercayaan

Modul pengujian yang diunduh dalam proyek GDK terdiri dari file fitur yang disediakan.

Dalam contoh berikut, kami menggunakan file fitur untuk menguji fitur penyebaran benda dari perangkat lunak Greengrass. Kami menguji sebagian fungsionalitas fitur ini dengan skenario yang melakukan penerapan komponen melalui AWS Cloud Greengrass. Ini adalah serangkaian langkah yang membantu kita memahami interaksi dan hasil yang diharapkan dari kasus penggunaan ini.

  • Gunakan file fitur yang disediakan.

    Arahkan ke gg-e2e-tests/src/main/resources/greengrass/features folder di direktori saat ini. Anda dapat menemukan sampel confidenceTest.feature yang terlihat seperti contoh berikut.

    Feature: Confidence Test Suite Background: Given my device is registered as a Thing And my device is running Greengrass @ConfidenceTest Scenario: As a Developer, I can deploy GDK_COMPONENT_NAME to my device and see it is working as expected When I create a Greengrass deployment with components | GDK_COMPONENT_NAME | GDK_COMPONENT_RECIPE_FILE | | aws.greengrass.Cli | LATEST | And I deploy the Greengrass deployment configuration Then the Greengrass deployment is COMPLETED on the device after 180 seconds # Update component state accordingly. Possible states: {RUNNING, FINISHED, BROKEN, STOPPING} And I verify the GDK_COMPONENT_NAME component is RUNNING using the greengrass-cli

    Setiap skenario tes dijelaskan di bagian atas setiap tes kepercayaan. Skenario ini adalah serangkaian langkah yang membantu memahami interaksi dan hasil yang diharapkan dari setiap kasus uji. Anda dapat memperpanjang tes ini dengan menambahkan langkah Anda sendiri atau dengan memodifikasi yang sudah ada. Masing-masing skenario mencakup komentar yang membantu Anda melakukan penyesuaian ini.