Presented at Drupal Camp Chicago 2012
Michelle Krejci details how Promet has used Jenkins, PHPUnit, and Selenium to automate our current continuous integration process so you can begin to start automating your QA testing today. She then outlines how Promet has begun to also include Phing and Chef to run PHPUnit tests on custom modules as part of test driven development. Finally, she looks at the challenges to running user acceptance tests on a Drupal installation and moving the Drupal community away from SimpleTest towards PHPUnit testing.
In short, this is an overview of what works, what doesn't, and why this is important to the Drupal community.
Unmesh Gundecha delivered a session on "Selenium Powertools" at #SeleniumSummit21
Technology focused IT professional offering vast experience leveraging Software Engineering, Agile Software Development, Test Automation & DevOps methodologies to deliver highly effective and creative solutions to business and technology challenges. Utilizes highly attuned analytical skills to develop IT and business strategies employing leading/cutting-edge technologies to increase productivity & efficiency and organised with a strong capacity to prioritize workload, delegation, and steer project completion with established deadlines. Experience in building and leading small to a large specialist team on critical project deliveries. Passionate about Technology, Automation, UI/UX and Design.
To know more about #SeleniumSummit21 please check : https://seleniumsummit21.agiletestingalliance.org/
Get Started With Selenium 3 and Selenium 3 GridDaniel Herken
In this talk you will learn how to:
- Setup Selenium 3 execution in Chrome, Firefox, IE and Edge
- Create and run a Selenium test
- Run tests against a Selenium Grid
More webinars can be found here:
http://www.browseemall.com/Resources/Webinars
Unmesh Gundecha delivered a session on "Selenium Powertools" at #SeleniumSummit21
Technology focused IT professional offering vast experience leveraging Software Engineering, Agile Software Development, Test Automation & DevOps methodologies to deliver highly effective and creative solutions to business and technology challenges. Utilizes highly attuned analytical skills to develop IT and business strategies employing leading/cutting-edge technologies to increase productivity & efficiency and organised with a strong capacity to prioritize workload, delegation, and steer project completion with established deadlines. Experience in building and leading small to a large specialist team on critical project deliveries. Passionate about Technology, Automation, UI/UX and Design.
To know more about #SeleniumSummit21 please check : https://seleniumsummit21.agiletestingalliance.org/
Get Started With Selenium 3 and Selenium 3 GridDaniel Herken
In this talk you will learn how to:
- Setup Selenium 3 execution in Chrome, Firefox, IE and Edge
- Create and run a Selenium test
- Run tests against a Selenium Grid
More webinars can be found here:
http://www.browseemall.com/Resources/Webinars
Session on Selenium 4 : What’s coming our way? by Hitesh PrajapatiAgile Testing Alliance
Hitesh Prajapati delivered a session on "Selenium 4 : What’s coming our way?" at #SeleniumSummit21
With a strong academic history, Hitesh has been associated with the test automation industry for nearly 5 years. He has ascended the ladder of knowledge at a very faster pace within such a short span of time.
To know more about #SeleniumSummit21 please check : https://seleniumsummit21.agiletestingalliance.org/
Session on Launching Selenium Grid and Running tests using docker compose and...Agile Testing Alliance
Aditya Garg delivered a session on "Launching Selenium Grid and Running tests using docker compose and maven – step by step demo" at #SeleniumSummit21
Aditya has over 25 years of IT experience and has been a test architect and principal consultant. Aditya is an Agile and DevOps coach and loves taking test automation and DevOps solutioning work. He is a ServiceNow enthusiast and loves everything about the tool.
To know more about #SeleniumSummit21 please check : https://seleniumsummit21.agiletestingalliance.org/
(** Selenium Training: https://www.edureka.co/testing-with-selenium-webdriver **)
This ‘Selenium Maven with Eclipse’ PPT by Edureka helps you understand how to implement a Selenium Maven project using the Eclipse IDE. Below topics are covered in this PPT:
Selenium and its features?
Use case of Selenium
Introduction to Maven
Use case of Maven
Introduction to Selenium Maven
Advantages
Use case of Selenium Maven
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Given at TechMaine's Java Users Group on Feb 26 2008
Why do we need another build tool when we already have Ant? By focusing on convention over configuration, Maven allows you to declaratively define how your project is built, which reduces a lot of the procedural code that you'd need to implement in every build file if you were using Ant. This, along with Maven's built-in management of repositories for project dependencies, allows you to streamline your build process. Ultimately Maven can reduce the amount of time that would otherwise be wasted hunting down jar files and fiddling with boilerplate build scripts.
This presentation covers Maven's core concepts. It introduces the Plugin architecture, and explain how the most popular plugins are used. It also covers the POM concept and how it relates to dependency tracking and repositories.
1. Introduction to Selenium WebDriver
2. Selenium WebDriver Architecture
3. Selenium Language Bindings
4. Selenium JSON Protocols and drivers
5. usage of various drivers such as chromedriver,geckodriver,edgedriver, etc.
6. Adding selenium libraries to a java project
7. First Java Selenium Script
Streamlining Testing with Visual Studio 2012Imaginet
This is an overview of the Visual Studio 2012 ALM testing tools, including using Microsoft Test & Lab Manager to manage your testing and using test automation to automate your UI testing. The use of Test Lab will be discussed as a means of automating the creation of virtual environments for testing purposes. Deploying to VM environments during build will be demonstrated and facilitate a robust developer/tester lifecycle. Come join us for this free Live Web Workshop!
Session on Selenium 4 : What’s coming our way? by Hitesh PrajapatiAgile Testing Alliance
Hitesh Prajapati delivered a session on "Selenium 4 : What’s coming our way?" at #SeleniumSummit21
With a strong academic history, Hitesh has been associated with the test automation industry for nearly 5 years. He has ascended the ladder of knowledge at a very faster pace within such a short span of time.
To know more about #SeleniumSummit21 please check : https://seleniumsummit21.agiletestingalliance.org/
Session on Launching Selenium Grid and Running tests using docker compose and...Agile Testing Alliance
Aditya Garg delivered a session on "Launching Selenium Grid and Running tests using docker compose and maven – step by step demo" at #SeleniumSummit21
Aditya has over 25 years of IT experience and has been a test architect and principal consultant. Aditya is an Agile and DevOps coach and loves taking test automation and DevOps solutioning work. He is a ServiceNow enthusiast and loves everything about the tool.
To know more about #SeleniumSummit21 please check : https://seleniumsummit21.agiletestingalliance.org/
(** Selenium Training: https://www.edureka.co/testing-with-selenium-webdriver **)
This ‘Selenium Maven with Eclipse’ PPT by Edureka helps you understand how to implement a Selenium Maven project using the Eclipse IDE. Below topics are covered in this PPT:
Selenium and its features?
Use case of Selenium
Introduction to Maven
Use case of Maven
Introduction to Selenium Maven
Advantages
Use case of Selenium Maven
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Given at TechMaine's Java Users Group on Feb 26 2008
Why do we need another build tool when we already have Ant? By focusing on convention over configuration, Maven allows you to declaratively define how your project is built, which reduces a lot of the procedural code that you'd need to implement in every build file if you were using Ant. This, along with Maven's built-in management of repositories for project dependencies, allows you to streamline your build process. Ultimately Maven can reduce the amount of time that would otherwise be wasted hunting down jar files and fiddling with boilerplate build scripts.
This presentation covers Maven's core concepts. It introduces the Plugin architecture, and explain how the most popular plugins are used. It also covers the POM concept and how it relates to dependency tracking and repositories.
1. Introduction to Selenium WebDriver
2. Selenium WebDriver Architecture
3. Selenium Language Bindings
4. Selenium JSON Protocols and drivers
5. usage of various drivers such as chromedriver,geckodriver,edgedriver, etc.
6. Adding selenium libraries to a java project
7. First Java Selenium Script
Streamlining Testing with Visual Studio 2012Imaginet
This is an overview of the Visual Studio 2012 ALM testing tools, including using Microsoft Test & Lab Manager to manage your testing and using test automation to automate your UI testing. The use of Test Lab will be discussed as a means of automating the creation of virtual environments for testing purposes. Deploying to VM environments during build will be demonstrated and facilitate a robust developer/tester lifecycle. Come join us for this free Live Web Workshop!
Originally created as a talk for a seminar this presentation examines several scenarios faced by the author in his project experience and several multi-million projects where information was available in the public domain to highlight the cause and effect of undetected bugs. It offers several suggestions on how to mitigate the injecting bugs into code by focussing on the human learning angle.
We are working on building Hybrid Cloud for research and development purpose. Our project goal is to realize managing not only Public Cloud but also Private Cloud by making operations even easier. We are managing Amazon EC2, and our Private Cloud by making our own Cloud management tool by Drupal, which we call Clanavi beyond Drupal as a Content Management System. --- Drupal as a fundamental of PaaS (Platform as a Service).
We are happy to introduce our Clanavi including its requirements, architecture design and business value. We would like to show how Drupal can define to manage multiple Cloud infrastructures and why Drupal can be used as Web Application Framework.
Key Points Covered:
- Cloud Computing Overview (Definition)
- Private Cloud Requiremetns
- Goal, Design and Architecture
- Operation Problems in-the-Cloud
- Business Value by Clanavi
- Future Direction
- Q & A
Shai Raiten's talk at the SELA Developer Practice (May 2013) about Advanced Coded UI using Visual Studio 2012. This presentation explain how to work with multiple UI maps, how to use various types of data sources, how to use LINQ and Reflection for project refactoring, and how to create and use logs and traces.
Key items of the presentation will be:
What is PHPUnit
Whats new in testing in Drupal 8
Core Classes and Components
Core/ Contibuted modules
PHPUnit file structure, namespace, and required metadata
Running PHPUnit tests.
Available tools for running automated tests.
This is about encouraging our audience about known good practices. let them introduced why continuous feature development is essential and why that adds value over following rigid processes.
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
In diesem Talk beschreibe ich die Continuous Integartion Pipeline von punkt.de und deren Entstehen. Es wird motiviert, warum es sich lohnt, eine solche Pipeline zu implementieren und welche Tools wir dafür verwendet haben. Neben der Beschreibung von Git, Jenkins, Chef, Vagrant, Behat und Surf geht es auch um Integration der einzelnen Tools in eine Deployment Kette.
Learn about WP Acceptance. A new framework that empowers developers and CI pipelines to test codebases using version controlled acceptance tests and sharable environments.
In recent years there has been a tremendous amount of progress and innovation around tools and applications available to web developers that improve the quality, efficiency and speed of our applications, and it is hard to keep up with all of it.
In this webinar, Dave Haeffner (Elemental Selenium, USA) discusses how to:
- Build an integrated feedback loop to automate test runs and find issues fast
- Setup your own infrastructure or connect to a cloud provider
-Dramatically improve test times with parallelization
https://huddle.eurostarsoftwaretesting.com/resource/webinar/use-selenium-successfully/
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share best practices (including ones followed internally at Amazon) and how you can bring them to your company by using open source and AWS services.
Speaker: Raghuraman Balachandran, Solutions Architect, Amazon India
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...DevOpsDays Riga
InSpec is an open-source testing framework for infrastructure with a human- and machine-readable language for specifying compliance, security, and policy requirements.
Using a combination of command-line and remote-execution tools, InSpec can help you keep your infrastructure aligned with security and compliance guidelines on an ongoing basis, rather than waiting for and then remediating from arduous annual audits. InSpec’s flexibility makes it a key tool choice for incorporating security into a complete continuous delivery workflow, reducing the risk of new features and releases breaking established host-based security guidelines. This talk covers the basics of working with InSpec, writing tests to reflect your organization’s security guidelines, and managing InSpec as part of a high-velocity workflow.
Conduct a few internal pen tests and you’re bound to come across Jenkins, the world’s most popular build automation server. When you encounter it, what do you do? Go beyond a 5-minute Google search and checking for open script consoles. This talk dives into various ways to exploit Jenkins and how to move laterally into sensitive systems.
Using Docker for local development is great due to the fast start-up speed and small footprint. It provides more open source projects while packaging the stacks as Docker images, speeding up the installation and collaboration.
A simple Drupal 7 to Drupal 8 Migration.
With its new prominent features, Drupal 8 will set the standards in terms of offering numerous ways to customise website content, display data on mobile devices and build API’s.
Due to the modern OOP (Object Oriented Programming) approach, it gives us a simpler migration process from its predecessor, with in-place content editing tools, along with a broad array of new themes.
Having an accessible website provides equal access and equal opportunity to people with disabilities. Providing an accessible website helps people with disabilities actively participate in society. Moreover, accessibility barriers in other media like print audio and visual can be overcome through an accessible Web. And last but not the least, web accessibility is required by laws and policies in some cases.
Drupal Continuous Integration and devops - Beyond JenkinsPromet Source
Drupal Continuous Integration and Condinuous Delivery - boyond DevOps and Jenkins. Our Journey from configuration management using chef to 10 steps of best practices of Drupal CI/CD
Drupal 8 Involvement with Promet SourcePromet Source
Promet Source's team reviews the importance on giving back to the Drupal 8 project by taking on issues from drupal.org and how anyone can contribute regardless of their experience.
Using Commerce License for Premium Content on Drupal SitesPromet Source
Does your Drupal site have premium content or files that live behind a paywall? Looking for a reliable, easy way to license that content to authenticated users?
Commerce License simplifies the process for granting access to premium content on local or remote sites for users.
Behavioral driven development with BehatPromet Source
This workshop helps developers to get started with the process of behavior driven development (BDD) in PHP using the Behat toolkit with Drupal specific extensions in order to align technical testing with business expectations when using Drupal as a development platform.
Composer tools and frameworks for DrupalPromet Source
This presentation from Drupal GovCon 2015 reviews the composer framework and toolkit for dependency management in Drupal. If your Drupal project is using PHP libraries outside of the Drupal ecosystem then you can benefit by adopting this powerful workflow today.
Responsive Design Testing the Promet WayPromet Source
Responsive web design demands flexibility from designers, developers and QA teams. This slideshow reviews the tools and methodology that Promet Source's QA team employs to see if a responsive design makes the cut for the latest browsers and operating systems.
Optimize and succeed your next Fixed Budget Project planning process Promet Source
Presentation given by @akucharski at the #14ntcdrupal non for profit conference drupal day in Washington DC. Tips on how to improve your chances of success for fixed budget projects. Covers the RFP process, contracting and terms, project planning and post project implementation maintenance.
You know what Continuous Integration is. You have heard it mentioned at every conference and at every meetup. It’s part automated testing, part automated deployment, part test-driven development, part every other DevOps catch-phrase. Now you are ready to get started implementing CI practices.
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will comePromet Source
Grinnell College in Iowa had a website that wasn’t representing the school well, and an intranet system that had been hijacked by users to bypass the main site. When tasked with redesigning the site, Grinnell needed to differentiate itself from its peers, and bring users back. Grinnell boasts rigorous academics, an active campus, and fantastic facilities, but many schools can claim the same. One differentiator is that Grinnell celebrates the individual. Through its welcoming culture of self-governance and the ability to create your own curriculum, the college empowers students to carve their own way through the college experience. It is not the only school that allows a student to do this, though it is one of the few.
So we asked: how do we distinguish Grinnell's unique take on crafting an individual education from its peers? How do we show the activities and news happening on campus? How does Grinnell bring users back from the intranet? How do we make as many departments as possible happy with a full redesign? And lastly, how do we best use Drupal to make it all happen? We decided to demonstrate it with a website that allows users to customize their experience on the site. Learn how Grinnell College, Promet Source (the developers) and Rogue Element (the design firm) worked together to create a customizable website: how Rogue designed it, how Promet built it and how Grinnell planned to use it.
Waterfall, Agile, Extreme Programming, Water-gile In this session we will discuss agile strategies that can help you get to done; efficiently, quickly and happier. I will cover the Scrum Framework concepts and some of the lessons learned from using agile strategy to manage a multinational distributed team. that does Drupal every day.
This session is for Managers and team members that want to learn more about agile strategies and how to apply them to Drupal.
Topics Covered
Where we all start, Waterfall.
Why agile is wrong, Agility is right.
Scrum Framework basics
What actions are Agile
What actions are not Agile
Lessons learned working with agile
Challenges of Scrum for small teams
Agility you can implement now
Project Estimation Presentation - Donte's 8th level of estimating level of ef...Promet Source
Johnnie Fox, Project Manager at Promet delivers this overview on web development project estimation, how to do it right and the pitfalls to watch out for.
3. Exposition: characters
• Selenium*
– a.k.a. Selenium IDE
– a.k.a. Selenium RC
– a.k.a. Selenium Webdriver
*Actually, these are not at all the same. To wit:
Selenium IDE = development enviroment to create scripts
Selenium RC = Refers to Selenium 1 executable
Selenium Webdriver = Selenium 2 executable
4. Exposition: characters
• PHPUnit
– a.k.a. the testing standard of the
PHP community
– a.k.a. the successor of SimpleTest
5. Exposition: characters
• Jenkins
– a.k.a. Hudson
– a.k.a. A developer‟s most
dependable butler
6. Exposition: characters
• Chef
– a.k.a. An opscode product
– a.k.a. the answer to all your
server-configuration-related
prayers
7. Exposition: characters
• xvfb
– a.k.a. X virtual framer
– a.k.a. what you need to run
Selenium on a headless
8. Exposition: characters
• Phing
– a.k.a. Phing Is Not GNU make
– a.k.a. Apache Ant for PHP
– a.k.a. a build system for PHP
– a.k.a. what you will need to
run deeper regression, metric,
and user acceptance testing
9. Exposition: the setting
– During development
Lots of clicking
– After every update
– If someone somehow has the
time: on a regular basis as
part of on-going support.
10. Development: rising action
The Solution: Roll Call Testing
– Use Selenium scripts to verify that elements
such as ids, divs, and text are present on a
regular basis (e.g., after updates, during
development, on a regular basis)
11. Development: rising action
Roll Call Tests
– Each page gets its own test.
– Each test must start and end at the
home page.
• Verify that all blocks and links are
present using the VerifyElement
command.
• Do not use “assert” or this will halt all
tests if element or text is not present.
13. Development: rising action
Selenium IDE
1. Starting point.
2. Controls
3. Record actions (not needed for
creating roll call tests, recommend using
right click and select command)
4. Name of tests (should be named
after page)
5. The display
6. View and edit selected
command
7. Reference of commands
14. Development: rising action
Tools needed to run tests locally
– Selenium webdriver
– PHP Unit
– PHP Unit Selenium Exstentions
• Installing Selenium Webdriver:
– http://www.danstraw.com/installing-selenium-
server-2-as-a-service-on-ubuntu/2010/09/23/
• Installing PHP Unit & Extensions:
– http://www.phpunit.de/manual/current/en/install
ation.html
15. Development: rising action
Start Selenium Webdriver: In a new tab,
run command phpunit*:
*In this example, I am using a bootstrap
file. I have created a parent class that
each page extends. In the parent class, I
test the branding elements of each page.
17. Development: rising action
Add a ruby build script:*
#!/user/bin/env ruby
current_dir = File.dirname(__FILE__)
bootstrap_file = "MCMC.php” //if parent class
build_dir = "build"
Dir[File.join(current_dir), '*'].each do |file|
puts file
if file != bootstrap_file and File.file?(file)
cmd = "phpunit --log-junit
#{build_dir}/#{file}.selenium.xml /*--bootstrap
#{bootstrap_file} #{file}*/"
print cmd
system(cmd)
end
end
*No. It does not need to be ruby.
19. Development: rising action
Configure Jenkins Server:
– Add xvfb
There is a script in /root that has the commands to start the selenium service w/
Xvfb in a script named „start_selenium.sh‟
– Install the following plugins
• analysis-core
• Analysis-collector
• Checkstyle
• Dry
• Phing
• Plot
• pmd
31. Development: the resolution
Let‟s make it work.
• protected function drupalCreateUser($permissions = array('access comments', 'access content', 'post
comments', 'skip comment approval')) {
• // Create a role with the given permission set.
• if (!($rid = $this->drupalCreateRole($permissions))) {
• return FALSE;
• }
• // Create a user assigned to that role.
• $edit = array();
• $edit['name'] = $this->randomName();
• $edit['mail'] = $edit['name'] . '@example.com';
• $edit['roles'] = array($rid => $rid);
• $edit['pass'] = user_password();
• $edit['status'] = 1;
•
$account = user_save(drupal_anonymous_user(), $edit);
• $this->assertTrue(!empty($account->uid), t('User created with name %name and pass
%pass', array('%name' => $edit['name'], '%pass' => $edit['pass'])), t('User login'));
• if (empty($account->uid)) {
• return FALSE;
• }
• // Add the raw password so that we can log in as this user.
• $account->pass_raw = $edit['pass'];
• return $account;
• }