Cara menggunakan python browser terminal

Hi Kawan,

Sesuai dengan post sebelumnya, pada kesempatan kali ini saya akan berbagi resep tentang membuat automation test framework dengan menggunakan bahasa pemrograman python + selenium, jadi di akhir sesi kamu pasti bisa membuat otomatisasi pengujian pada browser Google Chrome ya (kalau setup nya benar) 😅

Kenapa membuat tutorial automation test dengan python?

Tujuannya saya buat tutorial kali ini adalah untuk memperkaya khasanah tutorial bahasa Indonesia pada automation test menggunakan bahasa pemrograman python, dimana mayoritas hasil penelusuran yang ada di gugle menggunakan bahasa pemrograman java ataupun javascript.


Post ini merupakan rangkaian post mengenai membuat automationt test dengan python

Daftar isinya:

  1. Belajar Python dari dasar
  2. Memahami cara kerja Pytest (bagian 1) 
  3. Mulai membuat automation test dengan Selenium  <== Sekarang disini
  4. Menemukan Element dengan locator strategi yang baik 

Yuk kita mulai!!!

Sebentar.. sebentar.. bentuk tutorial yang akan saya share adalah perpaduan dari video tutorial dan blog post, jadi kedua medium pembelajaran ini akan saling melengkapi, untuk video bisa diakses disini:

Lalu catatan pada video akan merujuk pada postingan disini

Tools yang digunakan

Hal pertama yang kita perlukan adalah interpreter kode python sudah terinstall di laptop/komputer kamu, terlepas dari sistem operasi apapun (windows/macOS/linux) saya asumsikan command `python atau python3` bisa dijalankan di terminal/command line kamu ya, jika belum, silahkan merujuk ke post pendahuluan python saya sebelumnya disini

Kode Editor

Editor python ada banyak, dimulai dari yang ada di terminal seperti vim, kode editor ringan dan lengkap seperti:

  1. sublime
  2. visual code
  3. atom
  4. ataupun IDE yang kumplit seperti PyCharm Edu.

Sebagai pendamping dalam menulis kode python saya biasanya akan menginstal pula Kite sebagai tambahan autocomplete dan documentation di local tapi ini opsional sih, ga di install juga gapapa (ukuran file nya gede sih ahaha)

Chromedriver

Bisa diunduh di : https://chromedriver.chromium.org/downloads 

