Bird
Raised Fist0
Selenium Javatesting~10 mins

Configuration management in Selenium Java - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to load the configuration file using Properties class.

Selenium Java
Properties config = new Properties();
FileInputStream input = new FileInputStream("config.properties");
config.[1](input);
Drag options to blanks, or click blank then click option'
Aget
Bread
Copen
Dload
Attempts:
3 left
💡 Hint
Common Mistakes
Using read() instead of load() causes a compilation error.
Using get() or open() methods which do not exist in Properties.
2fill in blank
medium

Complete the code to retrieve the URL value from the configuration.

Selenium Java
String url = config.[1]("url");
Drag options to blanks, or click blank then click option'
AgetProperty
Bget
Cfetch
DreadProperty
Attempts:
3 left
💡 Hint
Common Mistakes
Using get() causes a compilation error because Properties does not have get().
Using fetch() or readProperty() which are not valid methods.
3fill in blank
hard

Fix the error in the code to properly close the FileInputStream after loading properties.

Selenium Java
FileInputStream input = new FileInputStream("config.properties");
Properties config = new Properties();
config.load(input);
input.[1]();
Drag options to blanks, or click blank then click option'
Aclose
Bshutdown
Cdispose
Dexit
Attempts:
3 left
💡 Hint
Common Mistakes
Using shutdown(), dispose(), or exit() causes compilation errors.
Not closing the stream causes resource leaks.
4fill in blank
hard

Fill both blanks to set a system property and retrieve it.

Selenium Java
System.setProperty("browser", [1]);
String browserName = System.[2]("browser");
Drag options to blanks, or click blank then click option'
A"chrome"
BgetProperty
CgetEnv
D"firefox"
Attempts:
3 left
💡 Hint
Common Mistakes
Using getEnv() instead of getProperty() to retrieve system properties.
Not using quotes around the browser name string.
5fill in blank
hard

Fill all three blanks to create a WebDriver instance based on configuration and open the URL.

Selenium Java
String browser = config.getProperty("browser");
WebDriver driver;
if (browser.equalsIgnoreCase([1])) {
    driver = new ChromeDriver();
} else if (browser.equalsIgnoreCase([2])) {
    driver = new FirefoxDriver();
} else {
    driver = new EdgeDriver();
}
driver.get([3]);
Drag options to blanks, or click blank then click option'
A"chrome"
B"firefox"
Cconfig.getProperty("url")
D"edge"
Attempts:
3 left
💡 Hint
Common Mistakes
Not using quotes around browser names causes errors.
Using a literal URL string instead of fetching from config.

Practice

(1/5)
1. What is the main purpose of configuration management in Selenium Java testing?
easy
A. To separate test settings from test code for easier maintenance
B. To write test cases faster by skipping setup
C. To increase the number of test cases automatically
D. To reduce the number of test assertions

Solution

  1. Step 1: Understand configuration management role

    It separates configuration data like URLs, credentials from the test logic.
  2. Step 2: Benefits of separation

    This separation makes tests easier to maintain and adapt to different environments.
  3. Final Answer:

    To separate test settings from test code for easier maintenance -> Option A
  4. Quick Check:

    Configuration management = separation of settings and code [OK]
Hint: Think: settings outside code for easy updates [OK]
Common Mistakes:
  • Confusing configuration management with test execution
  • Thinking it speeds up writing tests directly
  • Assuming it reduces assertions
2. Which of the following is a correct way to define a constant for a base URL in Selenium Java?
easy
A. final BASE_URL = https://example.com;
B. static String BASE_URL = 'https://example.com';
C. public static final String BASE_URL = "https://example.com";
D. const BASE_URL = "https://example.com";

Solution

  1. Step 1: Recall Java constant syntax

    In Java, constants use 'public static final' with type and value in double quotes.
  2. Step 2: Check each option

    public static final String BASE_URL = "https://example.com"; uses correct syntax; others have syntax errors or wrong keywords.
  3. Final Answer:

    public static final String BASE_URL = "https://example.com"; -> Option C
  4. Quick Check:

    Java constants = public static final + type + value [OK]
Hint: Remember Java constants need public static final [OK]
Common Mistakes:
  • Using single quotes for strings in Java
  • Omitting type declaration
  • Using 'const' which is not Java keyword
3. Given the following code snippet, what will be printed?
public class Config {
    public static final String ENV = "staging";
    public static final String URL = ENV.equals("production") ? "https://prod.example.com" : "https://staging.example.com";

    public static void main(String[] args) {
        System.out.println(URL);
    }
}
medium
A. https://prod.example.com
B. null
C. Compilation error
D. https://staging.example.com

Solution

  1. Step 1: Evaluate ENV value

    ENV is "staging", so ENV.equals("production") is false.
  2. Step 2: Apply ternary operator

    Since condition is false, URL is assigned "https://staging.example.com".
  3. Final Answer:

    https://staging.example.com -> Option D
  4. Quick Check:

    Condition false -> staging URL printed [OK]
Hint: Check condition in ternary operator carefully [OK]
Common Mistakes:
  • Assuming ENV equals production
  • Confusing ternary true/false branches
  • Expecting compilation error due to static final
4. Identify the error in this configuration code snippet:
public class Config {
    public static final String BASE_URL = https://example.com;
}
medium
A. BASE_URL should not be static
B. Missing double quotes around the URL string
C. final keyword is not allowed here
D. Class name should be lowercase

Solution

  1. Step 1: Check string assignment syntax

    In Java, string literals must be enclosed in double quotes.
  2. Step 2: Identify missing quotes

    The URL is not in quotes, causing a syntax error.
  3. Final Answer:

    Missing double quotes around the URL string -> Option B
  4. Quick Check:

    String literals need quotes in Java [OK]
Hint: Strings always need double quotes in Java [OK]
Common Mistakes:
  • Forgetting quotes around string values
  • Thinking static or final keywords cause error here
  • Ignoring Java naming conventions (not error)
5. You want to run the same Selenium tests on different environments (dev, test, prod) without changing code. Which configuration management approach is best?
hard
A. Use external properties files to load environment-specific settings
B. Hardcode URLs in test methods and change before each run
C. Write separate test classes for each environment
D. Use random URLs in tests to cover all environments

Solution

  1. Step 1: Understand maintainability needs

    Hardcoding or separate classes cause duplication and errors.
  2. Step 2: Use external properties files

    Loading settings from files allows switching environments without code changes.
  3. Final Answer:

    Use external properties files to load environment-specific settings -> Option A
  4. Quick Check:

    External config files = flexible environment switching [OK]
Hint: Use external files for easy environment changes [OK]
Common Mistakes:
  • Hardcoding URLs inside test code
  • Creating duplicate test classes per environment
  • Using random URLs which cause flaky tests
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard