When writing unittests, I want to be able to use the params as if there was user input in the parametrization. This is done by using Mocking, and importing the parametrisation as a json.
To convert my parametrisation to a jason, I currently print my parametrization, and use the replace menu (ctrl+R) in PyCharm to change the ’ to " and
null and other formatting details. Is there an easier/ better way?
Not sure whether there is a better way of doing this, but one way would be to, once you have navigated to the editor you want to use as test case, “Inspect” the page by right clicking and selecting the option “Inspect”. This will open a DevTools window. In the case of the Chrome browser, navigate to the tab “Network”. If a trigger event occurs (by for example changing a parameter value), a response named “parametrization” is listed. When selecting the response, the parametrization will be available in the “Request Payload” section under the key “arguments”.
Here is a snippet of an example of how it will look like:
You can then copy the dictionary and save it as a json file.
Thanks! That saves me quite some time in formatting In firefox, this can be accessed trough :
right click > inspect > Network tab, Then change some value and wait for the parametrization to appear under
File. Then in the right hand tab under
Response, toggle on “Raw”, and you have the json ready to be copied!
Edit: Instead of
Response under the tab
Request, see @khameeteman’s reply
if you use the json.dumps(params) the formatting is done automatically and converted to a string. The string can be printed to terminal.
In pycharm, the json file can be formatted ‘nicely’ with ctrl+alt+L
Please note that you currently are looking at the “parametrization” instead of the params. Params can be obtained in the Headers → Request payload (as in Marcel’s example).