Presentation for "Meet for IT: Learning to test. Testing to learn" by Oleksandr Khotemskyi (QA Team Lead at Lohika)
video: https://youtu.be/VC0q1VXv9ZQ?t=13
Protractor is an end-to-end test framework for AngularJS applications built on top of Selenium WebDriver. It runs tests against an application in a real browser, interacting with it as a user would. Protractor provides AngularJS-specific APIs and tools to help with debugging on top of WebDriverJS. Functional tests are the foundation of quality but should be isolated and decoupled from the UI using patterns like page objects. Protractor is ready to use today for testing AngularJS applications.
The document discusses Protractor, an end-to-end test framework for AngularJS applications. It provides an overview of Protractor, how it differs from Selenium WebDriver, how to install and configure it, how to write tests using the Page Object Model pattern, and how to structure tests into suites and specs. Key aspects covered include Protractor's Angular-specific features, use of Jasmine, and capabilities like multi-browser testing.
Automated testing of web applications using JavaScript can provide confidence that changes and new installations do not break existing functionality. There are various types of tests, including unit, end-to-end, compatibility, and performance tests. Popular JavaScript testing tools include QUnit for unit testing, Selenium and Protractor for end-to-end testing, and PhantomJS for headless browser testing without a GUI. These tools can test JavaScript applications and allow writing tests in JavaScript when the application itself is also written in JavaScript.
Protractor is a tool for automating UI tests for Angular apps. It launches a browser, interacts with page elements as a user would, and verifies the app functions correctly. Protractor tests the full user experience across the browser, database, server code and network. The document outlines how to set up and write basic Protractor tests, find page elements, take screenshots, generate test data and integrate testing into continuous integration pipelines like TFS. Resources for learning more about Protractor capabilities and best practices are also provided.
Step by step - Selenium 3 web-driver - From Scratch Haitham Refaat
The document provides instructions on configuring Eclipse with Maven to develop Selenium WebDriver tests. It describes downloading Java and Eclipse, creating a Maven project in Eclipse, adding Selenium and TestNG dependencies to pom.xml, creating a TestNG class, and modifying the class with sample test code to navigate to a URL and validate the page title.
This document discusses Protractor, an end-to-end testing framework for AngularJS applications. It explains what Protractor is, why it is needed for testing AngularJS apps, and how to install and use it. Key points include: Protractor combines Selenium to test AngularJS apps; it allows testing of app functionality rather than just unit tests; installation involves Node.js, Selenium WebDriver, and setting up a configuration file and spec file to define tests. An example test is provided to demonstrate entering text into a field and validating the output.
This document discusses automating testing for different platforms using JavaScript. It covers automating tests for websites using WebDriverIO, Mocha and Chai, mobile web and apps using Appium, and desktop apps built with Electron using Spectron. It provides overviews of the tools and frameworks, how they work, and considerations for testing different platforms and environments. The goal is to demonstrate how to set up an automation testing suite across web, mobile and desktop using open source JavaScript tools.
This document provides an overview and introduction to a Selenium automation testing course offered by IT Professional Academy. The summary includes:
- IT Professional Academy is a team of highly skilled trainers that provide both classroom and online training in areas like software testing, big data, Linux, and more. They provide job assistance services.
- The Selenium automation testing course covers topics like introduction to automation testing, Selenium components, Selenium IDE, WebDriver, validations, assertions, framework development, and more.
- The document demonstrates using Selenium IDE for recording and playing back tests on a demo site. It also provides examples of locating elements, storing values, verifying tests, and converting recorded tests to Java code using WebDriver.
Protractor is an AngularJS end-to-end testing framework built on WebDriverJS and Selenium. It allows automating tests that involve interacting with a browser and verifies that Angular applications work as expected. Protractor uses promises and asynchronous control flow, requiring tests to be written differently than other frameworks. It can run tests across multiple browsers simultaneously using Selenium Grid and supports generating test reports.
This knolx is all about the new features which are introduced in selenium 4.
The differences between selenium3&4,
And how it is better than its competitor Cypress.
Protractor end-to-end testing framework for angular jscodeandyou forums
Protractor is an end-to-end test framework for AngularJS applications that runs tests against a real browser, interacting with the application as a user would. It is built on WebDriverJS and uses native events and browser-specific drivers to test asynchronous behavior and support for AngularJS. Protractor tests can run in any browser and interact directly with page elements rather than testing JavaScript code.
Better Page Object Handling with Loadable Component PatternSargis Sargsyan
This document discusses using the Loadable Component pattern to improve page object handling in Selenium tests. It introduces the LoadableComponent and SlowLoadableComponent classes, which are designed to make page objects less brittle by ensuring pages are fully loaded before interacting with elements. This approach reduces boilerplate code and makes tests easier to maintain. The document also covers common failures like brittle tests, not building a framework properly, and not using explicit waits, as well as tips for continuous integration of automated tests.
Tech talks (Automation on Selenium Web Driver. How to begin & implement)Taras Lytvyn
This short presentation shows you all the steps you need to pass for having all neccessary skill for Web Automation on Selenium Webdriver. Also short review about Selenium versions migrations and implementation for two types of QA teems:
1-st is only manual QA teem that want to automate, and second is teem that automates on Selenium 1.0 and want to migrate with Web Driver. Short step by step tutorial will shows you what exactly you need to learn and read and from what resources just to have enough skills for automation. The last slides give great example what advanced features could be automated with selenium webdriver so for dispelling the ideas that not the all things could be automated.
The document provides an overview of a 1-month Selenium training course. The course will cover the basics of Selenium, including an introduction to test automation, Selenium components, supported browsers, and commands. It will teach Java basics and how to use Selenium IDE, Selenium RC, and developing tests in Java using frameworks like JUnit and TestNG. Students will learn how to write and run Selenium test scripts and cases to automate testing of web applications. The course will be delivered either in-class or online.
Testing Code.org's Interactive CS CurriculumBrian Jordan
Brian Jordan discusses testing challenges for Code.org's interactive computer science curriculum. They developed unit tests using Ruby on Rails, Blockly, and JavaScript to test the dashboard, Blockly apps, and Blockly core. They used BrowserStack for cross-browser testing and jQuery Simulate for drag-and-drop interaction testing. Cucumber tests were written with Selenium to test locally and remotely. Taking a library approach and culture of testing saves time in test writing and development.
Selenium WebDriver - Test automation for web applicationsTSundberg
The document discusses Selenium WebDriver, a tool for automating tests of web applications. It provides an introduction to testing web applications, including manual vs automated testing. Selenium WebDriver is introduced as a browser automation tool that supports many programming languages like Java. Page object design pattern is recommended for organizing Selenium tests, with each page getting its own class. The document emphasizes testing at different levels, from unit to integration to end-to-end tests, using the testing pyramid as a guide.
selenium training | selenium course | selenium video tutorial | selenium for ...Nancy Thomas
Website : http://www.todaycourses.com
Introduction to Automation
What is automation testing
Advantages of Automation Testing
How to learn any automation tool
Types of Automation tools
Introduction to Selenium
What is Selenium
Use of Selenium
Features of selenium
Difference between Selenium and QTP
Selenium Components
Selenium IDE
Selenium Core
Selenium RC
Selenium Grid
Selenium 2.0 – Web Driver
Selenium IDE
Selenium Overview
Selenium IDE Introduction
Downloading and Installing Selenium IDE
Recording and Running a Simple Test
Selenium IDE – Features
Installing Useful Tools for Writing Tests
Selenium Concepts
Selenium Commands
Verifying Page Elements – Assertions and Verifications
Wait Commands
Object Identification
Element Locators
Regular Expression patterns
Selenium Test Runner
Using Regular Expressions in Selenium IDE
Using Java Script functions in Selenium IDE
Creating Selenium Test Suites
How to run the recorded script against other browsers
Why companies are not using recording tools
Limitations of Selenium IDE
selenium training, selenium tutorial, selenium video tutorial, selenium for beginners, junit selenium tutorial, java selenium training, selenium webdriver tutorial, selenium grid training, selenium testng junit tutorial, selenium webdriver, automated testing tutorial, online selenium training, learn selenium, selenium test cases, learn selenium webdriver, xpath and css selectors, jenkins and selenium, selenium junit framework, selenium testing, selenium server, online selenium software testing
Intro to Service Worker API and its use casessatejsahu
The document introduces service workers, which are scripts that run in the background to cache assets and handle requests to provide functionality even when a network is unavailable; it discusses key service worker concepts like promises, registration, installation and activation; and it provides examples of how service workers can be used to improve performance and the offline experience on a web page.
This document provides an overview of the Selenium architecture for automated web testing. It discusses considerations for what to test, popular Selenium tools, core requirements like browsing URLs and validating results, and pragmatic requirements such as language choices and scheduled execution. Javascript limitations like the same origin policy and DOM access are also covered, along with approaches to address these limitations like using a proxy or privileged mode.
Rajdeep Varma will discuss the need for automated visual regression testing for mobile apps to catch UI changes between versions. He developed a tool called Nakal that allows adding visual assertions to existing tests without new frameworks. Nakal uses ADB and AppleScript to capture screenshots, ImageMagick for comparison, and can work with Appium or Calabash. It is easy to integrate into CI by setting an environment variable and supports features like implicit waits and masking regions.
Better Page Object Handling with Loadable Component PatternSQALab
This document discusses the Loadable Component pattern for improving page object handling in Selenium tests. It begins with an introduction to page object patterns and common failures. It then covers topics like wait strategies in Selenium, the LoadableComponent and SlowLoadableComponent patterns, and implementing these patterns on an existing project. Examples are provided in Java of how to update base page classes and page object classes to use these patterns. Common failures like brittle tests are also discussed.
This document provides tips and tricks for using Selenium. It discusses using headless browsers like PhantomJS to speed up test execution. It also covers visual testing, using a proxy server to manipulate requests, and workarounds for actions like uploading files and downloading secure files without the browser dialog. Additional resources are provided for getting started with Selenium Grid and for subscribing to weekly Selenium tips.
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.
In this session you will learn:
FEATURES OF SELENIUM
COMPONETS OF SELENIUM
SELENIUM IDE
SELENIUM RC
SELENIUM Web Driver
SELENIUM GRID
SELENESE
For more information: https://www.mindsmapped.com/courses/quality-assurance/qa-software-testing-training-for-beginners/
This document discusses how to use a protractor to measure, draw, and calculate angles. It explains that a protractor should be lined up with the "upside down T" at the vertex of the angle being measured. Angles are read on the protractor starting from 0 degrees and using the inner numbers up to 30 degrees, then switching to the outer 1 degree markings. Calculating angles on a straight line is also covered. The overall objectives are to use a protractor to measure and draw acute and obtuse angles to the nearest degree and to calculate angles on a straight line.
The document discusses best practices, tips, performance, and debugging strategies for Protractor, an end-to-end testing framework for AngularJS applications. It addresses common problems like unknown window sizes, fragile tests due to small HTML changes, and long test run times. Solutions include setting the window size before tests, using page objects to abstract the HTML, enabling sharding to run tests in parallel, and integrating with IDEs for debugging. The tips are from Sergey Bolshchikov, a developer advocate and creator of resources for front-end developers.
This document discusses Protractor, an end-to-end testing framework for AngularJS applications. It explains what Protractor is, why it is needed for testing AngularJS apps, and how to install and use it. Key points include: Protractor combines Selenium to test AngularJS apps; it allows testing of app functionality rather than just unit tests; installation involves Node.js, Selenium WebDriver, and setting up a configuration file and spec file to define tests. An example test is provided to demonstrate entering text into a field and validating the output.
This document discusses automating testing for different platforms using JavaScript. It covers automating tests for websites using WebDriverIO, Mocha and Chai, mobile web and apps using Appium, and desktop apps built with Electron using Spectron. It provides overviews of the tools and frameworks, how they work, and considerations for testing different platforms and environments. The goal is to demonstrate how to set up an automation testing suite across web, mobile and desktop using open source JavaScript tools.
This document provides an overview and introduction to a Selenium automation testing course offered by IT Professional Academy. The summary includes:
- IT Professional Academy is a team of highly skilled trainers that provide both classroom and online training in areas like software testing, big data, Linux, and more. They provide job assistance services.
- The Selenium automation testing course covers topics like introduction to automation testing, Selenium components, Selenium IDE, WebDriver, validations, assertions, framework development, and more.
- The document demonstrates using Selenium IDE for recording and playing back tests on a demo site. It also provides examples of locating elements, storing values, verifying tests, and converting recorded tests to Java code using WebDriver.
Protractor is an AngularJS end-to-end testing framework built on WebDriverJS and Selenium. It allows automating tests that involve interacting with a browser and verifies that Angular applications work as expected. Protractor uses promises and asynchronous control flow, requiring tests to be written differently than other frameworks. It can run tests across multiple browsers simultaneously using Selenium Grid and supports generating test reports.
This knolx is all about the new features which are introduced in selenium 4.
The differences between selenium3&4,
And how it is better than its competitor Cypress.
Protractor end-to-end testing framework for angular jscodeandyou forums
Protractor is an end-to-end test framework for AngularJS applications that runs tests against a real browser, interacting with the application as a user would. It is built on WebDriverJS and uses native events and browser-specific drivers to test asynchronous behavior and support for AngularJS. Protractor tests can run in any browser and interact directly with page elements rather than testing JavaScript code.
Better Page Object Handling with Loadable Component PatternSargis Sargsyan
This document discusses using the Loadable Component pattern to improve page object handling in Selenium tests. It introduces the LoadableComponent and SlowLoadableComponent classes, which are designed to make page objects less brittle by ensuring pages are fully loaded before interacting with elements. This approach reduces boilerplate code and makes tests easier to maintain. The document also covers common failures like brittle tests, not building a framework properly, and not using explicit waits, as well as tips for continuous integration of automated tests.
Tech talks (Automation on Selenium Web Driver. How to begin & implement)Taras Lytvyn
This short presentation shows you all the steps you need to pass for having all neccessary skill for Web Automation on Selenium Webdriver. Also short review about Selenium versions migrations and implementation for two types of QA teems:
1-st is only manual QA teem that want to automate, and second is teem that automates on Selenium 1.0 and want to migrate with Web Driver. Short step by step tutorial will shows you what exactly you need to learn and read and from what resources just to have enough skills for automation. The last slides give great example what advanced features could be automated with selenium webdriver so for dispelling the ideas that not the all things could be automated.
The document provides an overview of a 1-month Selenium training course. The course will cover the basics of Selenium, including an introduction to test automation, Selenium components, supported browsers, and commands. It will teach Java basics and how to use Selenium IDE, Selenium RC, and developing tests in Java using frameworks like JUnit and TestNG. Students will learn how to write and run Selenium test scripts and cases to automate testing of web applications. The course will be delivered either in-class or online.
Testing Code.org's Interactive CS CurriculumBrian Jordan
Brian Jordan discusses testing challenges for Code.org's interactive computer science curriculum. They developed unit tests using Ruby on Rails, Blockly, and JavaScript to test the dashboard, Blockly apps, and Blockly core. They used BrowserStack for cross-browser testing and jQuery Simulate for drag-and-drop interaction testing. Cucumber tests were written with Selenium to test locally and remotely. Taking a library approach and culture of testing saves time in test writing and development.
Selenium WebDriver - Test automation for web applicationsTSundberg
The document discusses Selenium WebDriver, a tool for automating tests of web applications. It provides an introduction to testing web applications, including manual vs automated testing. Selenium WebDriver is introduced as a browser automation tool that supports many programming languages like Java. Page object design pattern is recommended for organizing Selenium tests, with each page getting its own class. The document emphasizes testing at different levels, from unit to integration to end-to-end tests, using the testing pyramid as a guide.
selenium training | selenium course | selenium video tutorial | selenium for ...Nancy Thomas
Website : http://www.todaycourses.com
Introduction to Automation
What is automation testing
Advantages of Automation Testing
How to learn any automation tool
Types of Automation tools
Introduction to Selenium
What is Selenium
Use of Selenium
Features of selenium
Difference between Selenium and QTP
Selenium Components
Selenium IDE
Selenium Core
Selenium RC
Selenium Grid
Selenium 2.0 – Web Driver
Selenium IDE
Selenium Overview
Selenium IDE Introduction
Downloading and Installing Selenium IDE
Recording and Running a Simple Test
Selenium IDE – Features
Installing Useful Tools for Writing Tests
Selenium Concepts
Selenium Commands
Verifying Page Elements – Assertions and Verifications
Wait Commands
Object Identification
Element Locators
Regular Expression patterns
Selenium Test Runner
Using Regular Expressions in Selenium IDE
Using Java Script functions in Selenium IDE
Creating Selenium Test Suites
How to run the recorded script against other browsers
Why companies are not using recording tools
Limitations of Selenium IDE
selenium training, selenium tutorial, selenium video tutorial, selenium for beginners, junit selenium tutorial, java selenium training, selenium webdriver tutorial, selenium grid training, selenium testng junit tutorial, selenium webdriver, automated testing tutorial, online selenium training, learn selenium, selenium test cases, learn selenium webdriver, xpath and css selectors, jenkins and selenium, selenium junit framework, selenium testing, selenium server, online selenium software testing
Intro to Service Worker API and its use casessatejsahu
The document introduces service workers, which are scripts that run in the background to cache assets and handle requests to provide functionality even when a network is unavailable; it discusses key service worker concepts like promises, registration, installation and activation; and it provides examples of how service workers can be used to improve performance and the offline experience on a web page.
This document provides an overview of the Selenium architecture for automated web testing. It discusses considerations for what to test, popular Selenium tools, core requirements like browsing URLs and validating results, and pragmatic requirements such as language choices and scheduled execution. Javascript limitations like the same origin policy and DOM access are also covered, along with approaches to address these limitations like using a proxy or privileged mode.
Rajdeep Varma will discuss the need for automated visual regression testing for mobile apps to catch UI changes between versions. He developed a tool called Nakal that allows adding visual assertions to existing tests without new frameworks. Nakal uses ADB and AppleScript to capture screenshots, ImageMagick for comparison, and can work with Appium or Calabash. It is easy to integrate into CI by setting an environment variable and supports features like implicit waits and masking regions.
Better Page Object Handling with Loadable Component PatternSQALab
This document discusses the Loadable Component pattern for improving page object handling in Selenium tests. It begins with an introduction to page object patterns and common failures. It then covers topics like wait strategies in Selenium, the LoadableComponent and SlowLoadableComponent patterns, and implementing these patterns on an existing project. Examples are provided in Java of how to update base page classes and page object classes to use these patterns. Common failures like brittle tests are also discussed.
This document provides tips and tricks for using Selenium. It discusses using headless browsers like PhantomJS to speed up test execution. It also covers visual testing, using a proxy server to manipulate requests, and workarounds for actions like uploading files and downloading secure files without the browser dialog. Additional resources are provided for getting started with Selenium Grid and for subscribing to weekly Selenium tips.
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.
In this session you will learn:
FEATURES OF SELENIUM
COMPONETS OF SELENIUM
SELENIUM IDE
SELENIUM RC
SELENIUM Web Driver
SELENIUM GRID
SELENESE
For more information: https://www.mindsmapped.com/courses/quality-assurance/qa-software-testing-training-for-beginners/
This document discusses how to use a protractor to measure, draw, and calculate angles. It explains that a protractor should be lined up with the "upside down T" at the vertex of the angle being measured. Angles are read on the protractor starting from 0 degrees and using the inner numbers up to 30 degrees, then switching to the outer 1 degree markings. Calculating angles on a straight line is also covered. The overall objectives are to use a protractor to measure and draw acute and obtuse angles to the nearest degree and to calculate angles on a straight line.
The document discusses best practices, tips, performance, and debugging strategies for Protractor, an end-to-end testing framework for AngularJS applications. It addresses common problems like unknown window sizes, fragile tests due to small HTML changes, and long test run times. Solutions include setting the window size before tests, using page objects to abstract the HTML, enabling sharding to run tests in parallel, and integrating with IDEs for debugging. The tips are from Sergey Bolshchikov, a developer advocate and creator of resources for front-end developers.
Bring stories to life using BDD (Behaviour driven development)Srikanth Nutigattu
This document discusses adopting a user-centric approach to software development using Behavior-Driven Development (BDD). It notes that traditional software approaches involved separate business analysis, requirements gathering, development, and testing phases, whereas BDD aims to satisfy customers through early delivery of valuable software with business and development teams working together daily. BDD captures user stories and scenarios to specify desired software behavior and enhances collaboration between roles. Choosing a BDD framework depends on the application stack to facilitate shared tooling and skills across teams.
This document provides information on setting up and running tests with Protractor. It discusses installing Node.js, Protractor and other dependencies. It also includes samples of Protractor configuration files for running tests on different browsers, in parallel and headless mode. References are provided at the end for Protractor tutorials, documentation and code samples.
Protractor is an end-to-end testing framework for AngularJS applications that combines tools like NodeJS, Selenium, Jasmine, and Mocha. It has customizations from Selenium to easily create tests for AngularJS apps and speeds up testing by reducing waits. Protractor allows organizing tests with Jasmine for both unit and functional testing and runs tests on real browsers. Setting up Protractor requires installing Node.js, Protractor, and Selenium Webdriver along with creating a spec file for tests and a conf file for configuration.
This document provides an overview of automated testing in AngularJS, including unit testing, end-to-end testing, and acceptance testing using tools like Protractor and CucumberJS. It discusses the benefits of automated testing such as enabling safe refactoring and reducing bugs. It then demonstrates how to set up testing frameworks like Protractor and Karma and write tests using page objects and test-driven development. The document also covers acceptance testing with CucumberJS by writing step definitions and features in Gherkin and linking them to tests.
Présentation et retour d'expérieuce sur node.js + AngularJS au journal Le Monde, novembre 2014.
Présenté dans le cadre d'un « apéro techno » chez Omnilog.
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015Codemotion
In this talk, I would like to speak about best practices for writing e2e tests with Protractor. The styleguide that I will introduce, is a joint initiative of mine and @andresdom from Google. Some of the subjects that will be covered include why e2e testing is important, what e2e tests should cover, naming conventions, selector strategies, page objects, helper objects and performance considerations. That and lots of smileys obviously, because we wanted to smiley all the things ...right? ¯\_(ツ)_/¯
We're now living the golden age of JavaScript. An increasingly number of people are seeing it as a complete language. Therefore, agile development practices are now being adapted and applied to JavaScript code production. However, there has been a lack of support tools in the JS ecosystem, compared to what can be found on other platforms.
A year ago, native BDD solutions similar to Cucumber were almost inexistant. Yet the need for it was manifest. It didn't take me long before I proposed and started hacking on the port of our favourite cucurbitaceae.
Cucumber.js is a native JavaScript implementation of Cucumber. It is a strict port that can run on any JavaScript environment. It runs on Node.js as well as within any browsers, making it virtually serviceable against everything producing JavaScript and HTML (Node.js, Ruby on Rails, PHP, .Net, etc.).
This is an introduction to the young Cucumber.js. After briefly exposing the history and goals of the project, I'll demonstrate how to write features, step definitions, hooks, support code, how to invoke it from both Node.js and browser environments.
Presented at:
- CukeUp! 2012: http://skillsmatter.com/podcast/agile-testing/cucumber-js-cuke-up-your-javascript
- LNUG June 2012: http://lnug.org/
Better End-to-End Testing with Page Objects Model using ProtractorKasun Kodagoda
This presentation focuses on implementing Page Objects Model using Protractor for AngularJS apps for more maintainable, reusable and flexible end-to-end testing for your project. The presentations was done at 99X Technology as a Tech Talk session done by Team Finale.
The LAZY Developer's Guide to BDD (with Cucumber)Tze Yang Ng
This document provides a summary of behavior-driven development (BDD) and how to implement it using Cucumber. It discusses BDD principles like focusing on behaviors, delivering stakeholder value, and ensuring enough is done without overengineering. Cucumber is introduced as a tool that allows non-technical stakeholders to express application features in plain text for documentation, examples, and testing. The document outlines setting up Cucumber with features files, step definitions, and integrating it with a target application using a driver like Selenium.
Typescript is a typed superset of JavaScript that adds additional features like classes, interfaces, and modules to provide type safety and help manage large applications. It allows for type annotations, classes, interfaces, generics and other features to support object-oriented and modular programming. Typescript code compiles to plain JavaScript and is an open source project maintained by Microsoft.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It adds static typing and structuring mechanisms like classes, interfaces, and modules to JavaScript to help catch errors and provide better documentation for large scale JavaScript application development. Some key features of TypeScript include optional static types for functions and variables, classes with inheritance and static methods, interfaces, modules, generics, and type inference.
The document discusses end-to-end testing of AngularJS applications using Protractor. It provides an overview of how Protractor works, basic configurations, creating tests, the WebDriver control flow, and a style guide for writing Protractor tests. Some best practices covered include using Page Objects to encapsulate page elements, making tests independent, and navigating to pages before each test. The presentation also addresses testing non-AngularJS apps and takes questions.
Automated Testing with Cucumber, PhantomJS and SeleniumDev9Com
The document discusses Behavior Driven Development (BDD) using Cucumber, Selenium, and PhantomJS. Cucumber uses a natural language syntax called Gherkin to write automated acceptance tests. Selenium is used to automate interactions with a web browser, while PhantomJS allows running those tests headlessly on a CI server without requiring a graphical browser. The example project demonstrates how Cucumber features written by PMs/BAs can be linked to Selenium step definitions to test a web application.
Apresentação de Padrões de Design para Aplicativos Móveis.Hewerson Freitas
Palestra baseada no Livro Padrões de Design para Padrões de Design para Aplicativos Móveis.
NEIL, THEREZA. Padrões de design para aplicativos móveis. São
paulo: Novatec Editora; Sebastopol, CA: O'Reilly,2012.
The document discusses setting up and running end-to-end tests with Protractor. It includes instructions on installing Protractor and related packages, configuring the test framework, writing tests using Mocha and Chai, and tips for running specific tests and managing test data across examples. Code snippets show examples of defining tests to validate page content and links on page load.
Quando desenvolvemos uma aplicação, é importante executarmos testes para garantir o funcionamento dos diferentes módulos da aplicação. Este slide foi apresentado na trilha Javascript do TDC 2016 em São Paulo.
QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...QAFest
Я хотел бы пролить свет на такой замечательный фреймворк как ProtractorJS, разработанный в недрах Google для автоматизации тестирования AngularJS 1.x/2.x, но он подходит и для не-Angular приложений. Я расскажу основные преимущества, особенности. Примеры кода и подходов на TypeScript 2.0, на котором сейчас написан ProtractorJS.
Selenium 1000 Java: Mastering Web Automation
Dive into the world of web automation with "Selenium 1000 Java," your ultimate guide to mastering Selenium WebDriver using Java. This comprehensive resource is designed for both beginners and experienced testers, offering:
In-Depth Tutorials: Step-by-step instructions to set up and configure Selenium with Java.
Real-World Examples: Practical examples and projects to apply your knowledge.
Advanced Techniques: Explore advanced topics like handling dynamic web elements, integrating with CI/CD pipelines, and cross-browser testing.
Best Practices: Learn industry best practices for writing efficient and maintainable test scripts.
Troubleshooting Tips: Solutions to common issues and challenges faced during automation.
Whether you're aiming to enhance your testing skills or automate complex web applications, "Selenium 1000 Java" equips you with the tools and knowledge to succeed.
Feel free to customize this description further to suit your specific needs!
Selenium 1000 Java: Mastering Web Automation
Dive into the world of web automation with "Selenium 1000 Java," your ultimate guide to mastering Selenium WebDriver using Java. This comprehensive resource is designed for both beginners and experienced testers, offering:
In-Depth Tutorials: Step-by-step instructions to set up and configure Selenium with Java.
Real-World Examples: Practical examples and projects to apply your knowledge.
Advanced Techniques: Explore advanced topics like handling dynamic web elements, integrating with CI/CD pipelines, and cross-browser testing.
Best Practices: Learn industry best practices for writing efficient and maintainable test scripts.
Troubleshooting Tips: Solutions to common issues and challenges faced during automation.
Whether you're aiming to enhance your testing skills or automate complex web applications, "Selenium 1000 Java" equips you with the tools and knowledge to succeed.
Feel free to customize this description further to suit your specific needs!
Introduction to React-Native
- Difference between React & ReactNative
- Why one should use ReactNative?
- Basic Components
- Life Cycle of Component
- Environment Setup
Automation Testing using Selenium WebdriverPankaj Biswas
This will help you to understand about automation testing and when to do automation on your application using selenium. How selenium works, how to find web elements and what operations we can perform on the web elements to do automation.
This document provides an overview of JavaScript including its history, key features, and comparisons to other languages. It also discusses important JavaScript concepts like objects, functions, events, and libraries like jQuery. Key topics covered include the window, document, location, and history objects, arrays, cookies, closures, inheritance, callbacks, and popular JavaScript libraries and frameworks.
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneDeepu S Nath
Introduction and Comparison of polpular JS Frameworks Knockout, Ember, Angular and Backbone. The presentation descrobes How and when to select each framework.
1. The document discusses several popular JavaScript frameworks including AngularJS, Node.js, Agility.js, and Backbone.js. It provides overviews of each framework and their architectures.
2. AngularJS is an open-source framework maintained by Google that assists with single-page applications. Node.js is a platform for scalable server-side applications. Agility.js is a lightweight MVC library, and Backbone.js helps organize code for single-page apps.
3. Each framework has advantages like reusability, testability and being lightweight, though some have disadvantages like learning curves or added complexity. The document provides examples of applications that use each framework.
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.
Volodymyr Zdvizhkov is a senior automation engineer who has experience with several UI testing frameworks including Selenium IDE, Selenium WebDriver, Selenium Grid, Selenide, and Selenoid. The document discusses the features of these frameworks and provides tips for writing effective automated tests such as using page object models and soft assertions. It emphasizes that Selenide allows writing concise, expressive, and stable UI tests in Java through its fluent API and automatic screenshot capturing on failures.
This document summarizes and compares four popular JavaScript frameworks: Backbone.js, AngularJS, Ember.js, and Knockout.js. It covers key areas like how easy it is to get started with a "Hello World" example, dependencies, data binding capabilities, routing support, how views are defined, testing support, data handling, documentation/community support, and third party integration capabilities.
This document provides an overview of the MEAN stack and demonstrates how to build a sample application with it. It begins with defining each component of the MEAN stack: MongoDB as the database, Express as the web application framework, AngularJS for the frontend framework, and Node.js as the runtime environment. It then demonstrates setting up a basic Express app, integrating authentication with Passport, and interacting with MongoDB using Mongoose. The document also discusses key concepts like asynchronous I/O in Node.js and model-view-controller patterns in AngularJS. Overall, it serves as a high-level introduction to the technologies that make up the MEAN stack.
JavaScript and jQuery for SharePoint DevelopersRob Windsor
If you’re a SharePoint developer you either are doing JavaScript development now or you will be doing JavaScript development in the near future. There has been an increased focus on client-side development with each of the recent versions of SharePoint and now, with the introduction of the SharePoint 2013 App model, understanding client-side development is a must. In this session, we`ll look at JavaScript development from a SharePoint perspective. In addition to effective use of JavaScript and jQuery in your applications, we`ll look where you can deploy JavaScript files and how to reference those files in your pages and web parts.
Web Test Automation Framework - IndicThreads ConferenceIndicThreads
This presentation discusses building a web test automation framework using open source tools including Google WebDriver. It covers understanding the current testing scenario, identifying pain points, an overview of the proposed framework including its architecture, onboarding process, and what was achieved. The framework uses a page object model and testNG reporting. It allows for structured, reusable, and multi-contributor automated testing across browsers and operating systems.
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Applitools
The document summarizes the shifting landscape of mobile test automation over the past 5 years. It discusses the major open source and proprietary frameworks for iOS and Android testing, including Appium, Espresso, XCUITest, EarlGrey, Detox, and others. It provides an overview of each framework's capabilities and adoption. It also envisions where mobile automation may be headed in the next 5 years, such as supporting new form factors, platforms, and types of testing beyond functional testing.
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...Atirek Gupta
A workshop on understanding how Selenium, Selenium/RC, Webdriver and browser works. Learning what is same origin policy with example. Hands on locating element using CSS and Xpath. Interacting with html with java script Finally developing a page object framework using java, webdriver from scratch.
Selenium is an open source tool for automating web application testing across browsers. It supports recording and playback of test cases and has several components including Selenium IDE, Selenium Remote Control, WebDriver, and Selenium Grid. WebDriver is the successor to Remote Control and allows controlling the browser at the OS level. Tests can be written in various programming languages and are used mainly for regression testing.
Basics of Selenium IDE,Core, Remote Controlusha kannappan
Selenium is an open source tool used for automating web application testing. It originated from a project at ThoughtWorks and has several contributors. Selenium IDE allows recording and playing back tests within Firefox, Selenium Core is used for standalone scripting, and Selenium Remote Control allows controlling browsers remotely from a server. The document discusses the different variants of Selenium and provides installation instructions for Selenium IDE and Selenium Remote Control. It also covers general concepts of functional and compatibility testing.
This document discusses using HTML5 Canvas with D3.js for data visualization. It provides an overview of Canvas, noting that it is lower level but more performant than SVG for drawing many objects on a small surface like data visualizations. It then lists 3 ways D3.js can be used with Canvas, including using D3.js for data transformation and repainting Canvas on data changes or animations. The document provides examples of drawing, data binding, axes, transitions, interactivity, and drag and drop on Canvas using D3.js and links to additional Canvas tutorials.
Data visualization is the presentation of data in a graphical format. Visuals are processed faster by the brain and help reveal patterns, trends, and correlations in the data. D3 is a popular JavaScript library for visualizing data using web standards like SVG, Canvas, and HTML. It allows powerful data-driven transformations of documents by binding data to elements. Scales map abstract data dimensions to visual representations.
The document discusses various cryptographic concepts such as MACs, hashes, key derivation functions, and authenticated encryption. It describes techniques for constructing secure MACs like ECBC-MAC and PMAC, and explains attacks like length-extension attacks and collision attacks. The document also covers standards for authenticated encryption like GCM, CCM, and EAX that combine encryption and message authentication codes.
Cryptography is used in many applications including data encryption, digital communications, digital signatures, and content protection. It relies on principles of number theory and concepts like primes and one-way functions. The one-time pad provides perfect secrecy but requires a truly random key of the same length as the message. Stream ciphers expand a small key into a pseudorandom stream using a pseudorandom generator, allowing encryption and decryption at high speeds though perfect secrecy is not achieved. Semantic security provides protection against chosen plaintext attacks by ensuring an adversary cannot determine which of two messages was encrypted.
Academy PRO: Advanced React Ecosystem. MobXBinary Studio
MobX is a library that uses functional reactive programming to simplify state management in applications. It uses decorators like @observable, @computed, and @action to transparently observe state changes and automatically update dependent views. MobX ensures state and views remain consistent by deriving all values and automatically running reactions when the source data changes. MobX also includes tools for debugging observable state and integrating with React applications.
The document discusses Docker and container orchestration tools. It begins with an agenda on multi-machine Docker swarms and alternatives like Kubernetes and Mesos. It then covers setting up a multi-node Docker swarm across two virtual machines, deploying an application to the swarm, and accessing the clustered application. Moby Project is introduced as the new name for Docker's open source components to distinguish them from commercial Docker products. Tools like Kitematic, Docker's Universal Control Plane, and Panamax are also briefly mentioned.
The document provides an overview of containerization basics using Docker. It defines key Docker terminology like images, containers, daemon, client, and Docker Hub. It explains how to run a static website in a container, view running containers and images, build and push custom images to a private registry. It also covers container logging and setting up a private Docker registry using the registry image.
This document provides an agenda for a Docker Academy PRO course. It introduces containers and containerization basics. It discusses how Docker works and the evolution of IT that led to its development. It compares containers to virtual machines and the advantages of containers. Key Docker concepts are explained like images, the Docker daemon, and official Docker images. The document concludes by asking if there are any questions.
Binary Studio Academy 2017: JS team project - OrderlyBinary Studio
Database and organizing solution made by students of Binary Studio Academy 2017.
This is our take on a database platform which seeks to organize information and improve productivity, all wrapped up in a sleek and high-performance package.
ReactJS, Redux, MongoDB, NodeJS, Socket.io, JSON, Web Token, SCSS, Semantic
Binary Studio Academy 2017: .NET team project - UnicornBinary Studio
A web app for matching up professionals and customers to sell and trade services - the best parts of Craiglist and Uber sharing economy features, combined!
.NET 4.7, ASP.NET Web API, MS SQL Server, Entity Framework, IIS, SignalR, TypeScript, Angular 4.0, SASS.
Academy PRO: React native - miscellaneousBinary Studio
This document discusses various topics in React Native including animations, notifications, storage, and push notifications. It provides code examples for using pan responders and gestures to handle touches, creating websockets using Socket.io or native code, different types of animations like timing and spring, and accessing async storage on Android and iOS. It also covers using AppState to detect app state changes and sending local and scheduled push notifications.
This document provides an overview of React Native including building initial scenes, navigation, animations, performance optimization, building APKs, and publishing to app stores. It discusses key aspects like the main UI thread frame rate, tools for profiling performance, avoiding performance killers like console logs, and using the Animated API. It also covers building a release key, generating a signed APK, and integrating third-party libraries like Expo and CodePush.
This document provides an overview of navigation options and best practices for React Native applications. It discusses the Navigator API, common navigation libraries like React Navigation and React Native Router Flux, and how to structure navigation within a React/Redux project using components, actions, and reducers. It also covers animations, drawer navigation, and common caveats to consider with lists and preserving internal state.
Academy PRO: React native - building first scenesBinary Studio
This document provides an overview of building initial scenes in React Native, including setting up components, styles, state, props, file structure, and networking. It discusses common React Native components like View, Text, Image, ScrollView, ListView, and interaction components. It also covers more advanced topics such as maps, dates pickers, geolocation, cameras, and working with native iOS and Android modules.
Academy PRO: React Native - introductionBinary Studio
The document provides an overview of React Native, including its history and timeline, components, styles, performance, debugging tools, and how to set up a React Native application. Some key points covered include:
- React Native allows building native mobile apps using JavaScript and React by rendering UI components to native platform views.
- It uses the same fundamental UI building blocks as regular iOS and Android apps like Views, Text, Image, ScrollView etc. but they are implemented using JavaScript and React.
- Styles are defined using JavaScript objects with the StyleSheet.create method, allowing flexible styling similar to CSS but optimized for mobile.
- Under the hood, React Native combines the fundamental native platform APIs with
Academy PRO: Push notifications. Denis BeketskyBinary Studio
Push notifications allow web applications to send messages to users even when the app is not active. The document discusses the service worker API which is required to implement push notifications and receive messages asynchronously. It also covers how to use Firebase Cloud Messaging to send push notifications from a server to specific devices, topics, or multiple targets at once.
The document discusses Docker and container orchestration tools. It begins with an agenda on multi-machine Docker swarms and alternatives like Kubernetes and Mesos. It then provides step-by-step instructions for setting up a multi-node Docker swarm cluster on VirtualBox machines and deploying an application. The document also discusses the Moby Project for separating Docker's open source and commercial components, as well as other Docker tools for developers.
This document provides a summary of key concepts in Docker orchestration and networking:
- It describes the default Docker networks (bridge, none, host) and how to create custom networks for containers to communicate.
- Docker Compose is introduced as a tool to define and run multi-container applications using a compose file to configure services.
- Docker Swarm mode allows deploying containers across multiple Docker hosts as a cluster, with services that can be scaled out and updated on the swarm. Managers and workers are node types in a swarm.
- Key features for swarm deployments using Docker Compose files are discussed, including resources, update configurations, and restart policies.
This document provides an overview of containerization basics using Docker. It defines key Docker terminology like images, containers, daemons, clients, and Docker Hub. It explains how to run a static website in a container, view running containers and container logs. It also summarizes common Dockerfile commands and how to build, push and pull images from a private registry.
This document provides an agenda for a Docker Academy PRO course. It introduces Docker and containerization basics, including what containers are, how they work, and the challenges they solve compared to traditional virtual machines. It discusses Docker specifically, how it helps build and deploy applications, and how the Docker ecosystem works with components like Containerd and runC. Overall it serves as an introduction and overview to Docker and containerization concepts.
Plooma is a writing platform to plan, write, and shape books your wayPlooma
Plooma is your all in one writing companion, designed to support authors at every twist and turn of the book creation journey. Whether you're sketching out your story's blueprint, breathing life into characters, or crafting chapters, Plooma provides a seamless space to organize all your ideas and materials without the overwhelm. Its intuitive interface makes building rich narratives and immersive worlds feel effortless.
Packed with powerful story and character organization tools, Plooma lets you track character development and manage world building details with ease. When it’s time to write, the distraction-free mode offers a clean, minimal environment to help you dive deep and write consistently. Plus, built-in editing tools catch grammar slips and style quirks in real-time, polishing your story so you don’t have to juggle multiple apps.
What really sets Plooma apart is its smart AI assistant - analyzing chapters for continuity, helping you generate character portraits, and flagging inconsistencies to keep your story tight and cohesive. This clever support saves you time and builds confidence, especially during those complex, detail packed projects.
Getting started is simple: outline your story’s structure and key characters with Plooma’s user-friendly planning tools, then write your chapters in the focused editor, using analytics to shape your words. Throughout your journey, Plooma’s AI offers helpful feedback and suggestions, guiding you toward a polished, well-crafted book ready to share with the world.
With Plooma by your side, you get a powerful toolkit that simplifies the creative process, boosts your productivity, and elevates your writing - making the path from idea to finished book smoother, more fun, and totally doable.
Get Started here: https://www.plooma.ink/
Providing Better Biodiversity Through Better DataSafe Software
This session explores how FME is transforming data workflows at Ireland’s National Biodiversity Data Centre (NBDC) by eliminating manual data manipulation, incorporating machine learning, and enhancing overall efficiency. Attendees will gain insight into how NBDC is using FME to document and understand internal processes, make decision-making fully transparent, and shine a light on underlying code to improve clarity and reduce silent failures.
The presentation will also outline NBDC’s future plans for FME, including empowering staff to access and query data independently, without relying on external consultants. It will also showcase ambitions to connect to new data sources, unlock the full potential of its valuable datasets, create living atlases, and place its valuable data directly into the hands of decision-makers across Ireland—ensuring that biodiversity is not only protected but actively enhanced.
In a tight labor market and tighter economy, PMOs and resource managers must ensure that every team member is focused on the highest-value work. This session explores how AI reshapes resource planning and empowers organizations to forecast capacity, prevent burnout, and balance workloads more effectively, even with shrinking teams.
Insurance policy management software transforms complex, manual insurance operations into streamlined, efficient digital workflows, enhancing productivity, accuracy, customer service, and profitability for insurers. Visit https://www.damcogroup.com/insurance/policy-management-software for more details!
Rebuilding Cadabra Studio: AI as Our Core FoundationCadabra Studio
Cadabra Studio set out to reconstruct its core processes, driven entirely by AI, across all functions of its software development lifecycle. This journey resulted in remarkable efficiency improvements of 40–80% and reshaped the way teams collaborate. This presentation shares our challenges and lessons learned in becoming an AI-native firm, including overcoming internal resistance and achieving significant project delivery gains. Discover our strategic approach and transformative recommendations to integrate AI not just as a feature, but as a fundamental element of your operational structure. What changes will AI bring to your company?
Best Inbound Call Tracking Software for Small BusinessesTheTelephony
The best inbound call tracking software for small businesses offers features like call recording, real-time analytics, lead attribution, and CRM integration. It helps track marketing campaign performance, improve customer service, and manage leads efficiently. Look for solutions with user-friendly dashboards, customizable reporting, and scalable pricing plans tailored for small teams. Choosing the right tool can significantly enhance communication and boost overall business growth.
Join the Denver Marketo User Group, Captello and Integrate as we dive into the best practices, tools, and strategies for maintaining robust, high-performing databases. From managing vendors and automating orchestrations to enriching data for better insights, this session will unpack the key elements that keep your data ecosystem running smoothly—and smartly.
We will hear from Steve Armenti, Twelfth, and Aaron Karpaty, Captello, and Frannie Danzinger, Integrate.
Micro-Metrics Every Performance Engineer Should Validate Before Sign-OffTier1 app
When it comes to performance testing, most engineers instinctively gravitate toward the big-picture indicators—response time, memory usage, throughput. But what about the smaller, more subtle indicators that quietly shape your application’s performance and stability? we explored the hidden layer of performance diagnostics that too often gets overlooked: micro-metrics. These small but mighty data points can reveal early signs of trouble long before they manifest as outages or degradation in production.
From garbage collection behavior and object creation rates to thread state transitions and blocked thread patterns, we unpacked the critical micro-metrics every performance engineer should assess before giving the green light to any release.
This session went beyond the basics, offering hands-on demonstrations and JVM-level diagnostics that help identify performance blind spots traditional tests tend to miss. We showed how early detection of these subtle anomalies can drastically reduce post-deployment issues and production firefighting.
Whether you're a performance testing veteran or new to JVM tuning, this session helped shift your validation strategies left—empowering you to detect and resolve risks earlier in the lifecycle.
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...WSO2
Enterprises must deliver intelligent, cloud native applications quickly—without compromising governance or scalability. This session explores how an internal developer platform increases productivity via AI for code and accelerates AI-native app delivery via code for AI. Learn practical techniques for embedding AI in the software lifecycle, automating governance with AI agents, and applying a cell-based architecture for modularity and scalability. Real-world examples and proven patterns will illustrate how to simplify delivery, enhance developer productivity, and drive measurable outcomes.
Learn more: https://wso2.com/choreo
Key AI Technologies Used by Indian Artificial Intelligence CompaniesMypcot Infotech
Indian tech firms are rapidly adopting advanced tools like machine learning, natural language processing, and computer vision to drive innovation. These key AI technologies enable smarter automation, data analysis, and decision-making. Leading developments are shaping the future of digital transformation among top artificial intelligence companies in India.
For more information please visit here https://www.mypcot.com/artificial-intelligence
Eliminate the complexities of Event-Driven Architecture with Domain-Driven De...SheenBrisals
The distributed nature of modern applications and their architectures brings a great level of complexity to engineering teams. Though API contracts, asynchronous communication patterns, and event-driven architecture offer assistance, not all enterprise teams fully utilize them. While adopting cloud and modern technologies, teams are often hurried to produce outcomes without spending time in upfront thinking. This leads to building tangled applications and distributed monoliths. For those organizations, it is hard to recover from such costly mistakes.
In this talk, Sheen will explain how enterprises should decompose by starting at the organizational level, applying Domain-Driven Design, and distilling to a level where teams can operate within a boundary, ownership, and autonomy. He will provide organizational, team, and design patterns and practices to make the best use of event-driven architecture by understanding the types of events, event structure, and design choices to keep the domain model pure by guarding against corruption and complexity.
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...Insurance Tech Services
A modern Policy Administration System streamlines workflows and integrates with core systems to boost speed, accuracy, and customer satisfaction across the policy lifecycle. Visit https://www.damcogroup.com/insurance/policy-administration-systems for more details!
14 Years of Developing nCine - An Open Source 2D Game FrameworkAngelo Theodorou
A 14-year journey developing nCine, an open-source 2D game framework.
This talk covers its origins, the challenges of staying motivated over the long term, and the hurdles of open-sourcing a personal project while working in the game industry.
Along the way, it’s packed with juicy technical pills to whet the appetite of the most curious developers.
Marketo & Dynamics can be Most Excellent to Each Other – The SequelBradBedford3
So you’ve built trust in your Marketo Engage-Dynamics integration—excellent. But now what?
This sequel picks up where our last adventure left off, offering a step-by-step guide to move from stable sync to strategic power moves. We’ll share real-world project examples that empower sales and marketing to work smarter and stay aligned.
If you’re ready to go beyond the basics and do truly most excellent stuff, this session is your guide.
A brief introduction to OpenTelemetry, with a practical example of auto-instrumenting a Java web application with the Grafana stack (Loki, Grafana, Tempo, and Mimir).
Agentic Techniques in Retrieval-Augmented Generation with Azure AI SearchMaxim Salnikov
Discover how Agentic Retrieval in Azure AI Search takes Retrieval-Augmented Generation (RAG) to the next level by intelligently breaking down complex queries, leveraging full conversation history, and executing parallel searches through a new LLM-powered query planner. This session introduces a cutting-edge approach that delivers significantly more accurate, relevant, and grounded answers—unlocking new capabilities for building smarter, more responsive generative AI applications.
Traditional Retrieval-Augmented Generation (RAG) pipelines work well for simple queries—but when users ask complex, multi-part questions or refer to previous conversation history, they often fall short. That’s where Agentic Retrieval comes in: a game-changing advancement in Azure AI Search that brings LLM-powered reasoning directly into the retrieval layer.
This session unveils how agentic techniques elevate your RAG-based applications by introducing intelligent query planning, subquery decomposition, parallel execution, and result merging—all orchestrated by a new Knowledge Agent. You’ll learn how this approach significantly boosts relevance, groundedness, and answer quality, especially for sophisticated enterprise use cases.
Key takeaways:
- Understand the evolution from keyword and vector search to agentic query orchestration
- See how full conversation context improves retrieval accuracy
- Explore measurable improvements in answer relevance and completeness (up to 40% gains!)
- Get hands-on guidance on integrating Agentic Retrieval with Azure AI Foundry and SDKs
- Discover how to build scalable, AI-first applications powered by this new paradigm
Whether you're building intelligent copilots, enterprise Q&A bots, or AI-driven search solutions, this session will equip you with the tools and patterns to push beyond traditional RAG.
FME for Climate Data: Turning Big Data into Actionable InsightsSafe Software
Regional and local governments aim to provide essential services for stormwater management systems. However, rapid urbanization and the increasing impacts of climate change are putting growing pressure on these governments to identify stormwater needs and develop effective plans. To address these challenges, GHD developed an FME solution to process over 20 years of rainfall data from rain gauges and USGS radar datasets. This solution extracts, organizes, and analyzes Next Generation Weather Radar (NEXRAD) big data, validates it with other data sources, and produces Intensity Duration Frequency (IDF) curves and future climate projections tailored to local needs. This presentation will showcase how FME can be leveraged to manage big data and prioritize infrastructure investments.
FME for Climate Data: Turning Big Data into Actionable InsightsSafe Software
ProtractorJS for automated testing of Angular 1.x/2.x applications
1. Selenium WebDriverJS based framework for automated
testing of Angular 1.x/2.x applications
OLEKSANDR KHOTEMSKYI
https://xotabu4.github.io/website
2. Julie Ralph(Google) is one of the main contributors,
made first commits in January 2013
Created as an answer to question: ”How to make end
to end tests for AngularJS applications easier?”
Now ProtractorJS reached version 4.x, with over 1300
commits, 5700 GitHub stars, 200 contributors
4. Easier than Java
Thousands of libraries already exist for JS/NodeJS. Friendly community, tons of open
source code. Package manager already included in NodeJS
Much easier common code like JSON parsing, sending HTTP requests, and others
Duck-typing, monkey-patching
Tools are smaller, and project start is faster
Newest versions of TypeScript or ECMAScript 6 makes code much easier to write and
understand
Same language for front-end, back-end and tests means that same code execution
environment
5. JS is one of the most popular languages today, and TypeScript is as primary in
Angular 2.0
https://dou.ua/lenta/articles/language-rating-jan-2016/
JAVA C# JavaScript PHP PythonC++ Ruby
6. Developed by Microsoft team
Superset of JavaScript (includes JavaScript)
Compiles to JavaScript (ECMAScript 3, 5 or 6)
Optional types! This allows to have autocomplete in IDE
Easier refactoring of code
Has features that not yet in JavaScript specification
(@Annotations, async/await)
Compilation errors, instead of runtime errors in JavaScript
7. ProtractorJS Java Selenium WebDriver
High-level framework Low-level automation library (not framework)
Uses script languages: TypeScript or JavaScript or
both same time
Uses Java
JasimineJS (test runner and assertions),
SauceLabs/BrowserStack integration, basic reporting,
interactive debugger, command line parameters,
configuration files
Node Package Manager shows ~628 results for
‘protractor’
Maven shows ~422 results for ‘selenium webdriver’
Asynchronous, uses own control-flow, and Promises
objects
Synchronous, traditional approach
Ability to run tests in parallel Parallel running should be done with additional
libraries/frameworks
PageObjects are just objects with attributes and
functions
PageObjects require @FindBy annotations and
PageObjectFactory usage.
Plugins. Extra element locators. Mobile browsers
support (with Appium).
Mobile browsers support.
8. Test Runner
(JasmineJS,
Cucumber …)
ProtractorJS
Selenium JavaScript official
bindings
NodeJS environment
Test Runner
extensions
Selenium Standalone Server (JAVA)
Other JS modules
HTTP
JSON
ChromeDriver GeckoDriver EdgeDriver SafariDriver Other drivers
9. • Runs on NodeJS 4.x, 5.x, 6.x
• Can be used with different Test Runners (JasmineJS, CucumberJS, Mocha, others)
• Can connect to browser using WebDriver server or directly (Chrome and Firefox only)
• Supports all browsers that WebDriver does: Chrome, Firefox, Edge, Safari, Opera,
PhantomJS and mobile
• Angular 1.x and Angular 2.x ready!
10. One of the key features of ProtractorJS that it is uses same JSON WebDriver Wire protocol as other
language bindings.
This code will be executed as 3 separate JSON WebDriver Wire Protocol commands:
Synchronizing with
AngularJS application
Locating element on the
page
Sending ‘click’ action for
element
11. • Protractor uses ‘Wrapper’ pattern to add own features to standard WebDriver, WebElement, Locators objects
Browser(WebDriver instance)
+
Inherited from WebDriver
• getProcessedConfig
• forkNewDriverInstance
• restart
• useAllAngular2AppRoots
• waitForAngular
• findElement
• findElements
• isElementPresent
• addMockModule
• clearMockModules
• removeMockModule
• getRegisteredMockModules
• get
• refresh
• navigate
• setLocation
• getLocationAbsUrl
• debugger
• enterRepl
• pause
• wrapDriver
actions
touchActions
executeScript
executeAsyncScri
pt
call
wait
sleep
getPageSource
close
getCurrentUrl
getTitle
takeScreenshot
switchTo
15. JavaScript is single threaded (mostly)
To have possibility to do multiple tasks at once – JavaScript run them
all in single thread, and quickly switch between them
Async tasks are running in isolation. To make execution step by step –
callbacks are used
Callbacks are just functions, that will be called when async function is
finished. It is like – “call this when you are done”. You can pass any
arguments to them
18. Pattern to avoid callback hell, extension of callbacks
Almost every function from API returns special object – Promise
Promise is a object, that will be resolved to a value (any), or rejected if
value can’t be returned
20. Do not try to write in synchronous manner! You should
think differently when writing async code
When you asserting results – promises automatically
resolved. Do not worry to resolve promise before
assertion
To wait something on the page – use browser.wait() or
browser.sleep()
ES7 features are on their way! async/await will make
our life much easier
Be brave and good luck
#7: Мое мнение – для новых проектов использовать уже TypeScript, старые можно частично мигрировать на TypeScript, или оставить как есть. ПОКАЖИ ВИДЕО!!!
#9: Здесь важно сказать что протрактор работает по точно такому же протоколу как и Java bindings. То есть в браузере разницы видно не будет.+ javascript бингинги официальные, и поддерживаются практически наравне с джавашными и остальными.WebDriver wire protocol
#10: Protractor element EXTENDS WebDriverJS element, so all functions are accessible.
#11: Here is exampe of simple Protractor interaction with the page:First, Protractor tells the browser to run a snippet of JavaScript. This is a custom command which asks Angular to respond when the application is done with all timeouts and asynchronous requests, and ready for the test to resume.
Then, the command to find the element is sent.
Finally the command to perform a click action is sent.
Summary: Protractor uses the same API to manipulate browser as any other language bindings, so browser won’t notice any difference here
#12: Protractor element EXTENDS WebDriverJS element, so all functions are accessible.
#13: Protractor element EXTENDS WebDriverJS element, so all functions are accessible.
#14: ProtractorBy.prototype.deepCss - Find an element by css selector within the Shadow DOM.ProtractorBy.prototype.options - Find an element by ng-options expression.
#15: Тут рассказать про асинхронность и контрол флоуБольше всего у людей которые начинают переходить в мир JS взрывает мозг именно асинхронность. Попытаемся рассказать основные моменты
#19: Это вернет Promise, который станет или текущим именем пользователя, или пустой строкой, в случае если такого элемента не существует.
#23: Explicit creating and closing of browser is needed
#24: Explicit creating and closing of browser is needed