Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Selenium Framework Design in Data-Driven Testing

You're reading from   Selenium Framework Design in Data-Driven Testing Build data-driven test frameworks using Selenium WebDriver, AppiumDriver, Java, and TestNG

Arrow left icon
Product type Paperback
Published in Jan 2018
Publisher Packt
ISBN-13 9781788473576
Length 354 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Author (1):
Arrow left icon
Carl Cocchiaro Carl Cocchiaro
Author Profile Icon Carl Cocchiaro
Carl Cocchiaro
Arrow right icon
View More author details
Toc

Table of Contents (11) Chapters Close

Preface 1. Building a Scalable Selenium Test Driver Class for Web and Mobile Applications FREE CHAPTER 2. Selenium Framework Utility Classes 3. Best Practices for Building Selenium Page Object Classes 4. Defining WebDriver and AppiumDriver Page Object Elements 5. Building a JSON Data Provider 6. Developing Data-Driven Test Classes 7. Encapsulating Data in Data-Driven Testing 8. Designing a Selenium Grid 9. Third-Party Tools and Plugins 10. Working Selenium WebDriver Framework Samples

Global variables versus dynamic data


In cases like this where we want to use dynamic data, it sometimes makes sense to store property settings in global variables or constants that can be used throughout the test run.

Instead of always replacing the placeholders within the test methods, users can do it once in a central location for properties that are used frequently, assign them to a global variable, and then reference them in the test methods.

A good place to assign them is within the common setup class's @BeforeSuite or @BeforeTest methods:

// global variables class

public class Global_VARS {
     public static String DEFAULT_URL = null;
     public static String DEFAULT_USR = null;
     public static String DEFAULT_PWD = null;
}
// common setup class

public static Properties testProps = new Properties();

@BeforeSuite(alwaysRun=true, enabled=true)
protected void suiteSetup() throws Exception {
    testProps.load(new FileInputStream(Global_VARS.TEST_PROPS_PATH +
                      ...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime