To answer your questions:
- Yes, it is possible to extract a value from your application and reuse that later in your script. You can do this with the ‘Get value’ action. The output of that action can be used in other actions of that test case as input parameter. Note: the retrieved data is only usable inside that test case during runtime.
- Yes, ATS allows the user to set precondition checks at every test step in the script. When you select the test step you see the checkbox ‘precondition’. When you check this box you can enter an action as precondition. When an action has a precondition the precondition is always executed first. If the precondition fails, the 'real' test step is not executed and the test step is marked as skipped in your test run results. In case the precondition is successful the actual test step will be executed as well. So in you case you can have the test step 'Close dialog' and the precondition 'Find/assert dialog'. If the precondition cannot find the dialog, the test step is skipped. If the precondition can find the dialog, the dialog will be closed.
- ATS cannot make HTTP calls directly; if any such calls need to be part of a test case, they should be part of the model and executed via standard Mendix actions, i.e. a button. Maybe you can make a separate page for all API calls, so they can be tested on that page.
If you have any other questions, please let me know!