Automate di era digital sekarang ini sangat berperan penting, terutama dalam mengerjakan suatu tugas (task) yang bersifat rutin dan juga banyak. Bayangkan, misalnya anda diberi tugas untuk mendownload laporan pada web tertentu dalam jumlah yang banyak dalam waktu yang singkat setiap hari, apa tidak bosan dan capek? :D
Kalo saya jelas capek, terlebih hal tersebut menguras waktu. Oleh karena itu automate (otomatisasi) merupakan solusi yang tepat. Dari mana memulainya, dan bahasa pemrograman apa yang harus dipelajari?
Silahkan baca artikel dari Freecodecamp berikut ini: Here are the best programming languages to learn in 2018.
Dari daftar bahasa pemrograman tersebut, saya memilih Python.
Baik, langsung saja ke inti dari artikel ini yaitu: handle alert dengan selenium python. Bagi anda yang belum familiar dengan selenium silahkan baca artikel berikut ini:
Automate Web Browser dengan Selenium Webdriver pada Windows 7
Automate Web Browser dengan Selenium Webdriver pada Linux
Javascript Alert terkadang menjadi penghalang jika berurusan dengan otomatisasi web browser.
Contohnya default alert berikut ini:
Oiya disini saya menggunakan Python versi bawaan distro yaitu Python 2.7 dan chromedriver.
Berikut contoh python script selenium untuk menghandle javascript alert.
from selenium import webdriver from selenium.webdriver.common.alert import Alert import os, time browser = webdriver.Chrome() browser.get("https://halaman-login.com") time.sleep(1) browser.find_element_by_id("username").send_keys("username") browser.find_element_by_id("password").send_keys("secretpassword") browser.find_element_by_id("button_login").click() time.sleep(2) # handle javasript alert: Alert(browser).accept()
Ternyata sangatlah mudah, hanya dengan baris kode:
Alert(browser).accept()
Artikel ini merupakan dokumentasi saya pribadi, tujuannya agar tidak lupa dan mudah ditemukan di kemudian hari jika mengalami hal serupa :D.
Happy automate testing!
No comments:
Post a Comment
Silahkan gunakan nama asli dalam berkomentar. Profil unknown / anonim tidak akan di-approve! Terima kasih.