9 Commits
Author SHA1 Message Date
pierpaolo.mammi a5b6dadae4 Add elixForms UI automation requests
Reviewed-on: #2
2026-08-27 14:38:13 +02:00
pierpaolo.mammi f362be0a84 add some (not working) backoffice requests 2026-08-27 14:36:08 +02:00
pierpaolo.mammi 986fdb3f43 Merge branch 'main' into feature/elixforms-ui-automation 2026-08-27 13:43:57 +02:00
pierpaolo.mammi cc6725a39f add requests for gestione schede
rename requests to reflect scope

clean up authorization
2026-08-26 16:06:06 +02:00
pierpaolo.mammi 69fd9af133 add elixforms console credentials to environment 2026-08-26 16:05:02 +02:00
pierpaolo.mammi 49f0ecc163 add cookie retrieval scripts
reorder requests and rename folder
2026-08-26 12:49:14 +02:00
pierpaolo.mammi bdc43c7614 reorder requests 2026-08-25 16:33:11 +02:00
pierpaolo.mammi 4275a34c45 Merge branch 'main' into feature/elixforms-ui-automation 2026-08-25 16:30:37 +02:00
pierpaolo.mammi a40dd803e1 add elixforms requests to simulate UI operativity 2026-08-20 13:04:46 +02:00
29 changed files with 48944 additions and 50 deletions
@@ -1,3 +1,5 @@
elixFormsWsAuthenticationToken=
elixFormsApiPassword=
elixFormsApiUsername=
elixFormsApiUsername=
elixFormsConsoleUsername=
elixFormsConsolePassword=
@@ -1,7 +1,7 @@
info:
name: Authorization
type: folder
seq: 6
seq: 8
request:
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Calendar 2.0
type: folder
seq: 12
seq: 14
request:
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Cambio stato e/o integrazione
type: folder
seq: 10
seq: 12
request:
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Comunicazioni formali
type: folder
seq: 11
seq: 13
request:
auth: inherit
@@ -0,0 +1,107 @@
info:
name: AJ Console - Get Object Title (GENERICSCHEMA)
type: http
seq: 6
http:
method: GET
url: "{{elixFormsRootUrl}}/AJSRV/metadata/objectTitle?ATTR_NAME=master_field&ATTR_VALUE=true&TYPE=GENERICSCHEMA&OBJECT_ID=168258"
headers:
- name: Cookie
value: "{{elixFormsAjsrvCookie}}"
- name: x-requested-with
value: XMLHttpRequest
params:
- name: ATTR_NAME
value: master_field
type: query
- name: ATTR_VALUE
value: "true"
type: query
- name: TYPE
value: GENERICSCHEMA
type: query
- name: OBJECT_ID
value: "168258"
type: query
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const noCookieFoundError = "No AJSRV cookie found!";
var ajsrvCookie = bru.getVar("elixFormsAjsrvCookie");
if (ajsrvCookie == null || ajsrvCookie === "") {
console.error(noCookieFoundError, ajsrvCookie);
throw new Error(noCookieFoundError);
}
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: true
examples:
- name: example
request:
url: "{{elixFormsRootUrl}}/AJSRV/metadata/objectTitle?ATTR_NAME=master_field&ATTR_VALUE=true&TYPE=GENERICSCHEMA&OBJECT_ID=168258"
method: GET
headers:
- name: Cookie
value: "{{elixFormsAjsrvCookie}}"
- name: x-requested-with
value: XMLHttpRequest
params:
- name: ATTR_NAME
value: master_field
type: query
- name: ATTR_VALUE
value: "true"
type: query
- name: TYPE
value: GENERICSCHEMA
type: query
- name: OBJECT_ID
value: "168258"
type: query
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 10:40:39 GMT
- name: server
value: '""'
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: content-type
value: application/json;charset=UTF-8
- name: content-length
value: "17"
- name: set-cookie
value: JSESSIONID=da85f0a0570e23aea6397a8bc94f; Path=/; HttpOnly
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
body:
type: json
data: |-
{
"objectList": []
}
@@ -0,0 +1,107 @@
info:
name: AJ Console - Get Object Title (SCHEMADATA)
type: http
seq: 5
http:
method: GET
url: "{{elixFormsRootUrl}}/AJSRV/metadata/objectTitle?ATTR_NAME=master_field&ATTR_VALUE=true&TYPE=SCHEMADATA&OBJECT_ID=35397"
headers:
- name: Cookie
value: "{{elixFormsAjsrvCookie}}"
- name: x-requested-with
value: XMLHttpRequest
params:
- name: ATTR_NAME
value: master_field
type: query
- name: ATTR_VALUE
value: "true"
type: query
- name: TYPE
value: SCHEMADATA
type: query
- name: OBJECT_ID
value: "35397"
type: query
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const noCookieFoundError = "No AJSRV cookie found!";
var ajsrvCookie = bru.getVar("elixFormsAjsrvCookie");
if (ajsrvCookie == null || ajsrvCookie === "") {
console.error(noCookieFoundError, ajsrvCookie);
throw new Error(noCookieFoundError);
}
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: true
examples:
- name: example
request:
url: "{{elixFormsRootUrl}}/AJSRV/metadata/objectTitle?ATTR_NAME=master_field&ATTR_VALUE=true&TYPE=SCHEMADATA&OBJECT_ID=35397"
method: GET
headers:
- name: Cookie
value: "{{elixFormsAjsrvCookie}}"
- name: x-requested-with
value: XMLHttpRequest
params:
- name: ATTR_NAME
value: master_field
type: query
- name: ATTR_VALUE
value: "true"
type: query
- name: TYPE
value: SCHEMADATA
type: query
- name: OBJECT_ID
value: "35397"
type: query
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 10:40:35 GMT
- name: server
value: Apache
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: content-type
value: application/json;charset=UTF-8
- name: content-length
value: "17"
- name: set-cookie
value: JSESSIONID=da84d30d8f6a7c5f0e18dc3b7ebf; Path=/; HttpOnly
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
body:
type: json
data: |-
{
"objectList": []
}
@@ -0,0 +1,229 @@
info:
name: AJ Console - Save Object
type: http
seq: 7
http:
method: POST
url: "{{elixFormsRootUrl}}/AJSRV/metadata/save"
headers:
- name: Cookie
value: ISIPSESSION=047b770fac5627c03c94030ca0c3b45c; AJSRV=BTN_USER_1787207482458_8771527838545232265; ISIPSESSION_TRACK=99b2488e73af7c61f6e5affceeb32502; JSESSIONID=e3c44b958c4f282660a5fc8ed994
- name: x-requested-with
value: XMLHttpRequest
body:
type: multipart-form
data:
- name: S_616_168008_COL0009
type: text
value: azione_form_AUTOR_firmaAutorizzazione
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const noCookieFoundError = "No AJSRV cookie found!";
var ajsrvCookie = bru.getVar("elixFormsAjsrvCookie");
if (ajsrvCookie == null || ajsrvCookie === "") {
console.error(noCookieFoundError, ajsrvCookie);
throw new Error(noCookieFoundError);
}
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: true
examples:
- name: example
request:
url: "{{elixFormsRootUrl}}/AJSRV/metadata/save"
method: POST
headers:
- name: Accept
value: "*/*"
- name: Accept-Encoding
value: gzip, deflate, br, zstd
- name: Accept-Language
value: it,it-IT;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
disabled: true
- name: Cookie
value: ISIPSESSION=047b770fac5627c03c94030ca0c3b45c; AJSRV=BTN_USER_1787207482458_8771527838545232265; ISIPSESSION_TRACK=99b2488e73af7c61f6e5affceeb32502; JSESSIONID=e3c44b958c4f282660a5fc8ed994
- name: Host
value: console-unipr.elixforms.it
disabled: true
- name: Referer
value: https://console-unipr.elixforms.it/ajconsole/
disabled: true
- name: x-requested-with
value: XMLHttpRequest
body:
type: multipart-form
data:
- name: S_616_168008_COL0009
type: text
value: azione_form_AUTOR_firmaAutorizzazione
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 09:01:46 GMT
- name: server
value: '""'
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: content-type
value: application/json;charset=UTF-8
- name: content-length
value: "1636"
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
body:
type: json
data: |-
{
"errors": {
"objectList": []
},
"result": {
"objectList": [
{
"id": 616,
"title": "WFTemplate",
"dataId": 168008,
"tag": "",
"objectId": 35274,
"sections": [
{
"title": "Template",
"key": "SEC_0006",
"orderKey": "ORD001",
"fields": [
{
"type": "STRING",
"key": "COL0014",
"title": "Titolo template",
"searchable": false,
"valueList": [
{
"key": "",
"value": "Autorizzazione sottodominio"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD001",
"defaultValue": null,
"required": false
},
{
"type": "HTML",
"key": "COL0009",
"title": "Template",
"searchable": false,
"valueList": [
{
"key": "",
"value": "azione_form_AUTOR_firmaAutorizzazione"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD002",
"defaultValue": null,
"required": false
}
],
"attributes": []
},
{
"title": "Metadata",
"key": "SEC_0007",
"orderKey": "ORD002",
"fields": [
{
"type": "STRING",
"key": "COL0010",
"title": "Tag azione",
"searchable": false,
"valueList": [
{
"key": "",
"value": "azione_form_AUTOR_firmaAutorizzazione"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD001",
"defaultValue": null,
"required": false
},
{
"type": "STRING",
"key": "COL0011",
"title": "Tag procedimento",
"searchable": false,
"valueList": [
{
"key": "",
"value": "gestione_siti_web_nuovo_wf"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD002",
"defaultValue": null,
"required": false
},
{
"type": "STRING",
"key": "COL0012",
"title": "Tag modulo",
"searchable": false,
"valueList": [
{
"key": "",
"value": "RequestForm_GESTIONE_SITI_WEB_NUOVO"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD003",
"defaultValue": null,
"required": false
}
],
"attributes": []
}
],
"categories": [],
"aclTable": [],
"master": false,
"attributes": []
}
]
}
}
@@ -0,0 +1,148 @@
info:
name: AJ Console - Search schemas
type: http
seq: 4
http:
method: GET
url: "{{elixFormsRootUrl}}/AJSRV/metadata/search?SEARCH_IN[]=616&PAGE=1&AJL=it&PAGESIZE=80&SECURE=true"
headers:
- name: x-requested-with
value: XMLHttpRequest
params:
- name: SEARCH_IN[]
value: "616"
type: query
- name: PAGE
value: "1"
type: query
- name: AJL
value: it
type: query
- name: PAGESIZE
value: "80"
type: query
- name: SECURE
value: "true"
type: query
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
/*
const noCookieFoundError = "No AJSRV cookie found!";
var ajsrvCookie = bru.getVar("elixFormsAjsrvCookie");
if (ajsrvCookie == null || ajsrvCookie === "") {
console.error(noCookieFoundError, ajsrvCookie);
throw new Error(noCookieFoundError);
}
*/
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: true
examples:
- name: example
request:
url: "{{elixFormsRootUrl}}/AJSRV/metadata/search?SEARCH_IN[]=616&PAGE=1&AJL=it&PAGESIZE=80&SECURE=true"
method: GET
headers:
- name: Cookie
value: "{{elixFormsAjsrvCookie}}"
- name: x-requested-with
value: XMLHttpRequest
params:
- name: SEARCH_IN[]
value: "616"
type: query
- name: PAGE
value: "1"
type: query
- name: AJL
value: it
type: query
- name: PAGESIZE
value: "80"
type: query
- name: SECURE
value: "true"
type: query
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 10:35:04 GMT
- name: server
value: Apache
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: content-type
value: application/json;charset=UTF-8
- name: content-length
value: "438"
- name: set-cookie
value: JSESSIONID=da342d4412c8c3fea86b58918c9e; Path=/; HttpOnly
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
body:
type: json
data: |-
{
"totalRecords": 0,
"pageSize": 80,
"numPages": 0,
"currentPage": 1,
"columns": [
{
"key": "ID_OBJECT",
"value": "ID_OBJECT"
},
{
"key": "S_616_ID_GENERICSCHEMA",
"value": "S_616_ID_GENERICSCHEMA"
},
{
"key": "S_616_COL0014",
"value": "Titolo template"
},
{
"key": "S_616_COL0010",
"value": "Tag azione"
},
{
"key": "S_616_COL0011",
"value": "Tag procedimento"
},
{
"key": "S_616_COL0009",
"value": "Template"
},
{
"key": "S_616_COL0012",
"value": "Tag modulo"
}
],
"data": [],
"extraData": {}
}
@@ -0,0 +1,251 @@
info:
name: Backoffice - Create Group
type: http
seq: 9
http:
method: POST
url: "{{elixFormsRootUrl}}/backoffice/groups/_savedata.jsp"
headers:
- name: Cookie
value: ISIPSESSION=047b770fac5627c03c94030ca0c3b45c; AJSRV=BTN_USER_1787207482458_8771527838545232265; ISIPSESSION_TRACK=99b2488e73af7c61f6e5affceeb32502; JSESSIONID=e3c44b958c4f282660a5fc8ed994
disabled: true
- name: x-requested-with
value: XMLHttpRequest
body:
type: multipart-form
data:
- name: id
type: text
value: "0"
description: IMPORTANT!
- name: name
type: text
value: NewGroup01
- name: name-upper
type: text
value: ""
description: empty
- name: isadmin
type: text
value: "false"
- name: user_visible
type: text
value: "false"
- name: description
type: text
value: NewGroup01 new from API
- name: btnModify
type: text
value: Inserisci
description: ???
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const noCookieFoundError = "No AJSRV cookie found!";
var ajsrvCookie = bru.getVar("elixFormsAjsrvCookie");
if (ajsrvCookie == null || ajsrvCookie === "") {
console.error(noCookieFoundError, ajsrvCookie);
throw new Error(noCookieFoundError);
}
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: true
examples:
- name: example
request:
url: "{{elixFormsRootUrl}}/AJSRV/metadata/save"
method: POST
headers:
- name: Accept
value: "*/*"
- name: Accept-Encoding
value: gzip, deflate, br, zstd
- name: Accept-Language
value: it,it-IT;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
disabled: true
- name: Cookie
value: ISIPSESSION=047b770fac5627c03c94030ca0c3b45c; AJSRV=BTN_USER_1787207482458_8771527838545232265; ISIPSESSION_TRACK=99b2488e73af7c61f6e5affceeb32502; JSESSIONID=e3c44b958c4f282660a5fc8ed994
- name: Host
value: console-unipr.elixforms.it
disabled: true
- name: Referer
value: https://console-unipr.elixforms.it/ajconsole/
disabled: true
- name: x-requested-with
value: XMLHttpRequest
body:
type: multipart-form
data:
- name: S_616_168008_COL0009
type: text
value: azione_form_AUTOR_firmaAutorizzazione
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 09:01:46 GMT
- name: server
value: '""'
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: content-type
value: application/json;charset=UTF-8
- name: content-length
value: "1636"
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
body:
type: json
data: |-
{
"errors": {
"objectList": []
},
"result": {
"objectList": [
{
"id": 616,
"title": "WFTemplate",
"dataId": 168008,
"tag": "",
"objectId": 35274,
"sections": [
{
"title": "Template",
"key": "SEC_0006",
"orderKey": "ORD001",
"fields": [
{
"type": "STRING",
"key": "COL0014",
"title": "Titolo template",
"searchable": false,
"valueList": [
{
"key": "",
"value": "Autorizzazione sottodominio"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD001",
"defaultValue": null,
"required": false
},
{
"type": "HTML",
"key": "COL0009",
"title": "Template",
"searchable": false,
"valueList": [
{
"key": "",
"value": "azione_form_AUTOR_firmaAutorizzazione"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD002",
"defaultValue": null,
"required": false
}
],
"attributes": []
},
{
"title": "Metadata",
"key": "SEC_0007",
"orderKey": "ORD002",
"fields": [
{
"type": "STRING",
"key": "COL0010",
"title": "Tag azione",
"searchable": false,
"valueList": [
{
"key": "",
"value": "azione_form_AUTOR_firmaAutorizzazione"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD001",
"defaultValue": null,
"required": false
},
{
"type": "STRING",
"key": "COL0011",
"title": "Tag procedimento",
"searchable": false,
"valueList": [
{
"key": "",
"value": "gestione_siti_web_nuovo_wf"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD002",
"defaultValue": null,
"required": false
},
{
"type": "STRING",
"key": "COL0012",
"title": "Tag modulo",
"searchable": false,
"valueList": [
{
"key": "",
"value": "RequestForm_GESTIONE_SITI_WEB_NUOVO"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD003",
"defaultValue": null,
"required": false
}
],
"attributes": []
}
],
"categories": [],
"aclTable": [],
"master": false,
"attributes": []
}
]
}
}
@@ -0,0 +1,183 @@
info:
name: Backoffice - Dashboard
type: http
seq: 11
http:
method: GET
url: "{{elixFormsRootUrl}}/backoffice/backoffice_console.jsp?IUQOID=0&IURTLGY=&IUXSID=TX_I4453_UNIPR_{{unixTimestamp}}_R{{randomRID}}"
headers:
- name: Host
value: console-unipr.elixforms.it
- name: Referer
value: https://console-unipr.elixforms.it/backoffice/
params:
- name: IUQOID
value: "0"
type: query
- name: IURTLGY
value: ""
type: query
- name: IUXSID
value: TX_I4453_UNIPR_{{unixTimestamp}}_R{{randomRID}}
type: query
description: Must be computed by executing "Login - Backoffice"
auth: inherit
runtime:
scripts:
- type: after-response
code: |-
/*
const ajsrvCookie = bru.cookies.get("AJSRV");
const jsessionidCookie = bru.cookies.get("JSESSIONID");
//console.log("AJSRV: ", ajsrvCookie);
//console.log("JSESSIONID: ", jsessionidCookie);
bru.setVar("elixFormsAjsrvCookie", "AJSRV=" + ajsrvCookie);
bru.setVar("elixFormsJsessionidCookie", "JSESSIONID=" + jsessionidCookie);
*/
- type: tests
code: |-
test("AJSRV cookie found", function () {
const ajsrvCookie = bru.cookies.get("AJSRV");
expect(ajsrvCookie).to.not.be.null;
expect(ajsrvCookie).to.not.be.empty;
});
test("JSESSIONID cookie found", function () {
const jsessionidCookie = bru.cookies.get("JSESSIONID");
expect(jsessionidCookie).to.not.be.null;
expect(jsessionidCookie).to.not.be.empty;
});
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: false
examples:
- name: example
request:
url: https://console-unipr.elixforms.it/CISIInformationUnit/ExecuteTransaction.jws
method: POST
headers:
- name: Host
value: console-unipr.elixforms.it
- name: Referer
value: https://console-unipr.elixforms.it/backoffice/
params:
- name: IUXSID
value: TX_I4453_UNIPR_1787737266508_R-1756946974
type: query
disabled: true
body:
type: multipart-form
data:
- name: username
type: text
value: Automation_User
- name: password
type: text
value: n_HH9shL#VPeiiT^%;:t5/,jY
- name: INSERT_BTN00000
type: text
value: Accedi
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 10:34:54 GMT
- name: server
value: '""'
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: x-powered-by
value: JSP/2.2
- name: content-type
value: text/html;charset=UTF-8
- name: set-cookie
value: JSESSIONID=da31f0432559043377f947047c89; Path=/; HttpOnly
- name: vary
value: Accept-Encoding
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
- name: transfer-encoding
value: chunked
body:
type: html
data: |+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!-- include the local application global jsp file -->
<style type="text/css">
* {
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 12px;
color: #444444;
font-weight: normal;
}
.logo {padding:3em 0 0 0; margin:0;text-align:center;}
.container {padding:0; width:30em;margin:0 auto;text-align:center;}
h1 {font-weight:bold;margin: 2em 0 1em 0;}
form fieldset {border: none;text-align:left;}
form fieldset label {float:left; width:40%;display:block;text-align:right;padding: 0.3em;}
form fieldset .fieldcontainer {float:left; width55%;}
.end {clear:both;height:0.1em;line-height:0.1em;font-size:0.1em;width:100%}
</style><div class="logo"><img alt="Logo" src="/images/HeaderStemmaLogon.gif"></div><div class="container"><h1>ISIPortal - Backoffice</h1><form action="/CISIInformationUnit/ExecuteTransaction.jws?IUXSID=TX_I4453_UNIPR_1787740495631_R-970713504" method="POST" name="frmFEPA" txid="TX_I4453_UNIPR_1787740495631_R-970713504"><fieldset><label for="username">Nome Utente:</label><div class="fieldcontainer"><input class="isiportalPartialAdminFormFieldSingleLineText" id="username" name="username" type="text" value=""></div><div class="end">&nbsp;</div><label for="password">Password:</label><div class="fieldcontainer"><input class="isiportalPartialAdminFormFieldSingleLineText" id="password" name="password" type="password" value=""></div><div class="end">&nbsp;</div></fieldset><div><input class="isiportalPartialAdminINSERT_BTN00000Button" name="INSERT_BTN00000" type="submit" value="Accedi"></div></form></div>
@@ -0,0 +1,275 @@
info:
name: Backoffice - Save Group
type: http
seq: 10
http:
method: POST
url: "{{elixFormsRootUrl}}/backoffice/groups/_savedata.jsp"
headers:
- name: Accept
value: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
- name: Accept-Encoding
value: gzip, deflate, br, zstd
- name: Accept-Language
value: it,it-IT;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
- name: Cache-Control
value: max-age=0
- name: Connection
value: keep-alive
- name: Cookie
value: ISIPSESSION=047b770fac5627c03c94030ca0c3b45c; AJSRV=BTN_USER_1787207482458_8771527838545232265; ISIPSESSION_TRACK=99b2488e73af7c61f6e5affceeb32502; JSESSIONID=e3c44b958c4f282660a5fc8ed994
disabled: true
- name: Host
value: console-unipr.elixforms.it
- name: Origin
value: https://console-unipr.elixforms.it
- name: Referer
value: https://console-unipr.elixforms.it/backoffice/groups/groups_right.jsp?id=103
- name: Upgrade-Insecure-Requests
value: "1"
- name: User-Agent
value: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 Edg/151.0.0.0
- name: Sec-Fetch-User
value: ?1
- name: Sec-Fetch-Site
value: same-origin
- name: Sec-Fetch-Mode
value: navigate
- name: Sec-Fetch-Dest
value: frame
- name: Sec-Ch-Ua-Platform
value: '"Windows"'
- name: Sec-Ch-Ua-Mobile
value: ?0
- name: Sec-Ch-Ua
value: '"Not=A?Brand";v="99", "Microsoft Edge";v="151", "Chromium";v="151"'
body:
type: form-urlencoded
data:
- name: id
value: "103"
- name: name
value: Test 01
- name: name-upper
value: TEST 01
- name: isadmin
value: "false"
- name: user_visible
value: "false"
- name: description
value: Test 01 updated
- name: btnInsert
value: Modifica
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
/*
const noCookieFoundError = "No AJSRV cookie found!";
var ajsrvCookie = bru.getVar("elixFormsAjsrvCookie");
if (ajsrvCookie == null || ajsrvCookie === "") {
console.error(noCookieFoundError, ajsrvCookie);
throw new Error(noCookieFoundError);
}
*/
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: true
examples:
- name: example
request:
url: "{{elixFormsRootUrl}}/AJSRV/metadata/save"
method: POST
headers:
- name: Accept
value: "*/*"
- name: Accept-Encoding
value: gzip, deflate, br, zstd
- name: Accept-Language
value: it,it-IT;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
disabled: true
- name: Cookie
value: ISIPSESSION=047b770fac5627c03c94030ca0c3b45c; AJSRV=BTN_USER_1787207482458_8771527838545232265; ISIPSESSION_TRACK=99b2488e73af7c61f6e5affceeb32502; JSESSIONID=e3c44b958c4f282660a5fc8ed994
- name: Host
value: console-unipr.elixforms.it
disabled: true
- name: Referer
value: https://console-unipr.elixforms.it/ajconsole/
disabled: true
- name: x-requested-with
value: XMLHttpRequest
body:
type: multipart-form
data:
- name: S_616_168008_COL0009
type: text
value: azione_form_AUTOR_firmaAutorizzazione
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 09:01:46 GMT
- name: server
value: '""'
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: content-type
value: application/json;charset=UTF-8
- name: content-length
value: "1636"
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
body:
type: json
data: |-
{
"errors": {
"objectList": []
},
"result": {
"objectList": [
{
"id": 616,
"title": "WFTemplate",
"dataId": 168008,
"tag": "",
"objectId": 35274,
"sections": [
{
"title": "Template",
"key": "SEC_0006",
"orderKey": "ORD001",
"fields": [
{
"type": "STRING",
"key": "COL0014",
"title": "Titolo template",
"searchable": false,
"valueList": [
{
"key": "",
"value": "Autorizzazione sottodominio"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD001",
"defaultValue": null,
"required": false
},
{
"type": "HTML",
"key": "COL0009",
"title": "Template",
"searchable": false,
"valueList": [
{
"key": "",
"value": "azione_form_AUTOR_firmaAutorizzazione"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD002",
"defaultValue": null,
"required": false
}
],
"attributes": []
},
{
"title": "Metadata",
"key": "SEC_0007",
"orderKey": "ORD002",
"fields": [
{
"type": "STRING",
"key": "COL0010",
"title": "Tag azione",
"searchable": false,
"valueList": [
{
"key": "",
"value": "azione_form_AUTOR_firmaAutorizzazione"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD001",
"defaultValue": null,
"required": false
},
{
"type": "STRING",
"key": "COL0011",
"title": "Tag procedimento",
"searchable": false,
"valueList": [
{
"key": "",
"value": "gestione_siti_web_nuovo_wf"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD002",
"defaultValue": null,
"required": false
},
{
"type": "STRING",
"key": "COL0012",
"title": "Tag modulo",
"searchable": false,
"valueList": [
{
"key": "",
"value": "RequestForm_GESTIONE_SITI_WEB_NUOVO"
}
],
"itemList": null,
"toManyItems": false,
"attributes": [],
"orderKey": "ORD003",
"defaultValue": null,
"required": false
}
],
"attributes": []
}
],
"categories": [],
"aclTable": [],
"master": false,
"attributes": []
}
]
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,230 @@
info:
name: Login - Backoffice
type: http
seq: 1
http:
method: POST
url: "{{elixFormsRootUrl}}/CISIInformationUnit/ExecuteTransaction.jws?IUXSID=TX_I4453_UNIPR_{{unixTimestamp}}_R{{randomRID}}"
headers:
- name: Host
value: console-unipr.elixforms.it
- name: Referer
value: https://console-unipr.elixforms.it/backoffice/
params:
- name: IUXSID
value: TX_I4453_UNIPR_{{unixTimestamp}}_R{{randomRID}}
type: query
description: Values are computed in pre-script!
body:
type: multipart-form
data:
- name: username
type: text
value: "{{elixFormsConsoleUsername}}"
- name: password
type: text
value: "{{elixFormsConsolePassword}}"
- name: INSERT_BTN00000
type: text
value: Accedi
auth: inherit
runtime:
scripts:
- type: after-response
code: |-
function generateTenDigitNumber() {
// Minimum 10-digit number: 1000000000
// Maximum 10-digit number: 9999999999
const min = 1000000000; // 10^9
const max = 9999999999; // 10^10 - 1
// Generate random integer in range [min, max]
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
return String(randomNum); // Return as string to preserve leading digits
}
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var unixTimestamp = Date.now();
//console.log(unixTimestamp);
bru.setVar("unixTimestamp", unixTimestamp);
var r = generateTenDigitNumber(); //getRandomInt(-999999999, 9999999999);
//console.log(r);
bru.setVar("randomRID", r);
/*
const headerSetCookie = res.getHeader('set-cookie');
console.log(headerSetCookie);
const split1 = headerSetCookie.map(c => c.split(';')[0]);
console.log(split1);
const split2 = split1.map(c => c.split('='));
console.log(split2);
const map = new Map(split2);
console.log(map);
bru.setVar("elixFormsAjsrvCookie", "AJSRV=" + map.get("AJSRV"));
bru.setVar("elixFormsJsessionidCookie", "JSESSIONID=" + map.get("JSESSIONID"));
*/
/*
const ajsrvCookie = bru.cookies.get("AJSRV");
const jsessionidCookie = bru.cookies.get("JSESSIONID");
//console.log("AJSRV: ", ajsrvCookie);
//console.log("JSESSIONID: ", jsessionidCookie);
bru.setVar("elixFormsAjsrvCookie", "AJSRV=" + ajsrvCookie);
bru.setVar("elixFormsJsessionidCookie", "JSESSIONID=" + jsessionidCookie);
*/
- type: tests
code: |-
test("AJSRV cookie found", function () {
const ajsrvCookie = bru.cookies.get("AJSRV");
expect(ajsrvCookie).to.not.be.null;
expect(ajsrvCookie).to.not.be.empty;
});
test("JSESSIONID cookie found", function () {
const jsessionidCookie = bru.cookies.get("JSESSIONID");
expect(jsessionidCookie).to.not.be.null;
expect(jsessionidCookie).to.not.be.empty;
});
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: false
examples:
- name: example
request:
url: https://console-unipr.elixforms.it/CISIInformationUnit/ExecuteTransaction.jws
method: POST
headers:
- name: Host
value: console-unipr.elixforms.it
- name: Referer
value: https://console-unipr.elixforms.it/backoffice/
params:
- name: IUXSID
value: TX_I4453_UNIPR_1787737266508_R-1756946974
type: query
disabled: true
body:
type: multipart-form
data:
- name: username
type: text
value: Automation_User
- name: password
type: text
value: n_HH9shL#VPeiiT^%;:t5/,jY
- name: INSERT_BTN00000
type: text
value: Accedi
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 10:34:54 GMT
- name: server
value: '""'
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: x-powered-by
value: JSP/2.2
- name: content-type
value: text/html;charset=UTF-8
- name: set-cookie
value: JSESSIONID=da31f0432559043377f947047c89; Path=/; HttpOnly
- name: vary
value: Accept-Encoding
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
- name: transfer-encoding
value: chunked
body:
type: html
data: |+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!-- include the local application global jsp file -->
<style type="text/css">
* {
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 12px;
color: #444444;
font-weight: normal;
}
.logo {padding:3em 0 0 0; margin:0;text-align:center;}
.container {padding:0; width:30em;margin:0 auto;text-align:center;}
h1 {font-weight:bold;margin: 2em 0 1em 0;}
form fieldset {border: none;text-align:left;}
form fieldset label {float:left; width:40%;display:block;text-align:right;padding: 0.3em;}
form fieldset .fieldcontainer {float:left; width55%;}
.end {clear:both;height:0.1em;line-height:0.1em;font-size:0.1em;width:100%}
</style><div class="logo"><img alt="Logo" src="/images/HeaderStemmaLogon.gif"></div><div class="container"><h1>ISIPortal - Backoffice</h1><form action="/CISIInformationUnit/ExecuteTransaction.jws?IUXSID=TX_I4453_UNIPR_1787740495631_R-970713504" method="POST" name="frmFEPA" txid="TX_I4453_UNIPR_1787740495631_R-970713504"><fieldset><label for="username">Nome Utente:</label><div class="fieldcontainer"><input class="isiportalPartialAdminFormFieldSingleLineText" id="username" name="username" type="text" value=""></div><div class="end">&nbsp;</div><label for="password">Password:</label><div class="fieldcontainer"><input class="isiportalPartialAdminFormFieldSingleLineText" id="password" name="password" type="password" value=""></div><div class="end">&nbsp;</div></fieldset><div><input class="isiportalPartialAdminINSERT_BTN00000Button" name="INSERT_BTN00000" type="submit" value="Accedi"></div></form></div>
@@ -0,0 +1,198 @@
info:
name: Login - Gestione Schede
type: http
seq: 2
http:
method: GET
url: "{{elixFormsRootUrl}}/rwe2/schema_console.jsp"
headers:
- name: Cookie
value: ISIPSESSION=dd755718a116664c31b89d25d251c6b2; AJSRV=BTN_USER_1787732684670_7497683962865219861; JSESSIONID=e480913d3ccdc8d517c2e8662d9a
disabled: true
- name: Host
value: console-unipr.elixforms.it
disabled: true
- name: Referer
value: https://console-unipr.elixforms.it/backoffice/
params:
- name: IUXSID
value: TX_I4453_UNIPR_1787737266508_R-1756946974
type: query
disabled: true
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
/*
const noAjsrvCookieFoundError = "No AJSRV cookie found!";
var ajsrvCookie = bru.getVar("elixFormsAjsrvCookie");
if (ajsrvCookie == null || ajsrvCookie === "") {
console.error(noAjsrvCookieFoundError, ajsrvCookie);
throw new Error(noAjsrvCookieFoundError);
}
*/
- type: after-response
code: |-
/*
const ajsrvCookie = bru.cookies.get("AJSRV");
const jsessionidCookie = bru.cookies.get("JSESSIONID");
const isipSessionCookie = bru.cookies.get("ISIPSESSION");
console.log("Cookies: ", bru.cookies);
bru.setVar("elixFormsAjsrvCookie", "AJSRV=" + ajsrvCookie);
bru.setVar("elixFormsJsessionidCookie", "JSESSIONID=" + jsessionidCookie);
bru.setVar("elixFormsIsipsessionCookie", "ISIPSESSION=" + isipSessionCookie);
*/
- type: tests
code: |-
test("AJSRV cookie found", function () {
const ajsrvCookie = bru.cookies.get("AJSRV");
expect(ajsrvCookie).to.not.be.null;
expect(ajsrvCookie).to.not.be.empty;
});
test("JSESSIONID cookie found", function () {
const jsessionidCookie = bru.cookies.get("JSESSIONID");
expect(jsessionidCookie).to.not.be.null;
expect(jsessionidCookie).to.not.be.empty;
});
test("ISIPSESSION cookie found", function () {
const isipsessionCookie = bru.cookies.get("ISIPSESSION");
expect(isipsessionCookie).to.not.be.null;
expect(isipsessionCookie).to.not.be.empty;
});
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: false
examples:
- name: example
request:
url: https://console-unipr.elixforms.it/CISIInformationUnit/ExecuteTransaction.jws
method: POST
headers:
- name: Host
value: console-unipr.elixforms.it
- name: Referer
value: https://console-unipr.elixforms.it/backoffice/
params:
- name: IUXSID
value: TX_I4453_UNIPR_1787737266508_R-1756946974
type: query
disabled: true
body:
type: multipart-form
data:
- name: username
type: text
value: Automation_User
- name: password
type: text
value: n_HH9shL#VPeiiT^%;:t5/,jY
- name: INSERT_BTN00000
type: text
value: Accedi
response:
status: 200
statusText: OK
headers:
- name: date
value: Wed, 26 Aug 2026 10:34:54 GMT
- name: server
value: '""'
- name: content-security-policy
value: "default-src https: data: 'unsafe-inline' 'unsafe-eval'; img-src 'self' blob: data: https:;"
- name: x-powered-by
value: JSP/2.2
- name: content-type
value: text/html;charset=UTF-8
- name: set-cookie
value: JSESSIONID=da31f0432559043377f947047c89; Path=/; HttpOnly
- name: vary
value: Accept-Encoding
- name: strict-transport-security
value: max-age=31536000; includeSubDomains
- name: x-frame-options
value: SAMEORIGIN
- name: x-xss-protection
value: "1"
- name: x-content-type-options
value: nosniff
- name: referrer-policy
value: unsafe-url
- name: keep-alive
value: timeout=10, max=500
- name: connection
value: Keep-Alive
- name: transfer-encoding
value: chunked
body:
type: html
data: |+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!-- include the local application global jsp file -->
<style type="text/css">
* {
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 12px;
color: #444444;
font-weight: normal;
}
.logo {padding:3em 0 0 0; margin:0;text-align:center;}
.container {padding:0; width:30em;margin:0 auto;text-align:center;}
h1 {font-weight:bold;margin: 2em 0 1em 0;}
form fieldset {border: none;text-align:left;}
form fieldset label {float:left; width:40%;display:block;text-align:right;padding: 0.3em;}
form fieldset .fieldcontainer {float:left; width55%;}
.end {clear:both;height:0.1em;line-height:0.1em;font-size:0.1em;width:100%}
</style><div class="logo"><img alt="Logo" src="/images/HeaderStemmaLogon.gif"></div><div class="container"><h1>ISIPortal - Backoffice</h1><form action="/CISIInformationUnit/ExecuteTransaction.jws?IUXSID=TX_I4453_UNIPR_1787740495631_R-970713504" method="POST" name="frmFEPA" txid="TX_I4453_UNIPR_1787740495631_R-970713504"><fieldset><label for="username">Nome Utente:</label><div class="fieldcontainer"><input class="isiportalPartialAdminFormFieldSingleLineText" id="username" name="username" type="text" value=""></div><div class="end">&nbsp;</div><label for="password">Password:</label><div class="fieldcontainer"><input class="isiportalPartialAdminFormFieldSingleLineText" id="password" name="password" type="password" value=""></div><div class="end">&nbsp;</div></fieldset><div><input class="isiportalPartialAdminINSERT_BTN00000Button" name="INSERT_BTN00000" type="submit" value="Accedi"></div></form></div>
@@ -0,0 +1,12 @@
info:
name: Console UI
type: folder
seq: 3
request:
scripts:
- type: tests
code: |-
test("Status code is 200", function () {
expect(res.getStatus()).to.equal(200);
});
@@ -1,7 +1,7 @@
info:
name: EFTL processing
type: folder
seq: 5
seq: 7
request:
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Request details
type: folder
seq: 8
seq: 10
request:
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Requests lookup
type: folder
seq: 7
seq: 9
request:
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Runner- Get Proposta CCT matching contract IDs
type: folder
seq: 2
seq: 5
request:
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Runner- Get all requests by ModuleTag and status
type: folder
seq: 1
seq: 4
request:
auth: inherit
@@ -1,7 +1,7 @@
info:
name: "Set Request Status: Incomplete"
type: http
seq: 13
seq: 15
http:
method: POST
@@ -1,7 +1,7 @@
info:
name: Test Remote WS
type: http
seq: 4
seq: 6
http:
method: GET
@@ -1,7 +1,7 @@
info:
name: User info
type: folder
seq: 9
seq: 11
request:
auth: inherit
@@ -1,23 +0,0 @@
info:
name: Export Module
type: http
seq: 1
http:
method: GET
url: "{{elixFormsRootUrl}}/AJSRV/ELIXFORMS/moduleExport?MODULE_ID=21405&exportProtocol=true"
params:
- name: MODULE_ID
value: "21405"
type: query
- name: exportProtocol
value: "true"
type: query
auth: inherit
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
forwardAuthorizationHeader: true
@@ -1,7 +0,0 @@
info:
name: _HACKS
type: folder
seq: 3
request:
auth: inherit
@@ -3,19 +3,17 @@ color: "#2E8A54"
variables:
- name: elixFormsApiUrl
value: https://procedure.unipr.it/eF/services/api
description: ""
- name: elixFormsApiUsername
value: "{{process.env.elixFormsApiUsername}}"
description: ""
- name: elixFormsWsAuthenticationToken
value: "{{process.env.elixFormsWsAuthenticationToken}}"
description: ""
- name: elixFormsApiUrl_Default
value: https://procedure.unipr.it/eF/api
description: ""
- name: elixFormsApiPassword
value: "{{process.env.elixFormsApiPassword}}"
description: ""
- name: elixFormsRootUrl
value: https://procedure.unipr.it
description: ""
value: https://console-unipr.elixforms.it
- name: elixFormsConsoleUsername
value: "{{process.env.elixFormsConsoleUsername}}"
- name: elixFormsConsolePassword
value: "{{process.env.elixFormsConsolePassword}}"
+3
View File
@@ -1,6 +1,7 @@
{
"Config": {
"ExcludeFromBruno": [
"elixFormsRootUrl",
"elixFormsApiUrl",
"elixFormsApiUrl_Default",
"elixFormsRootUrl",
@@ -18,6 +19,8 @@
"elixFormsRootUrl": "https://console-unipr.elixforms.it",
"elixFormsApiUsername": null,
"elixFormsApiPassword": null,
"elixFormsConsoleUsername": null,
"elixFormsConsolePassword": null,
"elixFormsWsAuthenticationToken": null
},
"ESSE3 Anagrafica API": {