01 Framework
02 Xampp Server
03 WordPress
04 My SQL
05 Gauge
06 Python + Selenium + API
07 Git Lab
08 Jenkins
09 YouTrack + Jenkins
10 Microsoft Teams + Jenkins
11 Postman + Newman + Jenkins
1
2
XAMPP SERVER
XAMPP stands for Cross-Platform (X), Apache (A),
MariaDB (M), PHP (P) and Perl (P)
01
XAMPP is simple, lightweight Apache distribution
02
XAMPP works equally well on Linux, Mac, and Windows
03
XAMPP is extremely easy for developers to create a
local web server for testing and deployment
purposes
04
How To?
3
WordPress
WordPress is a free, open-source website creation
platform
01
WordPress is a content management system (CMS)
02
Written in PHP that uses a MySQL database
03
WordPress is a great solution for both large and
small websites
04
How To?
• Download WordPress-5.5.1 and extract ZIP
• Select all files and folders under WordPress and copy those to C:xampphtdocs<ProjectName
Folder>
• Restart Apache, Tomcat, MySQL Services
• Go To XAMPP Control Panel -> MySQL -> Admin ->
• Create new <ProjectName> Database
• Navigate to Link-> http://localhost/<ProjectName>/wp-admin/setup-config.php
• Enter database name <ProjectName>, username, password, database-local host, table prefix-> wp_
• On next Page add Site Title, Username <wp_admin>, password and click on install WordPress
Login into:-
• Navigate to http://localhost/pyrates/wp-login.php and enter username and password of admin
• Dashboard page loaded.
WordPress Plugins
WordPress Users
4
My SQL
WordPress data are stored in My SQL
01
MySQL is free
02
MySQL consists of a solid data security layer that
protects sensitive data
03
Client/ Server Architecture
04
My SQL
5
GAUGE
Free and open source test automation framework
01
BDD Framework supports Specification files
02
Supports JavaScript/C#/Java/Ruby/Python
03
Provide HTML/XML reports
04
GAUGE SPCES FILE/EXECUTION COMMAND/PLUGINS
GAUGE HTML REPORT
GAUGE XML REPORT
6
Python + Selenium + API
Selenium supports Python and are open source
01
Python and selenium supports multiple browsers
02
Python along with selenium is easy to code and
easy to read
03
Python language has very less verbose
04
The API used in python helps you in connecting to
the browser through the Selenium
05
Python Libraries
Package Version Package Version Package Version
appdirs 1.4.4 ipython-genutils 0.2.0 python-dateutil 2.8.1
astroid 2.4.2 isort 5.6.4 pywin32 228
Authlib 0.15.2 jedi 0.17.1 pyzmq 19.0.1
autopep8 1.5.3 jupyter-client 6.1.5 redbaron 0.9.2
backcall 0.2.0 jupyter-core 4.6.3 requests 2.24.0
baron 0.9 lazy-object-proxy 1.4.3 rply 0.7.7
certifi 2020.6.20 mccabe 0.6.1 selenium 3.141.0
cffi 1.14.3 mysql-connector 2.2.9 setuptools 47.1.0
chardet 3.0.4 parso 0.7.0 simple-salesforce 1.10.1
chromedriver-autoinstaller 0.2.2 passlib 1.7.4 six 1.15.0
colorama 0.4.4 pathlib 1.0.1 toml 0.10.1
cryptography 3.1.1 pickleshare 0.7.5 tornado 6.0.4
decorator 4.4.2 pip 20.1.1 traitlets 4.3.3
distlib 0.3.1 pipenv 2020.8.13 typed-ast 1.4.1
filelock 3.0.12 prompt-toolkit 3.0.5 urllib3 1.25.11
getgauge 0.3.7 protobuf 3.13.0 uuid 1.3
grpcio 1.25.0 ptvsd 4.3.2 virtualenv 20.0.35
idna 2.1 pycodestyle 2.6.0 virtualenv-clone 0.5.4
importlib-metadata 2.0.0 pycparser 2.2 wheel 0.35.1
ipykernel 5.3.0 Pygments 2.6.1 wrapt 1.12.1
ipython 7.16.1 pylint 2.6.0 zipp 3.3.2
Python + Property File
Python + Selenium + MySQL
Python + API
Python (MySQL - User Password Verification)
Python (YATTAG) Library
7
Git Lab
Gitlab provides a vast repository on web-based
DevOps
01
Free and easy to manage and configure it
02
Code reviews and pulls up request made it more
compact and user-friendly
03
Public repository on GitLab can be used for wikis,
documentation, and tracking of issues
04
Continuous delivery
05
Git Lab – Command line instructions
Git global setup
git config --global user.name "fagoon_priyadarshi"
git config --global user.email
"fagoon_priyadarshi@xyz.com"
Create a new repository
git clone https://git.xyz.co.in/group-4/pyrates.git
cd pyrates
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Push Existing folder to GIT LAB
cd existing_folder
git init
git config --global user.name “pqr_xyz" (add your
username ??)
git config --global user.email "pqr_xyz@xyz.com"
git remote add origin https://git.xyz.co.in/group-
4/pyrates.git
git add .
git commit -m "Initial commit"
git push -u origin master
Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin https://git.xyz.co.in/group-
4/pyrates.git
git push -u origin --all
git push -u origin --tags
Git Lab - Clone Repo
Open Command Prompt and navigate to the folder under which you want to create
Project from GIT LAB
git config --global user.name “PQR_XYZ" (add your username ??)
git config --global user.email "PQR_XYZ @xyz.com"
git clone
https://git.xyz.co.in/group-4/pyrates.git
When prompted enter username and password
8
JENKINS
Open Source and Free
01
Rich set of plugins.
02
Support for build pipelines.
03
Tons of integrations
04
Jenkin Supports OS X, Windows, Mac, and others
05
JENKINS PLUGINS
• JENKINS (2.353.5)
• Install following plugins
• Ant 1.8
• Apache Http Components Client 4.x API
• Blue Ocean Core JS 1.24.1
• Blue Ocean Pipeline Editor 1.24.1
• Bootstrap 4 API 4.5.2-1
• bouncycastle API Plugin 2.18
• Branch API 2.6.0
• Build Pipeline Plugin 1.5.8
• Checks API 1.0.2
• Command Agent Launcher 1.4
• Common API for Blue Ocean 1.24.1
• Conditional BuildStep 1.3.6
• Convert To Pipeline 1
• Credentials 2.3.13
• Credentials Binding Plugin 1.24
• CVS 2.11
• Dashboard for Blue Ocean 1.24.1
• Design Language 1.24.1
• Display URL API 2.3.3
• Docker Commons Plugin 1.17
• Docker Pipeline 1.24
• Durable Task Plugin 1.35
• ECharts API 4.9.0-1
• External Monitor Job Type 1.4
• Favorite 2.3.2
• Folders 6.14
• Font Awesome API 5.14.0-1
• Git 4.4.4
• Git client plugin 3.5.1
• Git Pipeline for Blue Ocean 1.24.1
• GIT server Plugin 1.9
• GitHub 1.31.0
• GitHub API 1.116
• GitHub Branch Source 2.9.1
• GitHub Pipeline for Blue Ocean 1.24.1
• GitLab Plugin 1.5.13
• HTML Publisher 1.23
• Jackson 2 API 2.11.3
• JavaScript GUI Lib
• jQuery plugin 1.12.4-1
• YouTrack
• Office 365 Connector
Note: Many plugins are dependent and will get install with Primary plugin
JENKINS MASTER/SLAVE
3. Create Pipeline Project or Freestyle Project on Master
Node (Jenkins)
In pipeline code enter the name of the Node in Node setting
e.g. node ('MasterSlave')
• In Freestyle project select checkbox "Restrict where this
project can be run“ and select Node name from Label
Expression
1. Create Slave Node from Jenkins-> Manage
Jenkins-> Manage Nodes and Clouds-> New Node -
> Add required details on the new node creation
page
2. Go to the New Node created and click on Launch
button to activate the Node
https://dzone.com/articles/jenkins-03-configure-
master-and-slave
Connect Slave To Master using below command (Execute it from Slave Machine)
java -jar agent.jar -jnlpUrl http://10.44.9.118:8080/computer/MSG4%20Master/slave-agent.jnlp -secret
cc176610ed523788ce2af8101325bc312cb1d57abb8f2c74ca453eab946be21a -workDir
"C:Agent_Root_Directory"
JENKINS
SLAVE NODE CONFIGURATION
SLAVE NODE CONFIGURATION
FOR JENKINS PROJECT
SYSTEM CONFIGURATION
YOUTRACK
JENKINS PROJECTS
BUILD TRIGGER COMMANDS
BUILD COMMANDS
9
YouTrack
YouTrack is a Project management tool
01
Web-based issue tracking tool
02
Task Management and Team Collaboration
03
Reporting
04
YOUTRACK
JENKINS PROJECT CONFIGURATION
POST-BUILD ACTIONS
CREATE YOUTRACK ISSUE
YOUTRACK ISSUE
YOUTRACK
EMAIL NOTIFICATION CONFIGURATION
10
Jenkins + Microsoft Teams Integration
Microsoft Teams is a business communication
platform
01
You can get notified of your builds status
02
Office 365 Connector plugins
03
Jenkins + Microsoft Teams Integration
1. Create a team
2. Click Add channel
3. Once the channel is created, click connector
3. Select Jenkins and click Configure.
4. Enter a name for the Jenkins connection.
5. Copy the webhook URL and save it to the clipboard.
6. Log in to the Jenkins dashboard
7. Click Manage Jenkins from the left-hand side menu.
8. Click on Manage Plugins from the right-hand side.
9. Click on the Available tab.
10. Search for Office 365 Connector and then check the checkbox and click the Install without restart button.
11. Go to your project and click on the Configure button.
12. Click on the Office 365 Connector tab.
13. Click on the Add Webhook button.
14. Paste the webhook URL in the URL box and check for all those boxes for which you want to receive events
and then click the Save button.
15. Click the Build Now button.
16. Once the build starts, you'll get notifications in the teams-notification channel.
17. After the build is completed, you will get notifications in the teams-notification channel.
Jenkins + Microsoft Teams Integration
Jenkins + Microsoft Teams Integration
11
POSTMAN
Requests/ Responses/ Variables
01
Scripts and the Postman Sandbox
02
Collaboration/ Collections / Monitoring
03
04 API Platform/ Mock Server
Postman Global Variables
Postman WordPress API Scripts
Postman – Share Collection Link
Postman – Export Collection
NEWMAN
Newman is a command line Collection Runner for Postman
01
Newman maintains feature parity with Postman
02
Easily integrate with Jenkins
03
04 Newman resides in the NPM registry and on GitHub
Newman Installation and Execution
Jenkin – Global Tool Configuration for Newman
Jenkin –Configure System Setting for Report Mailing
Jenkin – Newman Postman Freestyle Project Setting
Jenkin – Neman Postman Freestyle Project Setting – Post Build Action
Execution Mail + HTML Report
Python Automation With Gauge + Selenium + API + Jenkins