Lalu tambahkan directory binary chromedriver ke sistem path kamu, (windows bisa taruh chromedriver.exe di folder c:\windows\System32 klo linux bisa tambahkan di path via ~/.bash_profile atau ~/.zshrc kamu. Atau klo macOS bisa lebih mudah tinggal jalankan perintah berikut di terminal brew cask install chromedriver

 Python Packaging Tools

Salah satu best practice pemrograman python adalah memiliki packaging tools yang menjadi depedency management library python agar tidak saling bertabrakan, jadi diperlukan virtual environment, kita akan menggunakan `pipenv` untuk itu, jalankan perintah berikut di terminal

$ pip install pipenv

atau klo gagal karena km menggunakan python3 bisa menggunakan command `pip3 install pipenv` 

Nah yuk kita mulai kodingnya.. Silahkan liat videonya ya

Skenario test yang dijalankan

Scenario: Search Profile in Google
Given I am in google home page
When I search for "Fachrul Choliluddin"
Then I should see search result of "Fachrul Choliluddin"

Apa itu Selector?

Selector adalah sebuah format yang digunakan oleh library seperti Selenium dan Capybara untuk menemukan elemen pada web seperti gambar, tulisan, tombol, dan sebagainya. Untuk bisa menggunakan Selector akan lebih baik jika anda mengenal HTML terlebih dahulu. Kamu bisa lihat materinya disini.

Apa itu CSS Selector?

CSS adalah sebuah notasi (selector) yang digunakan untuk menemukan elemen tertentu pada halaman web. CSS sendiri digunakan oleh web developer untuk memberikan style pada halaman web seperti warna, besar dan lebar gambar, bentuk tombol, dan berbagai fungsi lainnya. Properti-properti pada CSS ini bisa kita manfaatkan untuk mendeteksi sebuah elemen pada web.

Cara Menggunakan CSS selector

Sebenarnya kita sudah menggunakan syntax CSS pada lesson sebelumnya. Yaitu #login_link. Dimana kita memanfaatkan elemen id pada tombol login untuk mendeteksi keberadaan tombol login.

Materi mengenai CSS sendiri sangat luas, sehingga kamu bisa baca mengenai CSS lebih lanjut disini.

Apa itu XPath?

XPath adalah sebuah notasi (selector) yang digunakan untuk menemukan elemen tertentu pada halaman web. Xpath memiliki bentuk syntax yang lebih fleksibel jika dibandingkan dengan CSS. Sehingga lebih umum digunakan untuk mencari elemen web yang tidak bisa dicari oleh selector CSS.

Mengapa Memakai XPath?

Misalkan saya punya halaman web dengan format HTML seperti ini ...

<div class="parent">
    <h2>Ayamh2>
    <p>Ayam adalah salah satu unggas yang bisa dimakanp>
    <div class="child">
        <h3>Gambar Ayamh3>
        <img id="ayam_image" src="ayam.jpg" alt="Smiley face" height="42" width="42">
        <p>Ini adalah gambar ayamp>
    div>
div>

Anda bisa menggunakan selector CSS untuk mengambil elemen image dengan cara seperti ini.

driver.find_element_by_css_selector('#ayam_image')

Atau menggunakan XPath dengan cara berikut

driver.find_element_xpath('//img')

Atau

driver.find_element(by=By.XPATH, value='//*[@id="ayam_image"]')

Dan sebagainya ...

Intinya, XPath menawarkan banyak metode alternatif untuk mencari suatu elemen pada halaman web.

Materi mengenai XPath sendiri sangat luas, sehingga kamu bisa baca mengenai CSS lebih lanjut disini.

Perbandingan CSS vs xPath

XPathCss
//div/a div > a
//div//a div a
//div[@id='example'] #example
//div[@class='example'] .example
//input[@id='username']/following-sibling::input[1] #username + input
//input[@name='username'] input[name='username']
//input[@name='login'and @type='submit'] input[name='login'][type='submit']
a[contains(text(), 'Log out')] a:contains('Log Out')
  #recordlist li:nth-of-type(4)
   a[id^='id_prefix_']
   a[id$='_id_sufix']
   a[id*='id_pattern']
   
➜ pipenv --three Inisiasi directory sebagai virtual environment yang baru dengan python3
➜ pipenv shell mengaktivasi virtual environment
➜ pip freeze melihat daftar isi library yang sudah di terpasang di virtual environment 
➜ pipenv install selenium memasang library selenium
➜ pipenv install pytest memasang library pytest
➜ chromedriver -v cek versi chromedriver
➜ python test_googling.py menjalankan kode python
➜ pytest menjalankan module pytest di directory aktif
➜ pytest -s menjalankan pytest disertai stdout untuk print console

 Link terkait:


Bagaimana cara menjalankan script python?

Menjalankan Python.
Buka terminal CTRL + ALT + T..
Ketik python maka Anda akan masuk ke Python shell..
Tuliskan script Python Anda, contoh: print("Selamat datang di Python") . jika sudah tekan tombol ENTER , dan script Python akan dijalankan/eksekusi..
Untuk keluar dari Python shell ketik exit().

Python bisa digunakan untuk apa saja?

Python adalah sebuah bahasa pemrograman yang digunakan untuk membuat aplikasi, perintah komputer, dan melakukan analisis data. Sebagai general-purpose language, Python bisa digunakan untuk membuat program apa saja dan menyelesaikan berbagai permasalahan. Selain itu, Python juga dinilai mudah untuk dipelajari.

Python menggunakan bahasa apa?

Python adalah bahasa pemrograman interpretatif yang dapat digunakan di berbagai platform dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode dan merupakan salah satu bahasa populer yang berkaitan dengan Data Science, Machine Learning, dan Internet of Things (IoT).

Bagaimana cara belajar python?

Tips Belajar Python dengan Cepat.
Pahami dulu dasar bahasa pemrograman. Ada beberapa aspek penting terkait apa saja yang harus kamu pelajari dari sebuah bahasa pemrograman. ... .
Kuasai Bahasa Inggris. ... .
Mulai belajar sekarang. ... .
4. Coba buat program sederhana. ... .
Learning by doing..