Skip to content

Instantly share code, notes, and snippets.

View adiralashiva8's full-sized avatar

Shiva Prasad Adirala adiralashiva8

  • Hyderabad
  • 08:03 (UTC +05:30)
View GitHub Profile
@adiralashiva8
adiralashiva8 / robocop-analysis.yaml
Created April 14, 2026 14:18
Robotframework: Github actions to perform static code analysis & dry run using github actions
name: Robocop Code Analysis
on:
pull_request:
branches:
- main
jobs:
robocop:
runs-on: linux-x64-small
@adiralashiva8
adiralashiva8 / copilot-instructions.md
Created February 25, 2026 07:28
Github copilot Instruction to create keywords, locator and files by following same standards in Copilot AI Code Creation

GitHub Copilot Instructions for Veeva Vault CRM Automation Framework

Overview

This document provides instructions for GitHub Copilot to generate code that aligns with the Veeva Vault CRM Automation Framework built using Robot Framework. Follow these conventions strictly to maintain consistency across the codebase.


Project Architecture

@adiralashiva8
adiralashiva8 / html-summary-reporter.ts
Last active February 24, 2026 17:45
Playwright custom html reports using Reporter (html-summary-reporter.ts) using datatable to sort results, export to csv, excel. (project-summary-reporter.ts) for emailable report
import fs from 'fs';
import path from 'path';
// ✅ Correct type imports for a custom reporter:
import type {
FullConfig,
FullResult,
Reporter,
Suite,
TestCase,
import re
import pysnow
import logging
import threading
from deepdiff import DeepDiff
from datetime import datetime
class DataCompare:
delimiter = "|"
@adiralashiva8
adiralashiva8 / get_test_results_with_xray_id.py
Created September 9, 2025 03:38
Upload robotframework test results into xray in parallel using atlassian-python-api
import sys
import re
from robot.api import ExecutionResult, ResultVisitor
class XrayIdChecker(ResultVisitor):
def __init__(self):
self.itdft_tags = []
self.non_duplicate_tags_list = []
@adiralashiva8
adiralashiva8 / SnowTemp.jmx
Created September 9, 2025 03:30
Jmeter script for servicenow performance testing on list of tables
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.3">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="ServiceNow Table Performance Testing" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
import os
import pysnow
from typing import Dict, List, Optional, Any
from robot.libraries.BuiltIn import BuiltIn
from robot.api import logger
from robot.api.deco import keyword
from urllib.parse import urlparse
class PySnowHelper:
"""
import os
import json
from time import sleep
import multiprocessing
import requests
class BuildJob():
def __init__(self):
@adiralashiva8
adiralashiva8 / generate_project_report.py
Created September 9, 2025 03:18
Generate custom summary report from robotframework output.xml. This contains most failed tests by tag, group by error message etc.,
from collections import defaultdict
from robot.api import ExecutionResult
from robot.result.model import Keyword
from robot.result.visitor import ResultVisitor
from collections import Counter
def generate_html_report(test_stats, tag_stats, failed_modules, failure_message_counts, failure_message_by_module_counts, failure_keywords_counts, output_file):
with open(output_file, 'w') as f:
f.write("<html><body>")
f.write("<h2>ServiceNow Project Status:</h2>")
@adiralashiva8
adiralashiva8 / generate_project_report.py
Created September 9, 2025 03:18
Generate custom summary report from robotframework output.xml
from collections import defaultdict
from robot.api import ExecutionResult
from robot.result.model import Keyword
from robot.result.visitor import ResultVisitor
from collections import Counter
def generate_html_report(test_stats, tag_stats, failed_modules, failure_message_counts, failure_message_by_module_counts, failure_keywords_counts, output_file):
with open(output_file, 'w') as f:
f.write("<html><body>")
f.write("<h2>ServiceNow Project Status:</h2>")