Remark this process can take hours for buiding installer!
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting wxpython
Using cached https://files.pythonhosted.org/packages/b0/4d/80d65c37ee60a479d338d27a2895fb15bbba27a3e6bb5b6d72bb28246e99/wxPython-4.1.1.tar.gz
Requirement already satisfied, skipping upgrade: pillow in /usr/lib/python3/dist-packages (from wxpython) (5.4.1)
Requirement already satisfied, skipping upgrade: six in /usr/lib/python3/dist-packages (from wxpython) (1.12.0)
Requirement already satisfied, skipping upgrade: numpy in /usr/lib/python3/dist-packages (from wxpython) (1.16.2)
Building wheels for collected packages: wxpython
Running setup.py bdist_wheel for wxpython ... done
Stored in directory: /home/andie/.cache/pip/wheels/54/32/da/dc5c828a12bc9a1ca58d5555f1076fd7d2984ae9c0e03eb510
Successfully built wxpython
Installing collected packages: wxpython
The scripts helpviewer, img2png, img2py, img2xpm, pycrust, pyshell, pyslices, pyslicesshell, pywxrc, wxdemo, wxdocs and wxget are installed in '/home/andie/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed wxpython-4.1.1
seiring dengan keluarnya Raspberry pi4 8G , saya memigrasikan seluruh sistim development saya ke Raspbian 64 OS,
(c) andie tanadi
(c) andie tanadi
(c) andie tanadi
ini adalah hardware yang saya gunakan:
Raspberry Pi 4 Computer Modell B, 8GB RAM
Argon ONE M.2 Case für Raspberry Pi 4
Kingston M.2 SSD A400 240GB
Raspberry Pi USB-C Netzteil 5,1V / 3,0A, EU
Alasan saya memigrasikan dari SD card 64G ke SSD 240 adalah karena kebutuhan tempat untuk code saya, juga kecepatan boot dan operasi dari Pi yang saya pergunakan.
Referensi info untuk migrasi bisa anda lihat dengan detail di sini:
Dalam artikel ini saya ingin sedikit berbagi pengalaman saya dalam penerapan test automatisasi dengan Robotframework dalam bentuk pengujian bersyarat (Requirements based Testing)
Sebelum itu mari kita lihat dan pahami , apa arti Pengujian berbasis Persyaratan (Requirements based Testing) secara umum.
Apa itu Pengujian Berbasis Persyaratan? Pengujian berbasis persyaratan adalah pendekatan pengujian di mana kasus pengujian, kondisi, dan data berasal dari persyaratan. Ini termasuk tes fungsional dan juga atribut non-fungsional seperti kinerja, keandalan atau kegunaan.
Tahapan dalam Pengujian berdasarkan Persyaratan:
Menentukan Kriteria Penyelesaian Test :
Pengujian selesai hanya jika semua pengujian fungsional dan non-fungsional selesai.
Desain Kasus Uji: Kasus uji memiliki lima parameter yaitu:
keadaan awal atau prasyarat,
penyiapan data,
masukan,
hasil yang diharapkan,
hasil aktual.
Jalankan Test: Jalankan kasus uji terhadap sistem yang sedang diuji dan dokumentasikan hasilnya.
Verifikasi Hasil Test: Verifikasi apakah hasil yang diharapkan dan aktual cocok satu sama lain.
Verifikasi Cakupan Test: Periksa apakah pengujian mencakup aspek fungsional dan non-fungsional dari persyaratan.
Lacak dan kelola Kesalahan Software: Setiap Kesalahan yang terdeteksi selama proses pengujian melewati siklus hidup Kesalahan dan dilacak hingga penyelesaiannya. Statistik Kesalahan dipertahankan yang akan memberi kita status keseluruhan proyek.
Persyaratan Proses pengujian:
Pengujian harus dilakukan tepat waktu.
Proses pengujian harus menambah nilai siklus hidup perangkat lunak (software), oleh karena itu harus efektif.
Menguji sistem secara menyeluruh tidak mungkin dilakukan sehingga proses pengujian juga harus efisien.
Pengujian harus memberikan status keseluruhan proyek, oleh karena itu harus dapat dikelola. Dan biasanya untuk tujuan ini digunakan Test Management Tools (salah satu contohnya adalah Mantis / TestLink/ HP-ALM-Quality Center / Jira Plugin XRAY)
Contoh Desain Kasus Uji dengan Robotframework:
*** Settings ***
Documentation *Kriteria Penyelesaian Test:*
... Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl. ) ein POST- Request mit dem Request-Body nach [gem_SGD_ePA#Tab_KeyDerivation-Request] eintrifft, so MUSS die RVE des SGD
... - das Zertifikat im Datenfeld *Certificate* gemäß TUC_PKI_018 prüfen und
... dabei Ergebnisse nach \ \ berücksichtigen.
...
... - die Kodierung und die Signatur der ""PublicKeyECIES"" prüfen (vgl. \ und ).
... Falls eine der Prüfungen ein nicht-positives Ergebnis liefert, so MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#] dem Client antworten und die weitere Requestverarbeitung abbrechen.
...
... Die RVE des SGD MUSS die Informationen aufbereiten und an das für den Request avisierte SGD-HSM übergeben (vgl.). Liefert das SGD-HSM ein OK, so MUSS die SGD die Antwort den HTTP-POST-Request mit folgender Nachricht beantworten:
... {
... \ ""Status"" : ""OK"",
... \ ""EncryptedMessage"" : ""... Base64-kodiertes Chiffrat. Das Chiffrat wurde vom SGD-HSM erzeugt ...""
... }
... Anderenfalls (SGD-HSM meldet einen Fehler) MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#] \ dem Client antworten.
*** Test Cases ***
A_17898-1
[Documentation] *Definisi Test:*
... - Am SGD ePA trifft über die HTTPS-SGD-Schnittstelle (vgl. A_17889) ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_KeyDerivation-Request] ein: die RVE des SGD prüft das Zertifikat im - Datenfeld ""Certificate"" gemäß TUC_PKI_018 \ und berücksichtigt dabei Ergebnisse nach A_17896.
... - Die RVE des SGD prüft die Kodierung und die Signatur der ""PublicKeyECIES"" (vgl. A_17900 und A_17901).
...
... *Hasil Test:*
... - Beide Prüfungen liefern ein positives Ergebnis.
... - Die RVE des SGD bereitet die Informationen auf.
... - Die RVE des SGD übergibt die aufbereiteten Informationen an das für den Request avisierte SGD-HSM.
... - Das SGD-HSM liefert ein OK.
... - Die SGD beantwortet den HTTP-POST-Request mit folgender Nachricht:{\ ""Status"" : ""OK"",\ ""EncryptedMessage"" : ""... Base64-kodiertes Chiffrat. Das Chiffrat wurde vomSGD-HSM erzeugt ...""}"
[Tags] A_17898 gemSpec_SGD_ePA owner-at prio-1
[Setup] Enable Strict Validation
sgd-clientjavaWF.Vorbedingungen für Überprüfung
sgd-clientjavaWF.Schritt1
sgd-clientjavaWF.Schritt2
sgd-clientjavaWF.Schritt3
sgd-clientjavaWF.Schritt4
sgd-clientjavaWF.Schritt6
Kriteria Penyelesaian Test dapat anda implementasikan dalam fungsi [Documentation] pada Robotframework Test.
Verifikasi Cakupan Test dapat anda implementasikan dalam fungsi [Tags] pada Robotframework Test.
Verifikasi Hasil Cakupan Test akan dihasilkan oleh Robotframework Test Report dan Test Log, yang didalamnya menggambarkan jalur dan urutan Test anda.
Anda tidak membutuhkan Aplikasi atau Software extra untuk mengimplimentasikan Kriteria yang saya sebutkan di atas.
Hasil dan dokumentasi dari Test anda akan anda dapatkan selalu dari hasil akhir automatisasi Test anda dengan Robotframework.
just one sample migrating ATDD Test from Coded UI to Robotframework.
Before Test Structure:
CodedUI Unit Test Structure
Comparison Unit Test & ATDD Test Structure:
Structure Comparison C# and Python with Selenium API
Reason for Migration from CodedUI to Robotframework:
CodedUI is now deprecated.
Test Tools and Ways of testing didn’t fullfill the requirement for doing ATDD test (E2E test) scopes.
Long test run .
Needs of proper test logging
Test run should be independance from SW build.
Only IE as browser is supported.
Proposed Robotframework ATDD Structure:
Robotframework ATDD Structure
Project / Test & Development enviroment Limitation:
Test Object: Sharepoint 2019 customisation
OS used for test object and testing: Microsoft Windows 10 OS
Build and test requrement tools: Microsoft TFS
Diffrent targets and build environment for: Development, Integration and Preproduction.
Needed Infrastukture and Software for Testing with Robotframework:
Python 3.x
Robotframework
Robotframework SeleniumLibrary
Robotframework Whitelibrary
Test editor Notepad ++ with Robotframework plugin
Test should be able to run as Selenium Hub trigger from MS TFS which consuming Robotframework xUnit reports as test run results.
Benefit of using Robotframework:
Test run faster than CodedUI
Test cases are written as Keyword Driven test, instead of Unit Test, these speed up the test cases creation and migration also simplify reusable of test cases.
No need using Visual Studio for creating test sases, you can use simple text editor r write tests.
Test results are more understandable for non-technical team members ( Test Manager, Project Manager, Environment Team, Solution Team)
Using RF Tag functionally and RF Report (Rebot) custom report can be created without any additional effort,
Report implementations of build on TFS over Xunit report flag on Robot runner.
Tests can run independently outside build tool.
Starting the MIgration Steps:
Separating & creating all needed sharepoint UI keywords in UI Keyword resources.
Separating & creating all needed sharepoint 2019 application workflow as Keyword resources.
Creating template of sharepoint masterpage sites mapping as keyword resources.
Defining needed static and dynamic variables regarding to TCs and target test enviroment as variable resources
Creating RF runner files as batchfile for each target deployment enviroment (development, integration, or regresion)
Creating test suites regarding requirement (sanity test, fuctional test or regresion test)
Creating folder structure to map sharepoint functional requirement implementation
Creating folder structure for test reports, test suites and test runner.
Tagging related test suites regarding requirement coverage
Raspberry Zero W connected directly to Mac with OTG mode
Why using Robotframework on Raspberry pi?
As Raspberry pi user , sometimes I have problems after doing OS update with some application I currently workout on pi, mean do “sudo apt-get update” , “sudo apt-get upgrade” & do “Reboot” everythings goes Wrong 🙁 !.
I have been using Robotframework since 2006, and would like to show you how simple to run a Regresion Test with Robotframework Framework on SBC like Rasberry Pi and Co’s. Robotframe work need only python ecosystem, which are out of the box delivered by Raspbian OS. And also it needs minimal resource of space in SD card.
Used pi space before Robotframework Installation
As a sample I will start with installation of Robotframework , please check before if you have python pip installer installed on your Rasbian before starting with the installation!
Most MS (Microsoft) software roll-out are release via SCCM to all Project Infrastructure (DC, AD, Application Servers, Application Clients). Usually testers are using Standards MS Tools like Powershell, MS CMD (tools: like netsh, wmic, etc) for validating Installation results on targets.
This article describe how the same tasks solve with python scripting using WMI & LDAP3 library.
Common Test Task & Rollout Workflow:
Rollout related Packages will be distributed to MS SCCM
Over SCCM Application GUI Testers trigger the release processes for target environment (Server/Client PC)
On target environments testers mock up the sccm client update sequence to push roll-up update for related Packages.
After SCCM agent invoke successfully SW update, the validation steps starting, Testers use common MS OS GUI like “Software Information GUI” or “Service Information GUI ” for validating Installation status. Some Testers also used Powershell commands for Validating installations.
Just daily tasks for MS Administrator , as test analyst , I try to find out more efficient way.
After some investigation I find out, the way validating MS SW status over WMI Interfaces are much easier than any Powershell or Dos Batch command, especially with pywmi.
These following WMI class Objects are interesting for SW Installations Validation :
Win32_OperatingSystem
Win32_Product
Win32_BaseService
Win32_Service
Win32_NTDomain
win32_optionalfeature
win32_ComputerSystem
Win32_PingStatus
Using pywmi, ldap3, winkerberos and common Excel library on python, I created scripts which extract the installed SW, Services Status, Drive Mapping , Domain configuration and AD Application User Accounts. All as excel files containing Tabs related to the mentions check Topics.
WMI exe’s
WMI results
Status, Drive Mapping , Domain configuration and AD Application User Accounts. All as excel files containing Tabs related to the mentions check Topics
AD exe’s
AD results
I Run it before SW update and after Update, find out the delta Information’s I got in my excel sheet and cross check if all Items match to release roll-out specifications.
Added Value:
The script can be pointed for remote Target using WMI remote functionality.
Limited scripts to do only wmi-get / LDAP show action (under executable) , to guaranties that no system or installation change cause by test action.
Validating more easier than with MS Scripting( I created “.exe” files for each test with py2exe)
I don’t mess any test object, because no installation for python needed (all checks are run as “.exe” files and can easily remove after test)
Untuk rekan rekan yang bergerak(bekerja) sebagai windows system administrator tentu anda mengenal Powershell yang selama ini digunakan untuk mengadministrasikan MS Windows OS.
Sejak Versi Powershell 6 (Core) tertanggal 23.08.2018 anda dapat menjalankan semua Powershell script (.PS1) tidak saja dari Windows PC tetapi dari semua system OS (Lin(x) atau MAC).
coba bayangkan betapa besar kemungkinan implementasi yang anda dapatkan (administrasi & test MS-SCCM, -SCOM ,dll lewat raspberry) !
limitasi: untuk saat ini Powershell 6 (Core) hanya berfungsi dengan pi2 atau pi3, tidak pada Pi Zero.
Untuk informasi instalasi di OS Rasbian(Stretch) silahkan lihat disini
Untuk informasi instalasi wmic id lin(x) silahkan lihat di sini
Untuk informasi instalasi python winRM silahkan lihat di sini