Performance optimization is a crucial aspect of building ‘snappy’ client-side applications and something which all developers using jQuery should bear in mind. In this talk, we're going to take a look at some of the best practices, tips and tricks for improving the performance of your jQuery code in 2011 with some quick wins and a few new surprises along the way.
This is the first presentation I have made in my company, it is useful to the guys who know little about Watir. It provides a direction about the whole Watir flow, including details and frame, including theory and practice. Expect it can kind of help you guys on the way of Watir.
- Testing JavaScript code helps ensure quality and allows for refactoring and code handovers. Unit, integration, and functional testing methodologies were discussed.
- Siesta was introduced as a JavaScript testing tool that supports unit and functional testing for Ext JS and Sencha Touch. It allows simulating user interactions and verifying results.
- Writing testable code through separation of concerns, avoiding direct DOM manipulation, and supporting dependency injection were recommended to facilitate automated testing. Continuous integration was also recommended for running tests regularly.
This document summarizes a presentation about using the Siesta testing framework for unit and functional testing of JavaScript code. The presentation covers the benefits of Siesta, how to write unit tests, how to do functional testing by simulating user interactions, querying components, and new features of Siesta like an improved UI, auto-scrolling, and code coverage. It also provides examples of unit tests for a user model class and discusses testing views by testing components in isolation and their public API.
Introduction To Ruby Watir (Web Application Testing In Ruby)Mindfire Solutions
This involves the presentation of fundamentals/basics of Ruby-WATIR (Web Application Testing In Ruby) for the tester to automate there testing methods and steps.
Progressive Downloads and Rendering - take #2Stoyan Stefanov
HighLoad++ presentation including:
- single stream data URIs and MHTML
- in CSS and <img> tags
- lazy evaluation, lazy JS and lazy HTML experiment
- browser chrome search preload
- Amazon's post-loaded content
- Google instant's chunks
Web Application Test In Ruby, is a testing framework for the web applications. Since it's built on ruby it would take the advantage of object oriented principles of ruby and makes the regression/functional testing very very simple. This presentation aims to introduce the WATIR, assists in installing and also testing with a simple test case.
The document discusses ASP.NET MVC and some of its key concepts and advantages over traditional ASP.NET Web Forms. It notes that MVC enables clean separation of concerns, extensibility, clean URLs and HTML. Some key aspects of MVC covered include controllers, actions, routes, models, views, HTML helpers, validation, and areas. It emphasizes that MVC exposes the stateless nature of HTTP and makes the framework more testable compared to Web Forms.
#NoXML: Eliminating XML in Spring Projects - SpringOne 2GX 2015Matt Raible
Many Spring projects exist that leverage XML for their configuration and bean definitions. Most Java web applications use a web.xml to configure their servlets, filters and listeners. This session shows you how you can eliminate XML by configuring your Spring beans with JavaConfig and annotations. It also shows how you can remove your web.xml and configure your web components with Java.
Testing mit Codeception: Full-stack testing PHP frameworkSusannSgorzaly
Codeception is a PHP testing framework for Behavior Driven Development, which covers all kinds of tests: unit tests, functional tests and acceptance tests. It is fast and simple in both usage and execution. This talk will give you a introduction to the software testing basics using codeception. It will also cover some stumbling blocks when writing tests, like:
- Test code stability against small changes
- Data stability
- Test structure
Last but not least I will give you a short outlook how to make your tests also understandable for product owners.
The Time for Vanilla Web Components has ArrivedGil Fink
The document discusses the emerging web components standards that enable encapsulation, separation of concerns, and element portability. It covers the main web components APIs including templates, imports, shadow DOM, and custom elements. Templates allow declaring reusable DOM fragments. Imports allow loading additional HTML documents. Shadow DOM encapsulates DOM parts and prevents style leakage. Custom elements enable extending or creating custom HTML elements. While browser support is still developing, web components offer powerful tools for building reusable components in a standardized way.
This document discusses the JavaScript library Prototype and how it can be used to build dynamic user interfaces with Ajax techniques. It provides an overview of Prototype's features for simplifying Ajax calls, enhancing DOM manipulation, adding visual effects, and debugging JavaScript across browsers. The document promotes Prototype as a way to focus on applications rather than browser bugs and contains links to documentation, extensions, and debugging tools to support Prototype development.
The document discusses lessons learned from examining popular jQuery plugins. It summarizes 30 top plugins, describing why each was created and how it grew. Key takeaways are that authors build plugins to make something better, for fun/exploration, or client needs. Managing features and user feedback is challenging. The best plugins have great demos, documentation, browser support testing, and are fun. The author is available for questions.
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.
Selenium is a tool for testing web applications. It allows tests to run directly in browsers like Internet Explorer, Firefox, and Chrome across different operating systems. Selenium tests can check browser compatibility and verify application functionality. Tests are written using Selenium's API in languages like Java, Ruby, and Python. The tests automate user interactions like clicking buttons and entering text. Selenium includes features for recording, editing, and debugging tests. It can run tests from outside the browser or directly within it.
Efficient Rails Test Driven Development (class 3) by Wolfram ArnoldMarakana Inc.
Learn how to apply the test-first approach to all of your Rails projects. In this six class series, experienced Rails engineer and consultant, Wolfram Arnold applies his real-world perspective to teaching you effective patterns for testing.
In this third of six classes, Wolf covers:
- Controller testing
- View, Helper, Routes Testing
- How much is enough? How much is too much?
** You can get the video and source code from this presentation at: http://marakana.com/f/201 **
All six classes will be available online, so stay tuned! And be sure to check out marakana.com/techtv for more videos on open source training.
Presented by: Wolfram Arnold, in collaboration with Sarah Allen, BlazingCloud.net
Produced by: Marakana
The document discusses a keyword driven testing framework using WATIR. It provides an overview of keyword driven testing and describes the architecture including input files, a core engine, library functions, and customized results. It then gives details on WATIR, how it allows testing web applications in Ruby, its advantages like simpler scripting, and disadvantages like initial effort. Contact information and resources for learning more are also provided.
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
JavaScript MVC Frameworks are all the rage these days. They’ve taken the web development world by storm. This session explores the various features of the three hottest JavaScript MVC frameworks: AngularJS, Ember.js and React.js. It also compares client-side templating vs. server-side templating and how well each framework supports Isomorphic JavaScript (code that can run both client-side and server-side). Finally, it ranks each framework on 10 different criteria using Yevgeniy Brikman’s framework scorecard.
Video on InfoQ: https://www.infoq.com/presentations/comparing-angular-ember-react
Efficient Rails Test Driven Development (class 4) by Wolfram ArnoldMarakana Inc.
Learn how to apply the test-first approach to all of your Rails projects. In this six class series, experienced Rails engineer and consultant, Wolfram Arnold applies his real-world perspective to teaching you effective patterns for testing.
In this fourth of six classes, Wolf covers:
- Refactoring code & tests, custom matchers
- API Testing
- Remote data setup
- Cucumber for API testing & documentation
** You can get the video and source code from this presentation at: http://marakana.com/f/204 **
All six classes will be available online, so stay tuned! And be sure to check out marakana.com/techtv for more videos on open source training.
Presented by: Wolfram Arnold, in collaboration with Sarah Allen, BlazingCloud.net
Produced by: Marakana
Efficient Rails Test-Driven Development - Week 6Marakana Inc.
Learn how to apply the test-first approach to all of your Rails projects. In this six class series, experienced Rails engineer and consultant, Wolfram Arnold applies his real-world perspective to teaching you effective patterns for testing.
In this sixth of six classes, Wolf discusses:
- Integration frameworks (Cucumber, Webrat, Capybara, and Selenium)
- Integration testing with Selenium (advantages and problems)
- Page Objects
- Locators (Selenium, CSS and XPath locators
- RSpec Custom Matchers
- Testing for Access Control
** You can get the slides and source code from this presentation at: http://marakana.com/f/215 **
Find more videos, tutorials, and code examples at http://marakana.com/techtv
Most learning materials for web app pentesting focus on “old school” apps. Maybe they have a little jQuery sprinkled in, but most of the heavy-lifting happens server-side. With the dawn of frontend frameworks like AngularJS, Vue, and React and Single-Page Applications, the way web apps are developed is changing, and pentesters need to keep up. This talk runs through common security issues with and approaches to testing these new apps.
Behat is a testing framework that allows testing an entire website from the perspective of a user or tester. The document provides an overview of how to get started with Behat, including installing necessary components, writing feature files with scenarios and steps, and implementing custom steps. It also discusses best practices for writing good Behat tests and provides solutions to common problems encountered when using Behat.
Developing Modern Java Web Applications with Java EE 7 and AngularJSShekhar Gulati
This document provides an agenda and overview for a workshop on developing modern Java web applications with Java EE 7 and AngularJS. The workshop will introduce Java EE 7, demonstrate how to build a sample HackerPins application using Java EE 7 for the REST backend and AngularJS for the frontend, and deploy the application to OpenShift. Key topics that will be covered include an introduction to Java EE 7 specifications like CDI, JAX-RS, and WebSockets, and how they allow building modern web applications. Code for the sample HackerPins application will be provided on GitHub.
The document discusses testing web applications using Selenium. It describes the unique challenges of testing heterogeneous systems with dynamic pages. It then provides an overview of Selenium and how it can be used to simulate user interactions and automate testing of web applications. Specific techniques discussed include using Selenium IDE to record tests and Selenium WebDriver to programmatically control browsers using various programming languages.
Why and when you need end-to-end tests, a spooky story with a 15 years software beast, and how to develop concise, maintainable functional tests using Groovy, Spock and Geb.
This document discusses API design and security in Django. It covers fundamentals of API including defining resources, uniform responses, serialization, and versioning. Authentication with OAuth is also explained. Django frameworks like django-piston are recommended for building APIs as they support features like OAuth out of the box. Writing API handlers with django-piston is demonstrated to be easy by extending its BaseHandler class and overriding methods for different HTTP methods.
This document discusses the role of a Scrum Master in motivating teams. It describes the author's background and experiences in quality assurance and test automation. The author believes that motivation relates to happiness, success, and winning for teams. As a Scrum Master, ways to motivate teams include leading by example, continuous improvements, mentoring the team, and focusing standups on progress rather than socializing. Motivation levels will fluctuate over time, so the Scrum Master should stay positive and encourage the team without trying to do everything themselves. Artifacts and planning activities should be optimized for engagement, such as using planning poker cards and providing food.
Prioritization by value (DevOps, Scrum)Tommy Quitt
In Scrum, DevOps it is important to learn how to prioritize by value. Learn how to do it in this very short presentation.
Agile coaching can help teams to flex the muscle of prioritization and proper backlog grooming.
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...PolarSeven Pty Ltd
Chris Kawchuck has 20 years experience in the Telecom and Service provider industry. He will be demonstrating how easy it is to spin up a Brocade vADC in AWS; enabling serverless architectures using S3 buckets, and accomplish real-time traffic rewrites to get you out of sticky situations.
Learn about:
1. Load balancing and scaling options available on AWS
2. Automating the Brocade vADC spin up using Cloudformation Templates
3. Enabling use of "Serverless" web pages in AWS 4.Taking care of tricky situations using TrafficScript
Implementing any 3rd party Load Balancer from the Amazon AWS Marketplace can be a daunting task. Not only does one have to learn the vendor's specific interface, you also need to perform quite a few administrative tasks to setup front end IPs, back end pools, clustering, and so on.
Brocade has published a CloudFormation Template (CFT) which takes all the hard work out of setting it up and operating. Using DevOps tools and open source scripts, we not only automate the deployment of the Brocade vADC within AWS, but all the configuration you need to administer, cluster, and provision your Load Balancers; including public IPs and your back-end server pools.
We would like you to try it, and take advantage of the powerful feature of the Brocade vADC.
https://github.com/dkalintsev/Brocade/tree/master/vADC/CloudFormation/Templates/Variants-and-experimental/Configured-by-Puppet
* Presented at the Sydney AWS User Group session 1st February 2017
http://www.meetup.com/AWS-Sydney/
Hosted and organised by PolarSeven - http://polarseven.com
View the full video presentation here:
https://youtu.be/rKTG2zjQS6o
The document discusses ASP.NET MVC and some of its key concepts and advantages over traditional ASP.NET Web Forms. It notes that MVC enables clean separation of concerns, extensibility, clean URLs and HTML. Some key aspects of MVC covered include controllers, actions, routes, models, views, HTML helpers, validation, and areas. It emphasizes that MVC exposes the stateless nature of HTTP and makes the framework more testable compared to Web Forms.
#NoXML: Eliminating XML in Spring Projects - SpringOne 2GX 2015Matt Raible
Many Spring projects exist that leverage XML for their configuration and bean definitions. Most Java web applications use a web.xml to configure their servlets, filters and listeners. This session shows you how you can eliminate XML by configuring your Spring beans with JavaConfig and annotations. It also shows how you can remove your web.xml and configure your web components with Java.
Testing mit Codeception: Full-stack testing PHP frameworkSusannSgorzaly
Codeception is a PHP testing framework for Behavior Driven Development, which covers all kinds of tests: unit tests, functional tests and acceptance tests. It is fast and simple in both usage and execution. This talk will give you a introduction to the software testing basics using codeception. It will also cover some stumbling blocks when writing tests, like:
- Test code stability against small changes
- Data stability
- Test structure
Last but not least I will give you a short outlook how to make your tests also understandable for product owners.
The Time for Vanilla Web Components has ArrivedGil Fink
The document discusses the emerging web components standards that enable encapsulation, separation of concerns, and element portability. It covers the main web components APIs including templates, imports, shadow DOM, and custom elements. Templates allow declaring reusable DOM fragments. Imports allow loading additional HTML documents. Shadow DOM encapsulates DOM parts and prevents style leakage. Custom elements enable extending or creating custom HTML elements. While browser support is still developing, web components offer powerful tools for building reusable components in a standardized way.
This document discusses the JavaScript library Prototype and how it can be used to build dynamic user interfaces with Ajax techniques. It provides an overview of Prototype's features for simplifying Ajax calls, enhancing DOM manipulation, adding visual effects, and debugging JavaScript across browsers. The document promotes Prototype as a way to focus on applications rather than browser bugs and contains links to documentation, extensions, and debugging tools to support Prototype development.
The document discusses lessons learned from examining popular jQuery plugins. It summarizes 30 top plugins, describing why each was created and how it grew. Key takeaways are that authors build plugins to make something better, for fun/exploration, or client needs. Managing features and user feedback is challenging. The best plugins have great demos, documentation, browser support testing, and are fun. The author is available for questions.
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.
Selenium is a tool for testing web applications. It allows tests to run directly in browsers like Internet Explorer, Firefox, and Chrome across different operating systems. Selenium tests can check browser compatibility and verify application functionality. Tests are written using Selenium's API in languages like Java, Ruby, and Python. The tests automate user interactions like clicking buttons and entering text. Selenium includes features for recording, editing, and debugging tests. It can run tests from outside the browser or directly within it.
Efficient Rails Test Driven Development (class 3) by Wolfram ArnoldMarakana Inc.
Learn how to apply the test-first approach to all of your Rails projects. In this six class series, experienced Rails engineer and consultant, Wolfram Arnold applies his real-world perspective to teaching you effective patterns for testing.
In this third of six classes, Wolf covers:
- Controller testing
- View, Helper, Routes Testing
- How much is enough? How much is too much?
** You can get the video and source code from this presentation at: http://marakana.com/f/201 **
All six classes will be available online, so stay tuned! And be sure to check out marakana.com/techtv for more videos on open source training.
Presented by: Wolfram Arnold, in collaboration with Sarah Allen, BlazingCloud.net
Produced by: Marakana
The document discusses a keyword driven testing framework using WATIR. It provides an overview of keyword driven testing and describes the architecture including input files, a core engine, library functions, and customized results. It then gives details on WATIR, how it allows testing web applications in Ruby, its advantages like simpler scripting, and disadvantages like initial effort. Contact information and resources for learning more are also provided.
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
JavaScript MVC Frameworks are all the rage these days. They’ve taken the web development world by storm. This session explores the various features of the three hottest JavaScript MVC frameworks: AngularJS, Ember.js and React.js. It also compares client-side templating vs. server-side templating and how well each framework supports Isomorphic JavaScript (code that can run both client-side and server-side). Finally, it ranks each framework on 10 different criteria using Yevgeniy Brikman’s framework scorecard.
Video on InfoQ: https://www.infoq.com/presentations/comparing-angular-ember-react
Efficient Rails Test Driven Development (class 4) by Wolfram ArnoldMarakana Inc.
Learn how to apply the test-first approach to all of your Rails projects. In this six class series, experienced Rails engineer and consultant, Wolfram Arnold applies his real-world perspective to teaching you effective patterns for testing.
In this fourth of six classes, Wolf covers:
- Refactoring code & tests, custom matchers
- API Testing
- Remote data setup
- Cucumber for API testing & documentation
** You can get the video and source code from this presentation at: http://marakana.com/f/204 **
All six classes will be available online, so stay tuned! And be sure to check out marakana.com/techtv for more videos on open source training.
Presented by: Wolfram Arnold, in collaboration with Sarah Allen, BlazingCloud.net
Produced by: Marakana
Efficient Rails Test-Driven Development - Week 6Marakana Inc.
Learn how to apply the test-first approach to all of your Rails projects. In this six class series, experienced Rails engineer and consultant, Wolfram Arnold applies his real-world perspective to teaching you effective patterns for testing.
In this sixth of six classes, Wolf discusses:
- Integration frameworks (Cucumber, Webrat, Capybara, and Selenium)
- Integration testing with Selenium (advantages and problems)
- Page Objects
- Locators (Selenium, CSS and XPath locators
- RSpec Custom Matchers
- Testing for Access Control
** You can get the slides and source code from this presentation at: http://marakana.com/f/215 **
Find more videos, tutorials, and code examples at http://marakana.com/techtv
Most learning materials for web app pentesting focus on “old school” apps. Maybe they have a little jQuery sprinkled in, but most of the heavy-lifting happens server-side. With the dawn of frontend frameworks like AngularJS, Vue, and React and Single-Page Applications, the way web apps are developed is changing, and pentesters need to keep up. This talk runs through common security issues with and approaches to testing these new apps.
Behat is a testing framework that allows testing an entire website from the perspective of a user or tester. The document provides an overview of how to get started with Behat, including installing necessary components, writing feature files with scenarios and steps, and implementing custom steps. It also discusses best practices for writing good Behat tests and provides solutions to common problems encountered when using Behat.
Developing Modern Java Web Applications with Java EE 7 and AngularJSShekhar Gulati
This document provides an agenda and overview for a workshop on developing modern Java web applications with Java EE 7 and AngularJS. The workshop will introduce Java EE 7, demonstrate how to build a sample HackerPins application using Java EE 7 for the REST backend and AngularJS for the frontend, and deploy the application to OpenShift. Key topics that will be covered include an introduction to Java EE 7 specifications like CDI, JAX-RS, and WebSockets, and how they allow building modern web applications. Code for the sample HackerPins application will be provided on GitHub.
The document discusses testing web applications using Selenium. It describes the unique challenges of testing heterogeneous systems with dynamic pages. It then provides an overview of Selenium and how it can be used to simulate user interactions and automate testing of web applications. Specific techniques discussed include using Selenium IDE to record tests and Selenium WebDriver to programmatically control browsers using various programming languages.
Why and when you need end-to-end tests, a spooky story with a 15 years software beast, and how to develop concise, maintainable functional tests using Groovy, Spock and Geb.
This document discusses API design and security in Django. It covers fundamentals of API including defining resources, uniform responses, serialization, and versioning. Authentication with OAuth is also explained. Django frameworks like django-piston are recommended for building APIs as they support features like OAuth out of the box. Writing API handlers with django-piston is demonstrated to be easy by extending its BaseHandler class and overriding methods for different HTTP methods.
This document discusses the role of a Scrum Master in motivating teams. It describes the author's background and experiences in quality assurance and test automation. The author believes that motivation relates to happiness, success, and winning for teams. As a Scrum Master, ways to motivate teams include leading by example, continuous improvements, mentoring the team, and focusing standups on progress rather than socializing. Motivation levels will fluctuate over time, so the Scrum Master should stay positive and encourage the team without trying to do everything themselves. Artifacts and planning activities should be optimized for engagement, such as using planning poker cards and providing food.
Prioritization by value (DevOps, Scrum)Tommy Quitt
In Scrum, DevOps it is important to learn how to prioritize by value. Learn how to do it in this very short presentation.
Agile coaching can help teams to flex the muscle of prioritization and proper backlog grooming.
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...PolarSeven Pty Ltd
Chris Kawchuck has 20 years experience in the Telecom and Service provider industry. He will be demonstrating how easy it is to spin up a Brocade vADC in AWS; enabling serverless architectures using S3 buckets, and accomplish real-time traffic rewrites to get you out of sticky situations.
Learn about:
1. Load balancing and scaling options available on AWS
2. Automating the Brocade vADC spin up using Cloudformation Templates
3. Enabling use of "Serverless" web pages in AWS 4.Taking care of tricky situations using TrafficScript
Implementing any 3rd party Load Balancer from the Amazon AWS Marketplace can be a daunting task. Not only does one have to learn the vendor's specific interface, you also need to perform quite a few administrative tasks to setup front end IPs, back end pools, clustering, and so on.
Brocade has published a CloudFormation Template (CFT) which takes all the hard work out of setting it up and operating. Using DevOps tools and open source scripts, we not only automate the deployment of the Brocade vADC within AWS, but all the configuration you need to administer, cluster, and provision your Load Balancers; including public IPs and your back-end server pools.
We would like you to try it, and take advantage of the powerful feature of the Brocade vADC.
https://github.com/dkalintsev/Brocade/tree/master/vADC/CloudFormation/Templates/Variants-and-experimental/Configured-by-Puppet
* Presented at the Sydney AWS User Group session 1st February 2017
http://www.meetup.com/AWS-Sydney/
Hosted and organised by PolarSeven - http://polarseven.com
View the full video presentation here:
https://youtu.be/rKTG2zjQS6o
1) The document discusses delivering software at speed using Chef Automate and AWS OpsWorks for Chef Automate. It describes how Chef Automate provides capabilities for continuous automation, compliance, and visibility across infrastructure, applications, and workflows.
2) AWS OpsWorks for Chef Automate is introduced as a native Amazon service that provides a fully managed Chef server on AWS, allowing customers to take advantage of Chef Automate's capabilities in an AWS environment.
3) The document argues that Chef Automate is foundational for DevOps initiatives by enabling organizations to define infrastructure and compliance as code, increase speed of software delivery, improve efficiency, and decrease risk through continuous automation and compliance monitoring.
Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...Mail.ru Group
Отношение к акциям может быть разное, но ориентироваться стоит исключительно на результаты. Что мерить в акциях на примере опыта интеграции последних ивентов в War Robots, расскажет Максим Кожнов.
The document discusses the need for improved collaboration between developers and system administrators (sysadmins) to enable business objectives. It notes that developers focus on implementing new features quickly without considering operational impacts, while sysadmins aim to minimize risks by avoiding changes. This leads to delays in deployments and last-minute releases. The document recommends automating infrastructure provisioning and configuration using a tool like Chef to establish a common workflow and shared objectives between teams.
This document provides quick guides and code snippets for common JavaScript tasks when using Test Complete, such as creating objects and classes, reading and writing files, iterating through arrays, and connecting to databases. It includes examples of how to use try/catch blocks, switch statements, and extend built-in prototypes. Methods are demonstrated for working with strings, files, XML documents, SQL connections, and generating XML from objects.
This 2-day training course covers Behavior Driven Development (BDD) and automation testing using the Behat and Mink frameworks. Day 1 includes an overview of BDD, the Behat tool, and the Gherkin language. It demonstrates setting up a Behat project, writing feature files with scenarios, and implementing step definitions. Day 2 focuses on more advanced topics like the Mink library for web testing, configuration options, and best practices for BDD. Attendees will learn how to write automated tests for a website using Behat and execute them on the command line or within a browser. The course is suitable for testers and developers interested in BDD and gaining skills in PHP, Behat, and M
This 2-day training course covers Selenium WebDriver with Java for manual testers looking to learn automation testing. It teaches the Selenium tooling and framework including Selenium IDE, RC, WebDriver, Java concepts, TestNG, jUnit, ANT and more. The course provides hands-on experience building automated test scripts with a focus on WebDriver API and using Java for test development.
This document discusses Gherkin, a language used for behavior-driven development (BDD) testing. It was created in 2009 to be business-readable. Gherkin feature files use a simple syntax with keywords like "Feature", "Scenario", "Given", "When", "Then" to describe tests in a natural language format. The document demonstrates setting up a testing project using Gherkin with Behat and Mink to automate tests for a website by linking feature files to test code.
This document discusses how Jenkins CI was used to automate testing and present results. Jenkins plugins were used to integrate test automation tools, source control from GIT, and present test reports. Continuous testing was enabled by triggering tests on each new build from source control and monitoring test executions and results through the Jenkins dashboard. Tips are provided on optimizing test execution times and frequencies.
Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...Mail.ru Group
О каких вещах не думают разработчики для ПК или консолей, но которые нужно учитывать? Какие возможности открываются, которых нет больше нигде? Какие перспективы у направления VR-игр? Эти вопросы рассмотрит Дмитрий в своем докладе.
The document discusses the evolution of DevOps practices from before Scrum to integrating Scrum and Kanban. It describes how earlier approaches lacked coordination between development and database administration teams. The emergence of DbOps and DevOps aims to improve synchronization through practices like source control, continuous integration, delivery and automation. Key aspects include defining contracts to communicate changes and extending collaboration across applications, databases and infrastructure.
Devops Journey - internet tech startupViresh Doshi
This document summarizes the experience of a QA consultant working with a tech startup to implement DevOps practices to improve their software development process. The consultant found the startup was stuck in outdated practices from the 1980s, with no automation, poor source control, and manual testing and deployment. The consultant implemented continuous integration using tools like Jenkins, test automation with Behat and Mink, and automated deployment. This eliminated errors, provided visibility, and allowed developers to focus on development. While progress was made, the consultant notes further improvements are still needed, especially adopting better Agile practices.
Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...Mail.ru Group
Привлечение геймера в проект — дорогостоящий и нетривиальный процесс. Узнав об игре, заинтересовавшись ею, продравшись сквозь регистрацию, установку и первый запуск, пользователь уже ощущает эмоциональную усталость и «чувство выполненного долга». А геймдизайн ещё и не начал работать. О том, как сохранить игрока до того момента, когда он действительно будет готов принять решение «подходит ли для него игра» и оценить её полноценный геймплей (а также какие трудности и неочевидные преграды есть на этом пути) и пойдёт речь в докладе.
Scrum master's role - top 20 challenges Viresh Doshi
The document outlines 21 challenges faced by Scrum Masters, including failing to meet commitments, poor estimations, lack of focus on sprint work, disorganized sprint reviews, low collaboration, insufficient ticket information, frequent scope changes, delivering nothing at the end of sprints, low motivation, reprioritizing features mid-sprint, lack of communication of company strategy and roadmap, inadequate backlog grooming, unclear quality ownership, poor timekeeping, lack of development improvements, teams that do not care about quality, lack of code transparency, insufficient test automation, deficient triage processes, limited DevOps practices, and code not being checked in daily.
Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...Mail.ru Group
На сегодняшний день проектирование интерфейсов и юзабилити — самая динамичная, глобальная и ценная область разработки, от результатов которой зависит, каким продукт предстанет перед конечным пользователем — насколько он будет содержательным, понятным, полезным, удобным, простым.
В докладе будут рассмотрены популярные подходы в решении юзабилити-задач, зарекомендовавшие себя в топовых продуктах.
This slide deck Introduces Chef and its role in DevOps. The agenda of the deck is as follows:
- A Review of DevOps
- BMs Continuous Delivery solution
- Introduction to Chef
- Chef and Continuous Delivery
Read more on DevOps: http://sdarchitect.wordpress.com/understanding-devops/
This document provides an overview of a Selenium training course. The course is divided into modules covering Selenium User, Practitioner, and Expert topics. The Selenium User module focuses on the basics of Selenium and using the Selenium IDE. It includes exercises for locating elements and writing simple test scripts. The document also provides references and demo websites for practicing Selenium.
Revanth Technologies provides best online training of Android testing-with-selenium-webdriver-course-content.For more detalies contact us 9290971883, 9247461324.
Email.id. [email protected].
web.site.www.revanthtechnologies.com
The document is about the book "Learning Selenium" which teaches readers how to create automated test scripts using Selenium. It provides tutorials to get started with Selenium IDE, including how to record a test script, modify an existing script, store information from a web page. It also discusses using extensions and plugins with Selenium IDE. The book aims to help readers structure their Selenium test automation projects and provides hands-on examples testing a demo e-commerce website.
Selenium was originally developed in 2004 as a JavaScript library to automate web application testing. It has since evolved into a suite of tools including Selenium IDE, Selenium RC, and Selenium WebDriver. These tools can automate tests across different browsers and platforms. Selenium IDE is a simple Firefox plugin for recording and playing back tests without coding. Selenium WebDriver is the successor to Selenium RC and supports multiple programming languages and browsers through browser-specific drivers. It allows tests to be executed programmatically rather than just recorded.
Automation testing using Selenium WebDriver can provide various advantages like frequent regression testing, rapid feedback to developers, and unlimited test case execution. Selenium WebDriver is a tool that supports test automation for web applications across different browsers. It has language bindings for Java, Python, C#, JavaScript and other languages. Locators are used in Selenium to identify elements on the page and the main locator types are ID, Name, XPath, CSS, Link Text etc. Common Selenium actions include navigating to URLs, entering text, clicking elements and verifying page content.
The document outlines the contents of a Selenium automation testing course, including 30 hours of lessons on topics like introduction to automation testing, Selenium IDE, Selenium Core, JavaScript, Java fundamentals, Eclipse, FireBug, XPath, Selenium RC, Selenium Grid, Selenium WebDriver, TestNG, JUnit, AutoIT, frameworks, and more. The course also provides materials, interview questions, resume assistance, and help with job interviews.
This document provides an overview of WebDriver and its APIs. WebDriver is a browser automation tool that directly controls the browser using native browser capabilities rather than relying on JavaScript. It has object-oriented APIs for Java, C#, Python, Ruby and supports mobile browsers. The document outlines WebDriver's history and architecture, describes common APIs for controlling the browser, finding elements, and interacting with elements. It also provides examples of implicit and explicit waits, handling popups/alerts, and backward compatibility with Selenium 1.
The document discusses the Selenium automated testing tool. It provides an overview of the history and components of Selenium, including Selenium IDE, Selenium RC, Selenium WebDriver, and Selenium Grid. Selenium is an open source tool that is used to automate testing of web applications across different browsers. It allows testing JavaScript applications and ensures cross-browser compatibility.
The document discusses using Selenium WebDriver to create a test that pays tribute to a sporting event by bouncing a browser window around the screen and changing the browser title to display scrolling text related to the event. It demonstrates using WebDriver's window positioning and size methods, as well as executing JavaScript to change the title. The test bounces the window for 1000 iterations while incrementally displaying more of a banner string in the title. It also discusses some challenges of working with WebDriver and provides tips for doing so.
- Selenium is an open source test automation tool used to validate web applications across different browsers and operating systems. It provides various tools like Selenium IDE, Selenium RC, Selenium WebDriver and Selenium Grid.
- Selenium RC (Remote Control) launches browsers and interprets Selenium commands, acting as an HTTP proxy between the browser and application under test. It allows tests to be written in various programming languages.
- WebDriver drives browsers directly using native support provided by each browser reducing dependencies on third party libraries. It provides a simpler programming interface compared to RC.
This document discusses testing web applications using Selenium. It begins by describing the unique aspects of web application testing, including that web apps have heterogeneous systems with dynamic frontends and backends. It then covers how Selenium can be used to automate testing by simulating user interactions in the browser. Specifically, it details the Selenium IDE Firefox extension for recording and replaying tests, and Selenium WebDriver for programmatically controlling the browser with various languages. The document provides examples of using WebDriver to locate elements, enter values, submit forms, and verify results. It concludes by outlining a course project to test the "Add New Class" functionality of a web app without access to the source code.
Web testing with selenium and by quontra solutionsQUONTRASOLUTIONS
Selenium is a portable software testing framework for web applications. It supports multiple locator strategies including id, name, link, DOM, CSS, and xpath to find elements on a page. Selenium tests can be slow to execute compared to unit tests due to browser automation and page load latency. Techniques like adding ids to elements, reusing browser sessions, testing local builds, and parallelizing tests can help speed up Selenium tests.
Automation with Selenium Presented by Quontra SolutionsQuontra Solutions
This document discusses automation testing with Selenium. It provides an overview of how Selenium Remote Control works by launching a browser and using JavaScript to simulate user actions. It also discusses the differences between Selenium and WebDriver, how WebDriver directly controls the browser without JavaScript limitations. The document recommends using the Page Object Model design pattern to organize automation code into reusable page class objects.
Test automation with Selenium WebDriver can improve testing efficiency by enabling frequent regression testing, rapid feedback to developers, unlimited test case execution iterations, and defect detection missed by manual testing. Selenium originated in 2004 and has merged with the WebDriver project to provide a common set of features. WebDriver supports locating elements using ID, name, XPath, CSS, link text, and other attributes. It allows retrieving values from elements and interacting with pages, frames, alerts and windows.
How To Use Selenium Successfully (Java Edition)Dave Haeffner
The document provides a 10 step guide to successfully using Selenium for automated testing. It begins by defining a test strategy and choosing a programming language. It then covers Selenium fundamentals like common actions and locator strategies. The next steps include writing the first test, making tests reusable and resilient, and packaging tests into a framework. It concludes by adding cross-browser execution and building an automated feedback loop through continuous integration. The goal is to write business-valuable tests that can run across browsers and be maintained by a team.
This document discusses testing web applications using Selenium. It begins by outlining some of the unique challenges of web application testing, including heterogeneous systems with different front-end and back-end components, dynamic pages generated by JavaScript, and security concerns. It then introduces Selenium, an open source tool for automating web application testing. Selenium WebDriver allows testing web applications across browsers and platforms in a programmatic way. The document provides examples of how to use Selenium WebDriver to test a web page, such as verifying the page title. It also discusses challenges like asynchronous behavior that require waiting for elements to load. Finally, it outlines the course project, which involves designing and implementing Selenium tests for adding a new class in the SchoolMate web application
Slides from the Selenium Clinic Tutorial from Eurostar 2012 hosted by Simon Stewart and Alan Richardson. The tutorial was awarded "Best Tutorial" at the conference.
The reference slides were excerpted from Alan Richardson's online WebDriver course hosted at Udemy.
http://www.udemy.com/selenium-2-webdriver-basics-with-java/
The document discusses the benefits of test automation using Selenium. It provides an overview of Selenium's history and development. Key advantages of test automation include enabling frequent regression testing, rapid feedback to developers, and finding defects that manual testing may miss. The document also covers Selenium commands, locating elements, script syntax, and different Selenium tools like IDE, WebDriver, and RC.
Welcome to Sleuths India – A distinguished private detective agency in Delhi with over 25 years of market experience and a solid pan-India network. We’re an agency whose outstanding works in the field of investigation have won many prestigious awards, including from the President of India. Top national and international media houses and magazines have published our exceptional works and achievements. We also possess the largest team of detectives in India and have a team of lady detectives for specific cases. All major cities of India, including Delhi, Mumbai, Bangalore, Lucknow, Pune, Chandigarh, Hyderabad, Chennai, Ahmedabad and Kolkata have our presence with well-equipped offices in posh localities.
Eco Packaging’s competitive advantage transpires from solid partnerships with leading international manufacturers. Eco is successful not because what we do or what we say, but because of the way we make our customers, suppliers and staff feel about us.
This presentation explores W. Edwards Deming’s philosophy of recognition, emphasizing a systems-oriented, intrinsic, and respectful approach to motivating people and improving quality.
Rather than promoting conventional rewards like bonuses, rankings, or employee-of-the-month awards, Deming believed that true recognition emerges from creating a culture where people are empowered, respected, and involved in continual improvement. The presentation deconstructs this philosophy across key themes:
System over the Individual: Performance should be understood within the context of the system, not blamed on individuals.
Intrinsic Motivation: The most powerful form of recognition is enabling people to take pride in their work.
Respect and Involvement: Recognition includes actively listening to employees and involving them in decisions.
Continual Improvement: Contributions to systemic improvement are the highest form of recognition.
Rejection of Traditional Rewards: Deming opposed fear-based systems like rankings and incentives.
Aagami Corporate Presentation - June 2025Aagami, Inc.
Aagami, Inc., is an Illinois, USA based life sciences advisory firm offering,
1. Strategic Consulting
2. Out/In Licensing support
3. Partnership / Co- development support
4. Funding and Investment Advisory
5. Divestiture/ M&A
6. IP Licensing and Sale
7. Market Entry / Development Strategy
In brief, Aagami brings:
1. Deep Experience of overcoming business and socio-cultural differences of various countries/regions. Our partners have lived and worked in regions such as Japan, Spain, Germany, India, Colombia, apart from the US.
2. Extensive ‘C’ level network nurtured for over 22 years.
3. Global Deal making skills, honed for decades.
4. Partners having combined experience of 250+ years.
5. Supplementing bandwidth to save time, effort & cost.
120+ Bio Pharma clients globally have put their trust in Aagami (210+ assignments) since last 22+ years.
MNC - Simpatico PR B2B PR agency case study 0625.pdfSimpatico PR
How to build your B2B PR profile rapidly.
Some businesses – not many – but a few, grow their businesses without publicity. But then moment comes when PR is essential. Independent media agency MNC was silent for thirty years then achieved 20+ media articles in four months – how?
Our mission
Our B2B PR agency brief was to announce and promote MNC’s positioning and support business growth. To do this we needed to achieve an initial burst of exposure and then keep that coming across a range of media including – critically – vertical trades.
When a business has zero media profile and no relationships with the press the challenge boils down to credibility – as one journalist put it “why should we write about an agency nobody has heard of?”
Here’s how:
We identified a series of initial messages that were genuinely topical and credible for MNC to own.
- Indie agencies Vs. Holdco’s
- The fusion of media and venture funding
- Marketing shibboleths that need a rethink
- Why indies will win talent
We pitched creatively to media, mixing topicality, trend analysis and humanising complex issues.
We built relationships using podcasts and other media formats to build a dialogue between MNC’s talented team and journalists.
We looked at what MNC’s prospects were interested in and converted POVs to work in vertical media.
We became an extension of their team – their wins are ours.
We pushed hard and kept momentum going – creating a full pipeline of content to leverage.
Results
The initial outcomes
- Growth in new prospect opportunities
- Supporting client conversions
- Massive up-tick in social exposure and audience reach
- All media targets reached – vertical out-reach growing
Find out more about our B2B PR agency approach to thought leadership and B2B marketing at www.simpaticopr.co.uk
Monetizing AI APIs: The New API Economy EmergesAllan Knabe
Presented by Allan Knabe, CEO of Apiable.io
As AI continues its march from novelty to necessity, the business models powering its ecosystem are starting to matter as much as the models themselves. This talk dives into how AI APIs especially those built on foundation models like OpenAI can be packaged, priced, and monetized effectively for B2B and B2B2B use cases.
We’ll explore where value accrues across the stack—from infrastructure to models to applications—and how developers and API providers can carve out a sustainable business in the middle layers. You’ll get a breakdown of the emerging monetization patterns, including usage-based pricing, token-based metering, and credit wallet systems, as well as the hidden pitfalls of bundling APIs into high-tier plans without clear usage tracking.
Drawing on real-world examples and customer implementations, this session will unpack:
Why most AI apps are still using outdated pricing models
How to think about tokens, jobs, and digital workers as billing units
The practical mechanics of API monetization via gateways, portals, and billing tools like Stripe
Why giving customers your raw OpenAI API key is a terrible idea, and how to fix it
Whether you're building a SaaS product powered by AI, running a developer platform, or exploring API-first strategies for generative agents, this talk will help you move from experimental to executable.
This presentation offers a comprehensive insight into a specialized Face Mask Filter Test Lab dedicated to assessing the filtration performance and safety standards of face masks, including N95, surgical, and cloth masks. It covers key testing parameters such as Bacterial Filtration Efficiency (BFE), Particle Filtration Efficiency (PFE), Differential Pressure (breathability), Fluid Resistance, and Flammability. The lab follows internationally recognized standards like ASTM F2100, EN 14683, and NIOSH N95 criteria. Ideal for PPE manufacturers, healthcare suppliers, and quality certifiers, this facility ensures reliable and regulatory-compliant face mask testing for both mass production and R&D purposes.
India’s Role in Supporting Nordic Innovation Through Global Capability CentersInductus GCC
One of India's top partners for assisting small and medium-sized businesses in establishing their own offshore development centers and global capability centers in India is Inductus Global Capability Center (GCC). With its headquarters in Delhi-NCR, Inductus focuses on helping multinational companies in a variety of sectors, such as manufacturing, travel & hospitality, IT, BFSI, aviation, and law, build a solid operating foothold in India.
Enhancing MLM Platforms Through Advanced Communication ToolsEpixel MLM Software
Business success relies on proper communication. From using cold calls, emails to using modern communication system, businesses are changing a lot. As technology progressed, direct sales companies are using multiple platforms with each have their own purpose. With the use of these platforms, distributors are allowed for a well-supported communications structure. The distributors can take their training based on their personal availability by using micro modules which will be available through their mobile. The latest development is the contextual communication, where the distributors can do their training and solve their queries simultaneously.
Through data analysis, entrepreneurs are enhancing their interpersonal skills. By combining the communication methods with data, their perceptions can turn to informed decisions. Active leaders are now able to spot the weak distributors and also distributors who have leadership potential, which of their product is doing good, and how they can improve the training activities to enhance distributor retention.
Transforming Your Business with As-Is and To-Be Process AnalysisRUPAL AGARWAL
Unlock the potential of business transformation through strategic process analysis. This presentation explores how mapping current ("As-Is") processes and designing future ("To-Be") workflows can drive operational efficiency, reduce costs, and enhance customer satisfaction. Learn practical techniques, real-world examples, and implementation steps to align your processes with your organizational goals.
2. Join us and Book Online
★ Book
★ One
your selenium webdriver training with us
day - intensive 10 hours - 8am to 6pm
★ Locations:
Dublin, Berlin, Dubai, Brussels, New York,
Copenhagen, Zurich
★ Learn
and Apply - Practical
★ Lunch
and Refreshments inclusive
★ Small
classes up to 6 delegates
www.time2test.co.uk
!2
www.seleniumbootcamp.com
10. who we are?
•
Time2test Limited ( UK) based training company
•
Specialise in training for testers
•
Training Locations: UK and Europe
•
Over 15 Courses: Coding for Testers, Webdriver
Automation & Mobile Test Automation
www.time2test.co.uk
!10
www.seleniumbootcamp.com
11. Fast paced course
•
We have limited time
•
We can follow up via Skype if necessary
•
Email us [email protected] with questions
www.time2test.co.uk
!11
www.seleniumbootcamp.com
12. About the trainer
“Hi, I am the trainer. This slide is about me and my
technology background.”
www.time2test.co.uk
!12
www.seleniumbootcamp.com
13. Agenda
•
7:45 - 8am - Introductions and Coffee
•
8am - 10am - Morning session
Timings are
approximate
•
Coffee Break 1 - 15 mins
•
10am-1pm - Mid Morning session
•
Lunch Break - 30 mins
•
1pm - 3pm - Afternoon session
Time to catch
the plane
•
Coffee Break 2 - 15 mins
•
3pm - 6pm - Late Afternoon session
www.time2test.co.uk
!13
www.seleniumbootcamp.com
15. what we will cover?
•
Selenium 2 WebDriver API
•
Handling Alerts
•
Using WebDriver to navigate web applications
•
Working with Cookies
•
Basic web Element identification using id,
name
•
Synchronisation strategies
•
Implicit vs Explicit Waits
•
Explicit waits using ExpectedConditions
•
Explicit waits using custom expected
conditions
•
Refactoring to Abstraction layers, Page Object
Models and Domain Objects
•
•
•
Locating web elements using CSS and XPaths
Use of Chrome Developer tools and Firebug
WebDriver commands to Interrogate
WebElements and pages
•
JUnit annotations to structure test code
•
HamCrest commands for test assertions
•
Page Object Modelling Approaches
•
WebDriver commands for Interaction and
Manipulation
•
Running tests on multiple browsers: Firefox,
Google Chrome
•
Using JavaScript in your tests
•
Using Remote WebDriver
www.time2test.co.uk
!15
www.seleniumbootcamp.com
17. What do you already know?
•
Spend 5 minutes on telling us what you already
know about Selenium Webdriver and how you have
used it.
•
Or , tell us about your test automation experience
www.time2test.co.uk
!17
www.seleniumbootcamp.com
18. Style of teaching
•
Follow the the examples created by the trainer and
then try them out on your machine.
•
Help each other out.
www.time2test.co.uk
!18
www.seleniumbootcamp.com
19. course objectives
•
spend 5 mins and note down your objectives and
pass them over to the trainer.
•
We want to meet your expectations.
Feel free to
add
objectives at
any time
www.time2test.co.uk
!19
www.seleniumbootcamp.com
21. overview
•
Eclipse IDE or IntelliJ IDEA
•
jUnit for test automation framework
•
Maven for package dependencies
•
Firefox installed - default preferred browser for
Webdriver
www.time2test.co.uk
!21
www.seleniumbootcamp.com
22. What is Eclipse IDE
•
If you don’t have previous experience then just
follow the trainers’ examples
•
Development platform with magic
www.time2test.co.uk
!22
www.seleniumbootcamp.com
23. What is jUnit?
•
test automation framework to help organise tests
with improved reports
www.time2test.co.uk
!23
www.seleniumbootcamp.com
24. What is Maven?
•
configuration tool to manage package
dependencies and versions without the headache.
www.time2test.co.uk
!24
www.seleniumbootcamp.com
25. What is Firefox?
•
where have you been?
•
webdriver and Firefox show much love
www.time2test.co.uk
!25
www.seleniumbootcamp.com
28. API - must know
Webdriver - control the browser
•
Webdriver driver = new FirefoxDriver();
WebElement - work with elements on the page
•
WebElement myElement =
driver.findElement(By.id(“id”))
it’s an
interface to a
browser
www.time2test.co.uk
!28
www.seleniumbootcamp.com
29. API - must know
•
void get(“url”) - open the web page
•
void quit() - close the browser
•
List<WebElement> findElements(By by) - find
elements (more than one element)
www.time2test.co.uk
!29
www.seleniumbootcamp.com
30. API - find Elements
•
There are many different ways to find elements
•
By.id(“objectId”)
•
By.linkText(“textUsedInTheLink”)
•
By.partialLinkText(“partOftextUsedInTheLink”)
•
By.tagName(“HTMLNodeTag”)
•
By.className(“cssClassOnObject”)
•
By.cssSelector(“cssSelectorOfElement”)
•
By.xpath(“//xpath/To/Element”)
•
By.name(“elementName”)
www.time2test.co.uk
We
prefer to use
cssSelectors
!30
www.seleniumbootcamp.com
31. API - operations
•
void click() - click on an element
•
void submit() - perform a submit
•
String getValue()
•
void sendKeys(“keysToSend”) - input values
•
void clear() - clear the input field
•
String getElementName() -
•
String getAttriubute() -
•
boolean toogle() -
•
void Actions() - perform mouse, drag and drops and keyboard operations
www.time2test.co.uk
!31
www.seleniumbootcamp.com
32. API - windows and frames
working with Browser Windows
•
driver.getWindowHandles()
•
driver.switchTo().window.(“window_name”)
working with frames
•
driver.switchTo().frame.(“frame_name”)
www.time2test.co.uk
!32
www.seleniumbootcamp.com
35. overview
•
use firebug/chrome developer tools to help with
locating webElements
•
cssSelectors
•
XPATHS
•
id
•
name
www.time2test.co.uk
!35
www.seleniumbootcamp.com
36. xpaths v cssSelectors
•
Try to use cssSelectors over XPATHS
•
your automation scripts will run faster
•
use XPATHs to save time
•
finding elements on a page is an art!
www.time2test.co.uk
!36
www.seleniumbootcamp.com
37. xpaths
•
This notation // for xpaths
•
follow the trainer’s examples
•
use a tool to help determine xpaths
www.time2test.co.uk
!37
www.seleniumbootcamp.com
38. xpaths - firepath
•
great tool to assist with xpath determination
•
use with firebug on firefox
www.time2test.co.uk
!38
www.seleniumbootcamp.com
40. css selectors 2
•
partial match on attribute values
^=
$=
*=
www.time2test.co.uk
input[id^=‘ctrl’]
Starting with:
For example, if the ID of an element is ctrl_12,
this will locate and return elements with ctrl at
the beginning of the ID.
input[id$='_userName']
Ending with:
For example, if the ID for an element is a_1_
userName, this will locate and return elements
with _userName at the end of the ID.
input[id*='userName']
Containing:
For example, if the ID of an element is panel_
login_userName_textfield, this will use
the userName part in the middle to match and
locate the element.
!40
www.seleniumbootcamp.com
41. css selector gadget
•
chrome tool extension
•
Search in google for “CSS
Selector Tester”
!
www.time2test.co.uk
!41
www.seleniumbootcamp.com
42. dynamic elements
Does the ID of your element dynamically change?
<p id="bootcamp_dynamic_1234">This p tag has a dynamic id</p>
!
xpath notation to find the p tag on the page
"//p[contains(@id,'bootcamp_dynamic_')]"
!
cssSelector notation to find the p tag on the page
"p[id*='bootcamp_dynamic_']"
www.time2test.co.uk
!42
www.seleniumbootcamp.com
46. jUnit
•
Pick up the style used in our examples and then
apply them
www.time2test.co.uk
!46
www.seleniumbootcamp.com
47. hamcrest
•
Hamcrest is a framework for writing matcher
objects allowing 'match' rules to be defined
declaratively
•
introduces matchers and is more friendly to read
•
use instead of the junit assertions
•
http://edgibbs.com/junit-4-with-hamcrest/
www.time2test.co.uk
!47
www.seleniumbootcamp.com
48. hamcrest usage
•
A good starting place is the assertThat() method
that can now almost always be used in place of the
traditional assertEquals().
•
assertThat() can be found in org.junit.Assert, but it
defines using Hamcrest matchers in the signature:
static <T> void assertThat(T actual,
org.hamcrest.Matcher<T> matcher)
www.time2test.co.uk
!48
www.seleniumbootcamp.com
50. test Structure
•
good style
•
void setUp()
•
void tearDown()
•
all tests should finish with an assertion
•
element locators should be defined in a separate
class - think about constants
www.time2test.co.uk
!50
www.seleniumbootcamp.com
54. cookies
Set<Cookie> cookies=driver.manage().getCookies();
for(Cookie cookie:cookies)
{
System.out.println(cookie.getName()+"
"+cookie.getValue());
}
//To find the number of cookies used by this site
System.out.println("Number of cookies in this site
"+cookies.size());
www.time2test.co.uk
!54
www.seleniumbootcamp.com
56. overview
•
Locating elements on a page is already an art.
•
Locating elements on a page that don’t always appear
in a timely manner is also an art.
•
Implicit vs Explicit Waits
•
Explicit waits using ExpectedConditions
•
Explicit waits using custom expected conditions
•
fluent waits
www.time2test.co.uk
!56
www.seleniumbootcamp.com
57. Implicit waits
!
Just wait for a period to time
//Set the Implicit Wait time Out to 10 Seconds
driver.manage().timeouts().implicitlyWait(10,
TimeUnit.SECONDS);
www.time2test.co.uk
!57
www.seleniumbootcamp.com
58. Explicit waits
Wait until a condition is met
WebDriverWait wait = new
WebDriverWait(driver, 10);
wait.until(ExpectedConditions.titleContains("sele
nium"));
www.time2test.co.uk
!58
www.seleniumbootcamp.com
59. Fluent Waits
•
!
Use the code that is best for your application under test
// Waiting 30 seconds for an element to be present on the page, checking
// for its presence once every 5 seconds.
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, SECONDS)
.pollingEvery(5, SECONDS)
.ignoring(NoSuchElementException.class);
!
WebElement foo = wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(By.id("foo"));
}
});
www.time2test.co.uk
!59
www.seleniumbootcamp.com
61. overview
•
what are page objects?
•
how to use page objects?
www.time2test.co.uk
!61
www.seleniumbootcamp.com
62. what are page objects?
•
popular design pattern
•
object orientated class for a page
•
interface to the web page
•
methods for elements
•
encapsulates features represented by the page
www.time2test.co.uk
!62
www.seleniumbootcamp.com
63. benefits of page objects?
•
more readable code
•
logical grouping
•
easy to maintain code
•
tests don’t change if UI changes - just that page
object
•
clean separation between test code and page
specific code
www.time2test.co.uk
!63
www.seleniumbootcamp.com
66. overview
•
running your tests on Firefox
•
running your tests on IE
•
running your tests on Chrome
•
running remotely - selenium grid
www.time2test.co.uk
!66
www.seleniumbootcamp.com
67. RemoteWebDriver
•
WebDriver driver = new RemoteWebDriver(new
URL(“http://server-with-selenium-grid-running: 4444/wd/
hub"), DesiredCapabilities.firefox());
•
This example assumes that Selenium Server is running on
server-with-selenium-grid-running with the default port
of 4444.
•
You can run Selenium Server on any machine
•
For example, I run the test code from my Mac OS X
computer but I run Selenium Server on a Window XP
machine.
www.time2test.co.uk
!67
www.seleniumbootcamp.com
68. cross browser
•
different browsers behave differently
•
perform most testing on Firefox
•
some subset test execution on different browsers
www.time2test.co.uk
!68
www.seleniumbootcamp.com
72. Troubleshooting
•
Can’t click or find an element?
•
Selenium Versions
•
Firefox browser versions
•
Downgrade or upgrade using Maven to manage
the versions.
www.time2test.co.uk
!72
www.seleniumbootcamp.com
77. generate random data
•
create a nice random helper class for your random
test data needs
www.time2test.co.uk
!77
www.seleniumbootcamp.com
78. screenshots
•
take a screenshot when you spot an error or an
exception or for validation purposes.
•
useful to save this artefacts as part of Jenkins CI
( continuous integration)
www.time2test.co.uk
!78
www.seleniumbootcamp.com
79. get all links on page
•
Find elements and put traverse through the List
www.time2test.co.uk
!79
www.seleniumbootcamp.com
82. data driven testing
•
Excel spreadsheets or CSV files to seed your tests
•
TestNG is good with data driven testing
www.time2test.co.uk
!82
www.seleniumbootcamp.com
84. goals and objectives
!
•
•
•
Review your goals.
Have we met your expectations?
Email us and we will setup a follow up Skype
session
www.time2test.co.uk
!84
www.seleniumbootcamp.com