Bagikan melalui


Eksekusi Lintas Mesin

TAEF mendukung kemampuan untuk menjalankan Te.exe pada satu komputer tetapi menjalankan pengujian pada komputer terpisah. TAEF mengautentikasi, mengotorisasi, dan menyebarkan biner yang diperlukan untuk menjalankan pengujian dan mencatat semua informasi kembali ke konsol asal.

Prasyarat

Persyaratan berikut diperlukan untuk menjalankan pengujian dari jarak jauh:

  • Anda harus menginstal dan menjalankan Te.Service (baik x86 atau x64) pada komputer target.

Menjalankan dengan akun domain

  • Akun domain harus merupakan administrator atau anggota grup "Pengguna TAEF Jarak Jauh" lokal pada komputer target.

Menjalankan dengan akun non-domain

  • Lokal (akun non-domain) harus ada dengan nama pengguna dan kata sandi yang sama di kedua komputer.

  • Pengguna tersebut harus menjadi anggota grup "Pengguna TAEF Jarak Jauh" lokal pada komputer target.

  • Pada komputer host, pengguna lokal dapat menjalankan Te.exe, atau, secara bergantian, Anda dapat menambahkan kredensial generik untuk pengguna lokal ke manajer kredensial.

    cmdkey /generic:<targetmachine> /user:<user_name> /pass:[PLACEHOLDER]
    
  • Jika Anda berjalan pada mesin yang bergabung dengan domain, komputer yang bergabung dengan domain harus memiliki pengecualian batas IPSec.

Menjalankan Pengujian Dari Jarak Jauh

/runOn:

Untuk menjalankan pengujian dari jarak jauh, Anda harus menentukan parameter /runOn:<machine name> untuk Te.exe bersama dengan sisa perintah Anda. Jika Anda memenuhi prasyarat, pengalaman pengguna lainnya akan identik dengan yang ditemukan saat menjalankan pengujian secara lokal. Semua output log akan disimpan/ditulis ke komputer lokal.

Contohnya:

te unittests\wex.common.tests.dll /runon:TAEFTest1
  • Mengirim semua biner yang diperlukan untuk pengujian Anda ke komputer target (TAEFTest1) dan menjalankan semua pengujian TAEF yang ada dalam wex.common.tests.dll dari jarak jauh, sambil masuk kembali ke konsol Anda.

Jika Anda gagal terhubung ke komputer jarak jauh karena 0x800706BA HRESULT dan Anda yakin bahwa Anda mengeja nama komputer dengan benar, coba gunakan alamat IP komputer atau gunakan sakelar /disableTimeouts . Terkadang penundaan DNS bisa cukup besar untuk menyebabkan upaya koneksi kehabisan waktu.

Catatan: Jika ini pertama kalinya menentukan perintah /runOn: , Anda mungkin perlu mengklik Buka blokir pada dialog pengecualian firewall untuk Te.exe.

Uji Dependensi

Te.exe secara otomatis menentukan semua dependensi modul asli dan terkelola pengujian Anda dan mengirimkannya ke komputer jarak jauh bersama dengan dll pengujian Anda. Ini mengecualikan biner sistem serta pustaka COM apa pun yang diperlukan pengujian Anda.

Anda dapat menentukan dependensi pengujian tambahan secara manual melalui parameter baris perintah /TestDependencies dalam bentuk daftar file atau direktori yang dibatasi titik koma untuk disalin.

  • File

    Setiap spesifikasi file dapat berisi karakter kartubebas (test.txt; test*.dll; dll.). Contohnya:

    te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:*verification*.jpg;mysample.txt
    
    • Mengirim semua biner yang diperlukan untuk pengujian Anda ke TAEFTest1 serta file apa pun yang ditemukan yang cocok dengan file yang ditentukan dalam parameter /TestDependencies .
  • Direktori

    TAEF mendukung pencarian direktori rekursif untuk direktori yang ada di atau di bawah direktori yang berisi biner pengujian. Contohnya:

    te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:unittests\...
    
    • Mengirim semua biner yang diperlukan untuk pengujian Anda ke TAEFTest1 serta semua file/direktori di dalam atau di bawah direktori unittests . TAEF mempertahankan hierarki direktori.
    _    te unittests\wex.common.tests.dll /runon:TAEFTest1 /TestDependencies:unittests\*.jpg...
    
    • Mengirim semua biner yang diperlukan untuk pengujian Anda ke TAEFTest1 serta semua file jpg di dalam atau di bawah direktori unittests . TAEF mempertahankan hierarki direktori.

    Catatan: Jika Anda menentukan pencarian direktori rekursif atau non-rekursif untuk direktori yang tidak ada di atau di bawah direktori pengujian, semua file akan disalin ke komputer jarak jauh tetapi hierarki direktori akan diratakan.

Anda dapat menentukan dependensi pengujian melalui metadata DeploymentItem

Konteks Pengguna

Secara default, TAEF mencoba menjalankan pengujian pada komputer jarak jauh dengan konteks pengguna Anda. Hal ini dilakukan dengan:

  • Menghitung semua sesi aktif pada komputer jarak jauh dan mencari sesi yang dimiliki oleh Anda.
    • Jika TAEF menemukan sesi yang dimiliki oleh Anda di komputer jarak jauh, TAEF menjalankan pengujian dalam sesi tersebut (di desktop tersebut, dll.).

      Catatan: Ini tidak akan selalu menjadi sesi konsol. Ini bisa menjadi sesi desktop jarak jauh.

    • Jika TAEF tidak menemukan sesi yang dimiliki oleh Anda di komputer jarak jauh, TAEF menjalankan pengujian sebagai pengguna yang masuk ke sesi konsol (di desktop tersebut, dll.).

    • Terakhir, jika Anda tidak memiliki sesi di komputer jarak jauh dan tidak ada yang masuk ke sesi konsol, TAEF akan menjalankan pengujian di sesi 0 (non-interaktif).

Runas

Jika Anda menentukan nilai /runAs selain /runOn, TAEF menggunakan heuristik di atas selain yang diperlukan untuk memenuhi pengaturan /runAs . Contohnya:

te unittests\wex.common.tests.dll /runon:TAEFTest1 /runas:system
  • Menjalankan semua pengujian TAEF yang ada dalam wex.common.tests.dll di TAEFTest1 dengan akun sistem.

Cara Kerjanya

  • Te.exe tersambung ke instans Te.Service yang berjalan di komputer jarak jauh
    • Autentikasi Windows (Negosiasi) mengautentikasi Anda dengan Te.Service.
    • Te.Service mengotorisasi Anda dengan memverifikasi bahwa Anda adalah administrator atau anggota grup "Pengguna TAEF Jarak Jauh" lokal di komputer jarak jauh.
  • Te.Service membuat direktori di bawah RemoteTests, dengan nama yang sama dengan dll pengujian.
  • Te.exe membuat daftar file yang diperlukan untuk menjalankan pengujian Anda pada komputer jarak jauh. Daftar ini mencakup:
    • Biner TAEF yang diperlukan
    • Semua dependensi biner asli dan/atau terkelola untuk dll pengujian Anda (tidak termasuk biner sistem)
    • Setiap file tambahan yang ditentukan oleh Anda dalam parameter /TestDependencies
  • Te.exe mengirim daftar dependensi pengujian, bersama dengan CRD untuk setiap file, ke Te.Service.
  • Te.Service mencari setiap file pada komputer jarak jauh dan membandingkan nilai CRC. Setiap kecocokan dihapus dari daftar, dan daftar dikirim kembali ke klien.
  • Jika ada file yang tersisa dalam daftar dependensi, Te.exe mengirimkan setiap dependensi ke Te.Service.
    • Te.Service menyimpannya di <direktori> Te.Service\RemoteTests\<test direktori nama> dll.
  • Te.exe meminta Te.Service untuk meluncurkan instans Te.ProcessHost.exe baru pada komputer jarak jauh menggunakan konteks pengguna yang benar.
  • Te.exe terhubung ke instans Te.ProcessHost.exe jarak jauh dan mulai menjalankan pengujian.