Selenium WebDriver 3 Practical Guide
上QQ阅读APP看书,第一时间看更新

Storing and retrieving a profile

We can also write the profile information of the browser to the JSON file and later instantiate new browsers with the same profile. The FirefoxProfile class provides a method to export the profile information as JSON. The following is its API syntax:

public String toJson()

The output or return type is a String, which contains the JSON information in it.

Now, to create a browser with the same profile, the FirefoxProfile class provides a static method that takes the JSON string as the input. The following is the API syntax:

public static FirefoxProfile fromJson(java.lang.String json) throws java.io.IOException

This is a static method in the FirefoxProfile class that takes the JSON string to create a profile from. The following is the code example for that:

FirefoxProfile profile = new FirefoxProfile();
profile.addExtension(
new File("./src/test/resources/extensions/xpath_finder.xpi"));
String json = profile.toJson();
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setProfile(FirefoxProfile.fromJson(json));

In the preceding code, we have exported the profile as a JSON string. In your test case, you can write that JSON information to a file and store it. Later, you can read the JSON file using FirefoxOptions and create FirefoxDriver from that.