Python Automation With Gauge + Selenium + API + Jenkins

  • 2.
    01 Framework 02 XamppServer 03 WordPress 04 My SQL 05 Gauge 06 Python + Selenium + API 07 Git Lab 08 Jenkins 09 YouTrack + Jenkins 10 Microsoft Teams + Jenkins 11 Postman + Newman + Jenkins
  • 3.
  • 5.
  • 6.
    XAMPP SERVER XAMPP standsfor Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) and Perl (P) 01 XAMPP is simple, lightweight Apache distribution 02 XAMPP works equally well on Linux, Mac, and Windows 03 XAMPP is extremely easy for developers to create a local web server for testing and deployment purposes 04
  • 7.
  • 8.
  • 9.
    WordPress WordPress is afree, open-source website creation platform 01 WordPress is a content management system (CMS) 02 Written in PHP that uses a MySQL database 03 WordPress is a great solution for both large and small websites 04
  • 10.
    How To? • DownloadWordPress-5.5.1 and extract ZIP • Select all files and folders under WordPress and copy those to C:xampphtdocs<ProjectName Folder> • Restart Apache, Tomcat, MySQL Services • Go To XAMPP Control Panel -> MySQL -> Admin -> • Create new <ProjectName> Database • Navigate to Link-> http://localhost/<ProjectName>/wp-admin/setup-config.php • Enter database name <ProjectName>, username, password, database-local host, table prefix-> wp_ • On next Page add Site Title, Username <wp_admin>, password and click on install WordPress Login into:- • Navigate to http://localhost/pyrates/wp-login.php and enter username and password of admin • Dashboard page loaded.
  • 11.
  • 12.
  • 13.
  • 14.
    My SQL WordPress dataare stored in My SQL 01 MySQL is free 02 MySQL consists of a solid data security layer that protects sensitive data 03 Client/ Server Architecture 04
  • 15.
  • 16.
  • 17.
    GAUGE Free and opensource test automation framework 01 BDD Framework supports Specification files 02 Supports JavaScript/C#/Java/Ruby/Python 03 Provide HTML/XML reports 04
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Python + Selenium+ API Selenium supports Python and are open source 01 Python and selenium supports multiple browsers 02 Python along with selenium is easy to code and easy to read 03 Python language has very less verbose 04 The API used in python helps you in connecting to the browser through the Selenium 05
  • 23.
    Python Libraries Package VersionPackage Version Package Version appdirs 1.4.4 ipython-genutils 0.2.0 python-dateutil 2.8.1 astroid 2.4.2 isort 5.6.4 pywin32 228 Authlib 0.15.2 jedi 0.17.1 pyzmq 19.0.1 autopep8 1.5.3 jupyter-client 6.1.5 redbaron 0.9.2 backcall 0.2.0 jupyter-core 4.6.3 requests 2.24.0 baron 0.9 lazy-object-proxy 1.4.3 rply 0.7.7 certifi 2020.6.20 mccabe 0.6.1 selenium 3.141.0 cffi 1.14.3 mysql-connector 2.2.9 setuptools 47.1.0 chardet 3.0.4 parso 0.7.0 simple-salesforce 1.10.1 chromedriver-autoinstaller 0.2.2 passlib 1.7.4 six 1.15.0 colorama 0.4.4 pathlib 1.0.1 toml 0.10.1 cryptography 3.1.1 pickleshare 0.7.5 tornado 6.0.4 decorator 4.4.2 pip 20.1.1 traitlets 4.3.3 distlib 0.3.1 pipenv 2020.8.13 typed-ast 1.4.1 filelock 3.0.12 prompt-toolkit 3.0.5 urllib3 1.25.11 getgauge 0.3.7 protobuf 3.13.0 uuid 1.3 grpcio 1.25.0 ptvsd 4.3.2 virtualenv 20.0.35 idna 2.1 pycodestyle 2.6.0 virtualenv-clone 0.5.4 importlib-metadata 2.0.0 pycparser 2.2 wheel 0.35.1 ipykernel 5.3.0 Pygments 2.6.1 wrapt 1.12.1 ipython 7.16.1 pylint 2.6.0 zipp 3.3.2
  • 24.
  • 25.
  • 26.
  • 27.
    Python (MySQL -User Password Verification)
  • 28.
  • 29.
  • 30.
    Git Lab Gitlab providesa vast repository on web-based DevOps 01 Free and easy to manage and configure it 02 Code reviews and pulls up request made it more compact and user-friendly 03 Public repository on GitLab can be used for wikis, documentation, and tracking of issues 04 Continuous delivery 05
  • 31.
    Git Lab –Command line instructions Git global setup git config --global user.name "fagoon_priyadarshi" git config --global user.email "fagoon_priyadarshi@xyz.com" Create a new repository git clone https://git.xyz.co.in/group-4/pyrates.git cd pyrates touch README.md git add README.md git commit -m "add README" git push -u origin master Push Existing folder to GIT LAB cd existing_folder git init git config --global user.name “pqr_xyz" (add your username ??) git config --global user.email "pqr_xyz@xyz.com" git remote add origin https://git.xyz.co.in/group- 4/pyrates.git git add . git commit -m "Initial commit" git push -u origin master Existing Git repository cd existing_repo git remote rename origin old-origin git remote add origin https://git.xyz.co.in/group- 4/pyrates.git git push -u origin --all git push -u origin --tags
  • 32.
    Git Lab -Clone Repo Open Command Prompt and navigate to the folder under which you want to create Project from GIT LAB git config --global user.name “PQR_XYZ" (add your username ??) git config --global user.email "PQR_XYZ @xyz.com" git clone https://git.xyz.co.in/group-4/pyrates.git When prompted enter username and password
  • 33.
  • 34.
    JENKINS Open Source andFree 01 Rich set of plugins. 02 Support for build pipelines. 03 Tons of integrations 04 Jenkin Supports OS X, Windows, Mac, and others 05
  • 35.
    JENKINS PLUGINS • JENKINS(2.353.5) • Install following plugins • Ant 1.8 • Apache Http Components Client 4.x API • Blue Ocean Core JS 1.24.1 • Blue Ocean Pipeline Editor 1.24.1 • Bootstrap 4 API 4.5.2-1 • bouncycastle API Plugin 2.18 • Branch API 2.6.0 • Build Pipeline Plugin 1.5.8 • Checks API 1.0.2 • Command Agent Launcher 1.4 • Common API for Blue Ocean 1.24.1 • Conditional BuildStep 1.3.6 • Convert To Pipeline 1 • Credentials 2.3.13 • Credentials Binding Plugin 1.24 • CVS 2.11 • Dashboard for Blue Ocean 1.24.1 • Design Language 1.24.1 • Display URL API 2.3.3 • Docker Commons Plugin 1.17 • Docker Pipeline 1.24 • Durable Task Plugin 1.35 • ECharts API 4.9.0-1 • External Monitor Job Type 1.4 • Favorite 2.3.2 • Folders 6.14 • Font Awesome API 5.14.0-1 • Git 4.4.4 • Git client plugin 3.5.1 • Git Pipeline for Blue Ocean 1.24.1 • GIT server Plugin 1.9 • GitHub 1.31.0 • GitHub API 1.116 • GitHub Branch Source 2.9.1 • GitHub Pipeline for Blue Ocean 1.24.1 • GitLab Plugin 1.5.13 • HTML Publisher 1.23 • Jackson 2 API 2.11.3 • JavaScript GUI Lib • jQuery plugin 1.12.4-1 • YouTrack • Office 365 Connector Note: Many plugins are dependent and will get install with Primary plugin
  • 36.
    JENKINS MASTER/SLAVE 3. CreatePipeline Project or Freestyle Project on Master Node (Jenkins) In pipeline code enter the name of the Node in Node setting e.g. node ('MasterSlave') • In Freestyle project select checkbox "Restrict where this project can be run“ and select Node name from Label Expression 1. Create Slave Node from Jenkins-> Manage Jenkins-> Manage Nodes and Clouds-> New Node - > Add required details on the new node creation page 2. Go to the New Node created and click on Launch button to activate the Node https://dzone.com/articles/jenkins-03-configure- master-and-slave Connect Slave To Master using below command (Execute it from Slave Machine) java -jar agent.jar -jnlpUrl http://10.44.9.118:8080/computer/MSG4%20Master/slave-agent.jnlp -secret cc176610ed523788ce2af8101325bc312cb1d57abb8f2c74ca453eab946be21a -workDir "C:Agent_Root_Directory"
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
    YouTrack YouTrack is aProject management tool 01 Web-based issue tracking tool 02 Task Management and Team Collaboration 03 Reporting 04
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
    Jenkins + MicrosoftTeams Integration Microsoft Teams is a business communication platform 01 You can get notified of your builds status 02 Office 365 Connector plugins 03
  • 51.
    Jenkins + MicrosoftTeams Integration 1. Create a team 2. Click Add channel 3. Once the channel is created, click connector 3. Select Jenkins and click Configure. 4. Enter a name for the Jenkins connection. 5. Copy the webhook URL and save it to the clipboard. 6. Log in to the Jenkins dashboard 7. Click Manage Jenkins from the left-hand side menu. 8. Click on Manage Plugins from the right-hand side. 9. Click on the Available tab. 10. Search for Office 365 Connector and then check the checkbox and click the Install without restart button. 11. Go to your project and click on the Configure button. 12. Click on the Office 365 Connector tab. 13. Click on the Add Webhook button. 14. Paste the webhook URL in the URL box and check for all those boxes for which you want to receive events and then click the Save button. 15. Click the Build Now button. 16. Once the build starts, you'll get notifications in the teams-notification channel. 17. After the build is completed, you will get notifications in the teams-notification channel.
  • 52.
    Jenkins + MicrosoftTeams Integration
  • 53.
    Jenkins + MicrosoftTeams Integration
  • 54.
  • 55.
    POSTMAN Requests/ Responses/ Variables 01 Scriptsand the Postman Sandbox 02 Collaboration/ Collections / Monitoring 03 04 API Platform/ Mock Server
  • 56.
  • 57.
  • 59.
    Postman – ShareCollection Link
  • 60.
  • 61.
    NEWMAN Newman is acommand line Collection Runner for Postman 01 Newman maintains feature parity with Postman 02 Easily integrate with Jenkins 03 04 Newman resides in the NPM registry and on GitHub
  • 62.
  • 63.
    Jenkin – GlobalTool Configuration for Newman
  • 64.
    Jenkin –Configure SystemSetting for Report Mailing
  • 65.
    Jenkin – NewmanPostman Freestyle Project Setting
  • 66.
    Jenkin – NemanPostman Freestyle Project Setting – Post Build Action
  • 67.
    Execution Mail +HTML Report