This presentation is about the following points,
1. Handle Browser,
2. Handle Edit box / Text Box,
3. Handle Link Element,
4. Handle Button,
5. Handle Text Area / Message,
6. Handle Dropdown box /List box,
7. Handle Radio Button,
8. Handle Check Box
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.
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.
Way2Automation provides class-room training,Online training and Video Tutorial. We have trained over 4000+ students for Advance Selenium training. We have industry experts who are master in their domains and help you gain the same experience in the training programme. For quality purpose we keep 2 session completely free. http://www.way2automation.com/
A set of slides that you can use to 'cheatsheet' your way to Selenium 2 WebDriver mastery. Formatted as the handouts I use on my Selenium WebDriver training.
Automation Abstraction Layers: Page Objects and BeyondAlan Richardson
An overview of different approaches to Page Objects and Domain Objects for GUI Automation. Examples use WebDriver and Java.
Full source code is available to download, For more details see the associated blog post.
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.
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.
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.
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.
Tellurium is a UI module based web testing framework. The UI module is a collection of UI elements you group together. Usually, the UI module represents a composite UI object in the format of nested basic UI elements. The UI module makes it possible to build UI elements' locators at run time. The framework does object to locator mapping (OLM) automatically at run time so that you can define UI objects simply by their attributes and write your selenium tests just like writing JUnit/TestNG tests. Since the framework constructs the actual locator automatically at run-time and it uses the Group Locating Concept (GLC) to exploit information inside a collection of UI components to help finding their locators, Tellurium is more robust, flexible, reusable compared with the Selenium testing framework.
This is a short version.
Way2Automation provides class-room training,Online training and Video Tutorial. We have trained over 4000+ students for Advance Selenium training. We have industry experts who are master in their domains and help you gain the same experience in the training programme. For quality purpose we keep 2 session completely free. http://www.way2automation.com/
A set of slides that you can use to 'cheatsheet' your way to Selenium 2 WebDriver mastery. Formatted as the handouts I use on my Selenium WebDriver training.
Automation Abstraction Layers: Page Objects and BeyondAlan Richardson
An overview of different approaches to Page Objects and Domain Objects for GUI Automation. Examples use WebDriver and Java.
Full source code is available to download, For more details see the associated blog post.
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.
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.
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.
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.
Tellurium is a UI module based web testing framework. The UI module is a collection of UI elements you group together. Usually, the UI module represents a composite UI object in the format of nested basic UI elements. The UI module makes it possible to build UI elements' locators at run time. The framework does object to locator mapping (OLM) automatically at run time so that you can define UI objects simply by their attributes and write your selenium tests just like writing JUnit/TestNG tests. Since the framework constructs the actual locator automatically at run-time and it uses the Group Locating Concept (GLC) to exploit information inside a collection of UI components to help finding their locators, Tellurium is more robust, flexible, reusable compared with the Selenium testing framework.
This is a short version.
Mastering Test Automation: How to Use Selenium Successfully Applitools
** WATCH FULL WEBINAR RECORDING HERE: https://youtu.be/06H-6hjyyvI **
What is Selenium? Why should you use it? And how do you use it successfully?
In this webinar, Automation expert Dave Haeffner answers these questions as he steps through the why, how, and what of Selenium.
Dave also discusses how to start from nothing and build out a well factored, maintainable, resilient, fast and scalable set of tests. These tests will not only work well, but across all of the browsers you care about, while exercising relevant functionality that matters to your business.
Watch this webinar and learn how to:
* Decompose an existing web application to identify what to test
* Pick the best language for you and your team
* Write maintainable and reusable Selenium tests that will be cross-browser compatible and performant
* Dramatically improve your test coverage with automated visual testing
* Build an integrated feedback loop to automate test runs and find issues fast
In this webinar, Dave Haeffner (Elemental Selenium, USA) discusses how to:
- Build an integrated feedback loop to automate test runs and find issues fast
- Setup your own infrastructure or connect to a cloud provider
-Dramatically improve test times with parallelization
https://huddle.eurostarsoftwaretesting.com/resource/webinar/use-selenium-successfully/
• Want to test your entire Web 2.0 app, from AJAX and DHTML through browser-rendered
HTML into a live instance of your application and database? Most web testing frameworks
have gaps in their coverage: JUnit and Test::Unit miss the client frontend; JSUnit misses the
server backend; web testing frameworks miss some or all of the JavaScript. With Selenium
we have a framework that can test the whole application, from browser-executed JavaScript,
through a live application backend, then back to assertions on browser-rendered DOM code.
Selenium RC takes this further: since you write your tests in your application language, your
tests can do data setup and assertions based directly on server-side domain objects that
may be inaccessible or only partially accessible from the client side. On our teams we have
used and developed a series of helper methods and assertions that allow testing of AJAX
and DHTML functions as well.
Unmesh Gundecha delivered a session on "Selenium Powertools" at #SeleniumSummit21
Technology focused IT professional offering vast experience leveraging Software Engineering, Agile Software Development, Test Automation & DevOps methodologies to deliver highly effective and creative solutions to business and technology challenges. Utilizes highly attuned analytical skills to develop IT and business strategies employing leading/cutting-edge technologies to increase productivity & efficiency and organised with a strong capacity to prioritize workload, delegation, and steer project completion with established deadlines. Experience in building and leading small to a large specialist team on critical project deliveries. Passionate about Technology, Automation, UI/UX and Design.
To know more about #SeleniumSummit21 please check : https://seleniumsummit21.agiletestingalliance.org/
Hi,
We offer online and offline IT Trainings with Placements, Project Assistance in different platforms with real time Industry Consultants to provide quality training for all IT professionals, corporate clients and students etc.
Selenium Online Training by QuontraSolutions. We are providing excellent Selenium Training by real-time IT industry experts. Our training methodology is very unique Our Course Content covers all the in-depth critical scenarios. We have completed more than 200+ Selenium Training batches through Online Training program. Our Selenium Classes covers all the real time scenarios, and it’s completely on Hands-on for each and every session.
Selenium is a set of tools that is used to automate web application testing, across many platforms between the biggest advantages of Selenium, we can mention:
- Runs in many browsers.
- Can be controlled with programming language like Java or PHP that makes selenium very handy to integrate it to unit tests.
Selenium is usually used to have test cases that need to be run frequently, with unlimited iterations and at the same time through this is possible to have disciplined test documentation.
Course Content:
• Introduction to Selenium.
• Selenium Components.
• Downloading selenium IDE From Mozilla.
• Creating the Environment for Selenium RC.
• Developing the reusable script for any project. Automation life cycle, Validations.
• Transactions
• Flow Control, Exceptions, and Assertions
• Framework.
• Defining, Instantiating, and Starting Threads
• JUnit Introduction
• Testing, Data Base Connectivity Object, repository.
• Web Driver
• Result Analysis.
• Interview questions.
Please Visit us for the Demo Classes, we have regular batches and weekend batches.
Attend Free Demo on 2nd and 3rd August 2014.
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A CookbookJorge Hidalgo
By Jorge Hidalgo & Vicente Gonzalez, September 21st, 2016.
Automating tests of Java web applications should not be hard. Selenium is a well-known open source tool for automating user interactions within a browser that enables you to run the same test scripts across multiple browser types and operating systems unmodified. This session presents several recipes for working effectively with Selenium: multibrowser selectable tests, patterns for working with asynchronous calls, the page object pattern, and others. Armed with these recipes, developers will increase their proficiency in Selenium test automation and become even more productive in their day-to-day job.
TAGS in short is a generic framework which has been specifically designed to cater to needs of any TFT client who seeks a low cost end-to-end automation solution using open source tools.
Web testing with selenium and by quontra solutionsQUONTRASOLUTIONS
Quontra Solutions provides Selenium Testing online training by Real time IT experts. Selenium is having good demand in the market. Our Selenium online training Instructors are very much experienced and highly qualified and dedicated.
Our Selenium online training program is job oriented. After completion of Selenium training with us you should be able to work on any kind of project. After completion of Selenium online training our dedicated team will be supporting you.
Similar to Selenium testing - Handle Elements in WebDriver (20)
Vibrant Technologies is headquarted in Mumbai,India.We are the best Business Analyst training provider in Navi Mumbai who provides Live Projects to students.We provide Corporate Training also.We are Best Business Analyst classes in Mumbai according to our students and corporators
This presentation is about -
History of ITIL,
ITIL Qualification scheme,
Introduction to ITIL,
For more details visit -
http://vibranttechnologies.co.in/itil-classes-in-mumbai.html
This presentation is about -
Create & Manager Users,
Set organization-wide defaults,
Learn about record accessed,
Create the role hierarchy,
Learn about role transfer & mass Transfer functionality,
Profiles, Login History,
For more details you can visit -
http://vibranttechnologies.co.in/salesforce-classes-in-mumbai.html
This presentation is about -
Based on as a service model,
• SAAS (Software as a service),
• PAAS (Platform as a service),
• IAAS (Infrastructure as a service,
Based on deployment or access model,
• Public Cloud,
• Private Cloud,
• Hybrid Cloud,
For more details you can visit -
http://vibranttechnologies.co.in/salesforce-classes-in-mumbai.html
This presentation is about -
Introduction to the Cloud Computing ,
Evolution of Cloud Computing,
Comparisons with other computing techniques fetchers,
Key characteristics of cloud computing,
Advantages/Disadvantages,
For more details you can visit -
http://vibranttechnologies.co.in/salesforce-classes-in-mumbai.html
This presentation is about -
Designing the Data Mart planning,
a data warehouse course data for the Orion Star company,
Orion Star data models,
For more details Visit :-
http://vibranttechnologies.co.in/sas-classes-in-mumbai.html
This presentation is about -
Working Under Change Management,
What is change management? ,
repository types using change management
For more details Visit :-
http://vibranttechnologies.co.in/sas-classes-in-mumbai.html
This presentation is about -
Overview of SAS 9 Business Intelligence Platform,
SAS Data Integration,
Study Business Intelligence,
overview Business Intelligence Information Consumers ,navigating in SAS Data Integration Studio,
For more details Visit :-
http://vibranttechnologies.co.in/sas-classes-in-mumbai.html
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Selenium testing - Handle Elements in WebDriver
1.
2. Test Web applicationsTest Web applications
using Seleniumusing Selenium
Design By :- Vibrant Technologies
& computers
3. OutlineOutline
• Uniqueness of web app testing
o Heterogonous system
o Dynamic pages
o Load
o Security
• Selenium WebDriver
• Course project 4
4. Web application architectureWeb application architecture
• Heterogeneous system
o Front end
• Browser: IE, Firefox,
Chrome, Safari…
o Server side
• Application Server
• Database Server
• File System
• ……
6. Uniqueness 1: Heterogeneous systemUniqueness 1: Heterogeneous system
• Server side
o Can be written in PHP, Java, C#...
o Communicate with Database server in SQL
PHP ScriptPHP Script
SQLSQL
HTMLHTML
SQLSQL
PHPPHP
7. Heterogeneous systemHeterogeneous system
• Should test all involved parts
o Everything can go wrong…
• However, only front end is accessible for tests
o Can not directly test the Server code and SQL
o Have to drive the execution and test
• Frontend
o HTML: Malformed HTML page? (demo)
o JavaScript: Runtime Errors? (demo)
• Server script
o PHP, Java…: Runtime Errors? (demo)
o SQL: Malformed SQL query string? (demo)
8. Test from the front endTest from the front end
• Good things
o Hide the complexity of the backend
o Uniformed interface
o Can put a robot in the front end and automate the tests
Bad things
o The front end is not trustable
• Crafted malicious requests
9. Good things of testing from the front endGood things of testing from the front end
• Automated web app testing
o Compare to commend-line program testing…
• Sensitive to input values (the same)
• GUI testing: event driven (the difference)
o “Button A” then “Button B” OK
o “Button B” then “Button A” FAIL
o The robot should be able to
• Provide input values
• Simulate user actions
• Selenium
o A tool set automates web app testing across platforms
o Can simulate user interactions in browser
o Two components
• Selenium IDE
• Selenium WebDriver (aka. Selenium 2)
10. Selenium IDESelenium IDE
• Firefox extension
• Easy record and replay
• Debug and set breakpoints
• Save tests in HTML,
WebDriver and other
formats.
11. Selenium IDE test casesSelenium IDE test cases
• Selenium saves all information in an HTML table format
• Each record consists of:
o Command – tells Selenium what to do (e.g. “open”, “type”,
“click”, “verifyText”)
o Target – tells Selenium which HTML element a command refers to
(e.g. textbox, header, table)
o Value – used for any command that might need a value of some
kind (e.g. type something into a textbox)
12. How to record/replay with Selenium IDEHow to record/replay with Selenium IDE
1. Start recording in Selenium IDE
2. Execute scenario on running web application
3. Stop recording in Selenium IDE
4. Verify / Add assertions
5. Replay the test.
Selenium IDE Demo……
13. Bad things of testing from the front endBad things of testing from the front end
• The front end is not trustable
o Front end code can be accessed to anybody
o They can infer the input parameters
o Crafted requests!
• Demo
o Front end limits the length of the input values
o Front end limits the content of the input values
o Front end limits the combination of the input values
14. Uniqueness 2: Dynamic pagesUniqueness 2: Dynamic pages
• Client page is dynamic
o It can change itself in the runtime
o HTML can be modified by JavaScript
o JavaScript can modify itself
o Demo
• Server script is dynamic
o Client pages are constructed in the runtime
o A same server script can produce completely different client pages
o Demo
• SchoolMate
15. Uniqueness 3: PerformanceUniqueness 3: Performance
• Performance is crucial to the success of a web app
o Recall the experience to register for a class in the first days of the semester…
o Are the servers powerful enough?
• Performance testing evaluates system performance under normal and
heavy usage
o Load testing
• For expected concurrent number of users
o Stress testing
• To understand the upper limits of capacity
• Performance testing can be automated
16. Uniqueness 4: SecurityUniqueness 4: Security
• Web app usually deals with sensitive info, e.g.
o Credit card number
o SSN
o Billing / Shipping address
• Security is the biggest concern
• Security testing should simulate possible attacks
17. Uniqueness 4: SecurityUniqueness 4: Security
• SQL Injection
o The untrusted input is used to construct dynamic SQL queries.
o E.g, update my own password
$str = "UPDATE users SET password = ” “ . $_POST['newPass’] .
“” WHERE username =”“ . $_POST['username'] . “””;
mysql_query( $str );
$_POST['newPass’] = pass, $_POST['username'] = me
Query String: UPDATE users SET password = “pass” WHERE username =“me”
$_POST['newPass’] = pass, $_POST['username'] = “ OR 1=1 --
Query String: UPDATE users SET password = “pass” WHERE username =“” OR 1=1 --”
Normal CaseNormal Case
AttackAttack
PHP ScriptPHP Script
18. Uniqueness 4: SecurityUniqueness 4: Security
• Cross Site Scripting (XSS)
o The untrusted input is used to construct dynamic HTML pages.
o The malicious JS injected executes in victim’s browser
o The malicious JS can steal sensitive info
o Demo
• Solution: Never trust user inputs
• Design test cases to simulate attacks
19. OutlineOutline
• Uniqueness of web app testing
o Heterogonous system
o Dynamic pages
o Load
o Security
• Selenium WebDriver
• Course project 4
20. Limitation of Selenium IDELimitation of Selenium IDE
• No multiple browsers support
o It runs only in Mozilla Firefox.
• No manual scripts
o E.g. conditions and Loops for Data Driven Testing
• Fancy test cases Selenium WebDriver
21. Selenium WebDriver (Selenium 2)Selenium WebDriver (Selenium 2)
• Selenium-WebDriver
o A piece of program
o Control the browser by programming
o More flexible and powerful
• Selenium-WebDriver supports multiple browsers in multiple
platforms
o Google Chrome 12.0.712.0+
o Internet Explorer 6+
o Firefox 3.0+
o Opera 11.5+
o Android – 2.3+ for phones and tablets
o iOS 3+ for phones
o iOS 3.2+ for tablets
22. Selenium WebDriverSelenium WebDriver
• WebDriver is designed to providing a simpler and
uniformed programming interface
o Same WebDriver script runs for different platforms
• Support multiple programming language:
o Java, C#, Python, Ruby, PHP, Perl…
• It’s efficient
o WebDriver leverages each browser’s native support for automation.
23. What Selenium can doWhat Selenium can do
• A solution for the automated testing
o Simulate user actions
o Functional testing
• Create regression tests to verify functionality and user acceptance.
o Browser compatibility testing
• The same script can run on any Selenium platform
o Load testing
o Stress testing
24. How to use Selenium WebDriverHow to use Selenium WebDriver
(1) Go to a page
(2) Locate an element
(3) Do something with that element
......
(i) Locate an element
(i+1) Do something with that element
(i+2) Verify / Assert the result
25. DemoDemo: Verify page title: Verify page titlepublic static void main( String[] args )
{
// Create a new instance of the Firefox driver
WebDriver driver = new FirefoxDriver();
// (1) Go to a page
driver.get("http://www.google.com");
// (2) Locate an element
WebElement element = driver.findElement(By.name("q"));
// (3-1) Enter something to search for
element.sendKeys("Purdue Univeristy");
// (3-2) Now submit the form. WebDriver will find the form for us from the element
element.submit();
// (3-3) Wait up to 10 seconds for a condition
WebDriverWait waiting = new WebDriverWait(driver, 10);
waiting.until( ExpectedConditions.presenceOfElementLocated( By.id("pnnext") ) );
// (4) Check the title of the page
if( driver.getTitle().equals("purdue univeristy - Google Search") )
System.out.println("PASS");
else
System.err.println("FAIL");
//Close the browser
driver.quit();
}
26. How to locate an elementHow to locate an element
• By id
o HTML: <div id="coolestWidgetEvah">...</div>
o WebDriver:
driver.findElement( By.id("coolestWidgetEvah") );
• By name
o HTML: <input name="cheese" type="text"/>
o WebDriver: driver.findElement( By.name("cheese") );
• By Xpath
o HTML
<html>
<input type="text" name="example" />
<input type="text" name="other" />
</html>
o WebDriver: driver.findElements( By.xpath("//input") );
o There are plug-ins for firefox/chrome to automatically display the Xpath
27. Time issueTime issue
• There are delays between submitting a request and receiving the
response
• We can wait until the response page is loaded
• Robot doesn’t know!
• In WebDriver, sometimes it doesn’t work if
o Submit a request
o Verify the response immediately
• Solution:
o Simulate the wait. Wait until some HTML object appears
o Demo
28. OutlineOutline
• What to test for a web application
• Test web app with selenium
o What’s Selenium?
o Why Selenium?
o How to use Selenium
• Course project 4
29. Course Project 4Course Project 4
• Test a functionality
without the source
• The subject web
application
o “Add New Class” in
“SchoolMate”
30. Course Project 4Course Project 4
• Part 1: overview
o Design test cases against the requirement
• The tests should consider
o all possible cases
o equivalence class partitioning
o Implement Selenium WebDriver Script for “Add new class”
Your testYour test
casescases
Your testYour test
casescases
Your WebDriverYour WebDriver
test templatetest template
Your WebDriverYour WebDriver
test templatetest template
inputinputinputinput outputoutputoutputoutput
TestTest
resultsresults
TestTest
resultsresults
31. Part 1: requirement analysisPart 1: requirement analysis
• Requirement for values
entered/selected
o [R-1] Class Name : alphabets
and numbers are allowed.
o [R-2] Section Number : only
numbers are allowed.
o [R-3] Room Number : only
numbers are allowed.
o [R-4] Period Number : only
numbers are allowed.
o [R-5] All textbox fields : no
Cross-Site Scripting (XSS)
injection vulnerabilities.
32. Part 1: requirement analysisPart 1: requirement analysis
• Requirement for the “add” function
• After clicking the “Add class” button…
o [R-6] The class record added is successfully shown in the table.
o [R-7] The values are exactly the same as those were entered or selected.
33. Part 1:Design testcasesPart 1:Design testcases
• For each requirement, design test cases
• Only need test one field in each case
o Do not need consider combinations of fileds
• E.g.
o [R-1] Class Name : alphabets and numbers are allowed.
o You need consider all possible cases
o Divide the test space and find the equivalence class
• Alphabets
• Numbers
• ….
• The test case format is defined
o Test cases will be used as input to your WebDriver Script
34. Part 1: Implement WebDriver ScriptPart 1: Implement WebDriver Script
• In WebDriver script, Simulate the user action
o Navigate to the subject page
o Enter values into textboxs based on input values
o Select options based on input values
o Click the “add class” button
o Check the result against the requirements
• Run all your test cases and report the results.
35. Course Project 4Course Project 4
• Part 2: Pair wise testing
o Use an existing pair wise testing tool fire-eye
o Largely you may reuse the WebDriver template in
Part 1
Your testYour test
casescases
Your testYour test
casescases
Your WebDriverYour WebDriver
test templatetest template
Your WebDriverYour WebDriver
test templatetest template
inputinputinputinput outputoutputoutputoutput
TestTest
resultresult
TestTest
resultresult
Test casesTest cases
generatedgenerated
Test casesTest cases
generatedgenerated
ConvertConvertConvertConvert
36. Part 2: Generate test casesPart 2: Generate test cases
• Consider the combination of all textboxs/options
• Use the existing tool, fire-eye, to generate test cases
• Export the test case in “Nist form”
• Parse and convert the exported test cases to the form
that your WebDriver can accept
• Run all pair-wise test cases
• Report the result
37. Part 2: Solution designPart 2: Solution design
• Selenium can do more …
• Black Friday is coming, hot items can be sold in a few seconds
• Can you leverage the automated tool and design a practical solution to score a super
hot deal?
• Explain
o What’s the challenge
o What’s the possible cases to handle and how?
• In stock
• Out of stock
• Your shopping cart may be reset under what conditions…
o How to add it into your shopping cart asap
o How you are going to cooperate with the automated tool
38. ThankThank You !!!You !!!
For More Information click below link:
Follow Us on:
http://vibranttechnologies.co.in/selenium-classes-in-mu