Skip to content

Instantly share code, notes, and snippets.

View prashanth-sams's full-sized avatar
🍎
Each day is interesting!!!

Prashanth Sams prashanth-sams

🍎
Each day is interesting!!!
View GitHub Profile
@prashanth-sams
prashanth-sams / gist:946c292d0ce465fe704013918775d56a
Created May 3, 2018 08:37 — forked from gkop/gist:1371962
Capture javascript errors in Cucumber+Capybara+Webdriver tests
# in features/support/env.rb
require 'selenium/webdriver'
# we need a firefox extension to start intercepting javascript errors before the page
# scripts load
Capybara.register_driver :selenium do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
# see https://github.com/mguillem/JSErrorCollector
profile.add_extension File.join(Rails.root, "features/support/extensions/JSErrorCollector.xpi")
Capybara::Selenium::Driver.new app, :profile => profile
@prashanth-sams
prashanth-sams / cli_python.py
Created May 5, 2018 18:03
Command Line argument for Python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--browser")
args = parser.parse_args()
if args.browser == 'CHROME':
driver = webdriver.Chrome()
else:
@prashanth-sams
prashanth-sams / kubernetes_selenium_grid.yaml
Created November 21, 2018 06:37
Kubernetes Selenium Grid
{
"kind": "Deployment",
"apiVersion": "extensions/v1beta1",
"metadata": {
"name": "selenium-node-chrome",
"namespace": "default",
"selfLink": "/apis/extensions/v1beta1/namespaces/default/deployments/selenium-node-chrome",
"generation": 1,
"labels": {
"run": "selenium-node-chrome"
@prashanth-sams
prashanth-sams / kubernetes_selenium_grid.json
Last active November 18, 2021 17:50
Kubernetes selenium grid setup with 1 HUB and 1 NODE
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "selenium-hub",
"labels": {
"run": "selenium-hub"
}
},
"spec": {
@prashanth-sams
prashanth-sams / pipeline_parallel
Last active November 24, 2018 11:34
Pipeline parallel Jenkins jobs
pipeline {
agent any
stages {
stage('Non-Parallel Stage') {
steps {
echo "Executing this stage first"
}
}
stage('Parallel Stage') {
parallel {
@prashanth-sams
prashanth-sams / pipeline_parallel_groups
Created November 25, 2018 04:43
Pipeline parallel job run with different sets of groups
pipeline {
agent any
stages {
stage('single run') {
parallel {
stage('Parallel Test 1') {
steps {
script {
def group1 = [:]
group1["test_1"] = {
@prashanth-sams
prashanth-sams / geckodriver-install.sh
Created November 25, 2018 07:54 — forked from cgoldberg/geckodriver-install.sh
download and install latest geckodriver for linux or mac (selenium webdriver)
#!/bin/bash
# download and install latest geckodriver for linux or mac.
# required for selenium to drive a firefox browser.
install_dir="/usr/local/bin"
json=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest)
if [[ $(uname) == "Darwin" ]]; then
url=$(echo "$json" | jq -r '.assets[].browser_download_url | select(contains("macos"))')
elif [[ $(uname) == "Linux" ]]; then
url=$(echo "$json" | jq -r '.assets[].browser_download_url | select(contains("linux64"))')
@prashanth-sams
prashanth-sams / update_webdrivers.sh
Created November 25, 2018 07:55 — forked from cgoldberg/update_webdrivers.sh
Install geckodriver/chromedriver for Linux (64 bit)
#!/usr/bin/env bash
#
# Install WebDrivers for Linux
# ----------------------------
# * Binary webdrivers are required to drive Firefox and Chrome browsers from Selenium.
# * This script will fetch the 64-bit binaries (geckodriver/chromedriver) for Linux.
set -e
@prashanth-sams
prashanth-sams / prune_kubernetes.md
Last active November 26, 2018 11:07
Take away Kubernetes completely

Linux

minikube stop; minikube delete
docker stop (docker ps -aq)
rm -r ~/.kube ~/.minikube
sudo rm /usr/local/bin/localkube /usr/local/bin/minikube
systemctl stop '*kubelet*.mount'
sudo rm -rf /etc/kubernetes/
docker system prune -af --volumes
@prashanth-sams
prashanth-sams / multiple_should.json
Last active December 16, 2018 10:59
Elastic search queries with condition
GET /your_path/_search
{
"size": 5,
"_source": [ "expected_key1", "expected_key2", "..."],
"query": {
"bool": {
"should": [
{
"term": {
"expected_key": expected_value