From 13bee1e637685d9d075d6034ef7a39e16861ac7c Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Fri, 18 Jun 2021 09:59:10 -0700 Subject: [PATCH 001/138] NOJIRA First round of Selenium script fixing post-REACT. Also added a line in the backend build to include the very-dangerous profile when running the integration tests so that they can clean up before execution of each test. --- backend/build.gradle | 1 + .../admin/ui/SeleniumSIDETest.groovy | 50 +- .../integration/resources/SHIBUI-1281.side | 1082 +++++----- .../integration/resources/SHIBUI-1311.side | 614 +++--- .../integration/resources/SHIBUI-1333.side | 1170 ++++++----- .../integration/resources/SHIBUI-1334-1.side | 1296 ++++++------ .../integration/resources/SHIBUI-1352-1.side | 271 ++- .../integration/resources/SHIBUI-1352-2.side | 197 +- .../integration/resources/SHIBUI-1364-1.side | 1752 +++++++++-------- .../integration/resources/SHIBUI-1364-2.side | 582 +++--- .../integration/resources/SHIBUI-1364-3.side | 626 +++--- .../integration/resources/SHIBUI-1364-4.side | 908 +++++---- .../src/integration/resources/SHIBUI-950.side | 74 +- 13 files changed, 4856 insertions(+), 3767 deletions(-) diff --git a/backend/build.gradle b/backend/build.gradle index 9744cbf84..7391bc75e 100644 --- a/backend/build.gradle +++ b/backend/build.gradle @@ -226,6 +226,7 @@ task integrationTest(type: Test) { classpath = sourceSets.integrationTest.runtimeClasspath systemProperties = System.properties systemProperties['user.dir'] = workingDir + systemProperties['spring.profiles.include'] = 'very-dangerous' } task enversTest(type: Test) { diff --git a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy index 75167259a..202720249 100644 --- a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy +++ b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy @@ -101,32 +101,32 @@ class SeleniumSIDETest extends Specification { // TODO: Uncomment the below commented tests once they've been updated to use the new configuration screen where: name | file - 'SHIBUI-1364: Compare FBHTTPMP with filters' | '/SHIBUI-1364-1.side' - 'SHIBUI-1364: Compare FSMP with filters' | '/SHIBUI-1364-2.side' - 'SHIBUI-1364: Compare LDMP with filters' | '/SHIBUI-1364-3.side' - 'SHIBUI-1364: Compare DHTTPMP with filters' | '/SHIBUI-1364-4.side' - 'SHIBUI-1281: Metadata Source Dashboard' | '/SHIBUI-1281.side' - 'SHIBUI-1311: Metadata Provider Dashboard' | '/SHIBUI-1311.side' - 'SHIBUI-950: Metadata Source from XML w/ digest' | '/SHIBUI-950.side' - 'SHIBUI-1352: Create LocalDynamic provider' | '/SHIBUI-1352-1.side' - 'SHIBUI-1352: Create FileSystem provider' | '/SHIBUI-1352-2.side' - 'SHIBUI-1333: Verify metadata source configuration' | '/SHIBUI-1333.side' - 'SHIBUI-1334: Verify metadata source versioning' | '/SHIBUI-1334-1.side' +// 'SHIBUI-1364: Compare FBHTTPMP with filters' | '/SHIBUI-1364-1.side' +// 'SHIBUI-1364: Compare FSMP with filters' | '/SHIBUI-1364-2.side' // bug +// 'SHIBUI-1364: Compare LDMP with filters' | '/SHIBUI-1364-3.side' // bug +// 'SHIBUI-1364: Compare DHTTPMP with filters' | '/SHIBUI-1364-4.side' +// 'SHIBUI-1281: Metadata Source Dashboard' | '/SHIBUI-1281.side' +// 'SHIBUI-1311: Metadata Provider Dashboard' | '/SHIBUI-1311.side' +// 'SHIBUI-950: Metadata Source from XML w/ digest' | '/SHIBUI-950.side' +// 'SHIBUI-1352: Create LocalDynamic provider' | '/SHIBUI-1352-1.side' +// 'SHIBUI-1352: Create FileSystem provider' | '/SHIBUI-1352-2.side' +// 'SHIBUI-1333: Verify metadata source configuration' | '/SHIBUI-1333.side' +// 'SHIBUI-1334: Verify metadata source versioning' | '/SHIBUI-1334-1.side' 'SHIBUI-1334: Verify metadata provider versioning' | '/SHIBUI-1334-2.side' - 'SHIBUI-1335: Verify File Backed HTTP Metadata Provider Filters' | '/SHIBUI-1335-1.side' - 'SHIBUI-1335: Verify Filesystem Metadata Provider Filters' | '/SHIBUI-1335-2.side' - 'SHIBUI-1335: Verify Local Dynamic Metadata Provider Filters' | '/SHIBUI-1335-3.side' - 'SHIBUI-1335: Verify Dynamic HTTP Metadata Provider Filters' | '/SHIBUI-1335-4.side' - 'SHIBUI-1392: Verify provider with script filter is persistable' | '/SHIBUI-1392.side' - 'SHIBUI-1361: Verify dates display in proper format' | '/SHIBUI-1361.side' - 'SHIBUI-1385: Restore a metadata source version' | '/SHIBUI-1385-1.side' - 'SHIBUI-1385: Restore a metadata provider version' | '/SHIBUI-1385-2.side' - 'SHIBUI-1391: Regex Validation' | '/SHIBUI-1391.side' - 'SHIBUI-1407: Metadata source comparison highlights' | '/SHIBUI-1407-1.side' - 'SHIBUI-1407: Metadata provider comparison highlights' | '/SHIBUI-1407-2.side' - 'SHIBUI-1503: Non-admin can create metadata source' | '/SHIBUI-1503-1.side' - 'SHIBUI-1503: User can be deleted' | '/SHIBUI-1503-2.side' - 'SHIBUI-1503: User can be enabled' | '/SHIBUI-1503-3.side' +// 'SHIBUI-1335: Verify File Backed HTTP Metadata Provider Filters' | '/SHIBUI-1335-1.side' +// 'SHIBUI-1335: Verify Filesystem Metadata Provider Filters' | '/SHIBUI-1335-2.side' +// 'SHIBUI-1335: Verify Local Dynamic Metadata Provider Filters' | '/SHIBUI-1335-3.side' +// 'SHIBUI-1335: Verify Dynamic HTTP Metadata Provider Filters' | '/SHIBUI-1335-4.side' +// 'SHIBUI-1392: Verify provider with script filter is persistable' | '/SHIBUI-1392.side' +// 'SHIBUI-1361: Verify dates display in proper format' | '/SHIBUI-1361.side' +// 'SHIBUI-1385: Restore a metadata source version' | '/SHIBUI-1385-1.side' +// 'SHIBUI-1385: Restore a metadata provider version' | '/SHIBUI-1385-2.side' +// 'SHIBUI-1391: Regex Validation' | '/SHIBUI-1391.side' +// 'SHIBUI-1407: Metadata source comparison highlights' | '/SHIBUI-1407-1.side' +// 'SHIBUI-1407: Metadata provider comparison highlights' | '/SHIBUI-1407-2.side' +// 'SHIBUI-1503: Non-admin can create metadata source' | '/SHIBUI-1503-1.side' +// 'SHIBUI-1503: User can be deleted' | '/SHIBUI-1503-2.side' +// 'SHIBUI-1503: User can be enabled' | '/SHIBUI-1503-3.side' } } diff --git a/backend/src/integration/resources/SHIBUI-1281.side b/backend/src/integration/resources/SHIBUI-1281.side index 7b66e3fd1..9b715c3f0 100644 --- a/backend/src/integration/resources/SHIBUI-1281.side +++ b/backend/src/integration/resources/SHIBUI-1281.side @@ -49,41 +49,64 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "f03af8d5-5875-4a2c-b93a-c3ddcbd4b16a", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "081f495b-4d84-4758-824c-1e85b6311e7f", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "9e912dd5-6ace-45be-bafd-2d1655906575", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "ad3811ad-f95b-4cca-a5d9-63a10063a652", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "1caf8be6-a4d9-4b3b-ace1-0f76d3600d62", "comment": "", "command": "click", - "target": "linkText=Metadata Source", + "target": "linkText=Add a new metadata source", "targets": [ - ["linkText=Metadata Source", "linkText"], - ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], - ["xpath=//div/a", "xpath:position"] + ["linkText=Add a new metadata source", "linkText"], + ["css=.text-primary:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata source')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/new')]", "xpath:href"], + ["xpath=//div/a", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata source')]", "xpath:innerText"] ], "value": "" }, { "id": "218e51fd-49e6-400b-9d7f-61bcd8e0c074", "comment": "", "command": "click", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ - ["id=/serviceProviderName", "id"], - ["name=field1", "name"], - ["css=#\\/serviceProviderName", "css:finder"], - ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -91,7 +114,7 @@ "id": "9ee43e46-ab9e-46b1-8eb2-9718fb98bda2", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ ["id=field1", "id"], ["name=field1", "name"], @@ -104,13 +127,13 @@ "id": "7fe7298b-275c-4797-8d1b-f4547b63eb02", "comment": "", "command": "type", - "target": "id=/entityId", + "target": "id=root_entityId", "targets": [ - ["id=/entityId", "id"], - ["name=field2", "name"], - ["css=#\\/entityId", "css:finder"], - ["xpath=//input[@id='/entityId']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_entityId", "id"], + ["css=#root_entityId", "css:finder"], + ["xpath=//input[@id='root_entityId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "test-1234" }, { @@ -127,12 +150,12 @@ "id": "4d88e469-df2f-40ee-a557-b5eafbc24ef3", "comment": "", "command": "click", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ - ["id=/organization/name", "id"], - ["name=field5", "name"], - ["css=#\\/organization\\/name", "css:finder"], - ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["id=root_organization_name", "id"], + ["css=#root_organization_name", "css:finder"], + ["xpath=//input[@id='root_organization_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -140,7 +163,7 @@ "id": "e0168286-af90-4c0a-a0ba-0dd97d64849b", "comment": "", "command": "type", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ ["id=field5", "id"], ["name=field5", "name"], @@ -153,57 +176,59 @@ "id": "8f6dcf95-41e4-446a-a7fb-a064d928e1bc", "comment": "", "command": "type", - "target": "id=/organization/displayName", + "target": "id=root_organization_displayName", "targets": [ - ["id=/organization/displayName", "id"], - ["name=field6", "name"], - ["css=#\\/organization\\/displayName", "css:finder"], - ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_displayName", "id"], + ["css=#root_organization_displayName", "css:finder"], + ["xpath=//input[@id='root_organization_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "Test Org Name" }, { "id": "7cc2068e-3fa3-4f1c-ac97-c63e78911b9e", "comment": "", "command": "type", - "target": "id=/organization/url", + "target": "id=root_organization_url", "targets": [ - ["id=/organization/url", "id"], - ["name=field7", "name"], - ["css=#\\/organization\\/url", "css:finder"], - ["xpath=//input[@id='/organization/url']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_url", "id"], + ["css=#root_organization_url", "css:finder"], + ["xpath=//input[@id='root_organization_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org" }, { "id": "1da05567-4f8d-4fd8-957a-bfddb2380bfb", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "5379b245-cd77-43c1-b424-3b6595c74174", "comment": "", "command": "click", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=/contacts/0/name", "id"], - ["name=field10", "name"], - ["css=#\\/contacts\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b658cae2-ba5a-406b-a48c-87d110ff4ed0", "comment": "", "command": "type", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ ["id=field10", "id"], ["name=field10", "name"], @@ -216,12 +241,12 @@ "id": "3a2de62d-c1c1-43a7-a484-8a0d23bf301e", "comment": "", "command": "click", - "target": "id=/contacts/0/type", + "target": "id=root_contacts_0_type", "targets": [ - ["id=/contacts/0/type", "id"], - ["name=field11", "name"], - ["css=#\\/contacts\\/0\\/type", "css:finder"], - ["xpath=//select[@id='/contacts/0/type']", "xpath:attributes"], + ["id=root_contacts_0_type", "id"], + ["css=#root_contacts_0_type", "css:finder"], + ["xpath=//select[@id='root_contacts_0_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "" @@ -229,27 +254,27 @@ "id": "86e4e429-2a72-496a-add8-df2fc079d157", "comment": "", "command": "select", - "target": "id=/contacts/0/type", + "target": "id=root_contacts_0_type", "targets": [], - "value": "label=Technical" + "value": "label=technical" }, { "id": "95531b0b-c084-422d-bac9-60ee7e7a9f16", "comment": "", "command": "click", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ - ["id=/contacts/0/emailAddress", "id"], - ["name=field12", "name"], - ["css=#\\/contacts\\/0\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/0/emailAddress']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_emailAddress", "id"], + ["css=#root_contacts_0_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_0_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "e5d6662e-38d4-479f-b76b-c0c05fcabe15", "comment": "", "command": "type", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ ["id=field12", "id"], ["name=field12", "name"], @@ -262,18 +287,20 @@ "id": "b4e3ea55-b4c0-4585-99fe-ac1534efadd8", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "234de758-df6d-47d7-af74-83aee3fa1e72", "comment": "", "command": "click", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ ["id=/contacts/1/name", "id"], ["name=field14", "name"], @@ -286,7 +313,7 @@ "id": "02819e27-7aed-4a1a-867f-f8131c3897d8", "comment": "", "command": "type", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ ["id=field14", "id"], ["name=field14", "name"], @@ -299,7 +326,7 @@ "id": "1d478856-8742-4627-acbe-daed2bb83abe", "comment": "", "command": "click", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ ["css=#field15 > option:nth-child(2)", "css:finder"], ["xpath=(//option[@value='1: support'])[2]", "xpath:attributes"], @@ -311,7 +338,7 @@ "id": "9b4c76b4-3851-4aac-a9f5-67e20c36f174", "comment": "", "command": "select", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ ["id=/contacts/1/type", "id"], ["name=field15", "name"], @@ -319,12 +346,12 @@ ["xpath=//select[@id='/contacts/1/type']", "xpath:attributes"], ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] ], - "value": "label=Support" + "value": "label=support" }, { "id": "5e3fddc1-786d-4040-8351-2f553e3c8811", "comment": "", "command": "click", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ ["id=/contacts/1/emailAddress", "id"], ["name=field16", "name"], @@ -337,7 +364,7 @@ "id": "700d8907-6a65-43d5-aebf-60a392379534", "comment": "", "command": "type", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ ["id=field16", "id"], ["name=field16", "name"], @@ -360,12 +387,12 @@ "id": "f38b7fca-0c0c-4658-9df6-10a26881c6a5", "comment": "", "command": "click", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=/mdui/displayName", "id"], - ["name=field19", "name"], - ["css=#\\/mdui\\/displayName", "css:finder"], - ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -373,7 +400,7 @@ "id": "c03c4582-e1f1-449f-9a79-300d48ad69d8", "comment": "", "command": "type", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ ["id=field19", "id"], ["name=field19", "name"], @@ -386,25 +413,25 @@ "id": "5098507c-fa51-4c13-b9a3-381034e0fa52", "comment": "", "command": "type", - "target": "id=/mdui/informationUrl", + "target": "id=root_mdui_informationUrl", "targets": [ - ["id=/mdui/informationUrl", "id"], - ["name=field20", "name"], - ["css=#\\/mdui\\/informationUrl", "css:finder"], - ["xpath=//input[@id='/mdui/informationUrl']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_informationUrl", "id"], + ["css=#root_mdui_informationUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_informationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/info" }, { "id": "d5de3699-5a18-4abe-a2ea-0a2b7565c525", "comment": "", "command": "type", - "target": "id=/mdui/description", + "target": "id=root_mdui_description", "targets": [ - ["id=/mdui/description", "id"], - ["name=field21", "name"], - ["css=#\\/mdui\\/description", "css:finder"], - ["xpath=//textarea[@id='/mdui/description']", "xpath:attributes"], + ["id=root_mdui_description", "id"], + ["css=#root_mdui_description", "css:finder"], + ["xpath=//textarea[@id='root_mdui_description']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[3]/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "This is a description." @@ -412,20 +439,20 @@ "id": "115bb9a9-e991-4cf0-8bcb-363d9dc3c269", "comment": "", "command": "click", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ - ["id=/mdui/privacyStatementUrl", "id"], - ["name=field22", "name"], - ["css=#\\/mdui\\/privacyStatementUrl", "css:finder"], - ["xpath=//input[@id='/mdui/privacyStatementUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_privacyStatementUrl", "id"], + ["css=#root_mdui_privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_privacyStatementUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "df623bef-a1fc-48ff-aa93-05e0da85ef51", "comment": "", "command": "type", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ ["id=field22", "id"], ["name=field22", "name"], @@ -438,39 +465,39 @@ "id": "ed17408b-a763-4e5d-86cd-efe575df8d08", "comment": "", "command": "type", - "target": "id=/mdui/logoUrl", + "target": "id=root_mdui_logoUrl", "targets": [ - ["id=/mdui/logoUrl", "id"], - ["name=field23", "name"], - ["css=#\\/mdui\\/logoUrl", "css:finder"], - ["xpath=//input[@id='/mdui/logoUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_logoUrl", "id"], + ["css=#root_mdui_logoUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_logoUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/logo" }, { "id": "2946a968-7289-43e5-820d-b1aee442ce96", "comment": "", "command": "type", - "target": "id=/mdui/logoWidth", + "target": "id=root_mdui_logoWidth", "targets": [ - ["id=/mdui/logoWidth", "id"], - ["name=field24", "name"], - ["css=#\\/mdui\\/logoWidth", "css:finder"], - ["xpath=//input[@id='/mdui/logoWidth']", "xpath:attributes"], - ["xpath=//integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoWidth", "id"], + ["css=#root_mdui_logoWidth", "css:finder"], + ["xpath=//input[@id='root_mdui_logoWidth']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "200" }, { "id": "ceec5477-13d4-4ab4-944e-a2a34a9b4510", "comment": "", "command": "type", - "target": "id=/mdui/logoHeight", + "target": "id=root_mdui_logoHeight", "targets": [ - ["id=/mdui/logoHeight", "id"], - ["name=field25", "name"], - ["css=#\\/mdui\\/logoHeight", "css:finder"], - ["xpath=//input[@id='/mdui/logoHeight']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoHeight", "id"], + ["css=#root_mdui_logoHeight", "css:finder"], + ["xpath=//input[@id='root_mdui_logoHeight']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[3]/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/input", "xpath:position"] ], "value": "300" }, { @@ -487,20 +514,20 @@ "id": "88054c63-d468-4340-b4d3-c69fb6ed6f96", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: SAML 2']", "xpath:attributes"], - ["xpath=//select[@id='field28']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SAML 2')]", "xpath:innerText"] + ["id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "id"], + ["css=#root_serviceProviderSsoDescriptor_protocolSupportEnum", "css:finder"], + ["xpath=//select[@id='root_serviceProviderSsoDescriptor_protocolSupportEnum']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "c77b3648-fce1-46f9-aec9-ca88c90d4c92", "comment": "", "command": "select", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ ["id=/serviceProviderSsoDescriptor/protocolSupportEnum", "id"], ["name=field28", "name"], @@ -513,11 +540,13 @@ "id": "aec93dce-3142-4df3-b09d-735c70d1197b", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -531,13 +560,12 @@ "id": "a0102f51-f1d8-4c38-9170-482022ea7397", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", + "target": "css=.toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -551,23 +579,29 @@ "id": "9033e5ad-4255-4aa7-a878-c7beab69ee8e", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "c21b1d7a-9325-4d70-887d-387c7a042c08", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -581,12 +615,9 @@ "id": "c1534880-c4e5-4fbd-b200-c28f9f556ab9", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", + "target": "css=div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid .svg-inline--fa", "css:finder"] ], "value": "" }, { @@ -600,24 +631,29 @@ "id": "d07b2d83-3699-4f48-90e8-6fc883d3a02a", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "2c77ecbc-45cc-471c-9e39-f87ec06a9385", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -631,7 +667,7 @@ "id": "97a98737-862d-4567-8b20-c5c991444ed0", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", + "target": "css=div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], @@ -650,20 +686,23 @@ "id": "686e004c-2b0f-4308-8622-b04bc05a50a9", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "104367d3-f250-4439-8721-32dcf9f25e0c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -681,7 +720,7 @@ "id": "e2e8d5d4-8b6a-42d5-9fe7-abb8a84216e3", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", + "target": "css=div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], @@ -700,38 +739,49 @@ "id": "b6ac5230-772b-44bc-b9d1-6ae8a58e0368", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "d135ef80-69d8-4cd1-b581-5e1973342082", "comment": "", "command": "click", - "target": "css=.btn-success > translate-i18n", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.next", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/nav/ul/li[3]/button", "xpath:idRelative"], + ["xpath=//li[3]/button", "xpath:position"] ], "value": "" }, { "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/4", + "target": "css=div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=field34", "id"], - ["css=#field34", "css:finder"], - ["xpath=//input[@id='field34']", "xpath:attributes"], - ["xpath=//div[@id='field34-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "3cfbc4e0-f120-43ca-8a59-8727f91b5a1c", + "comment": "", + "command": "sendKeys", + "target": "css=div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -742,27 +792,36 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" + }, { + "id": "ae5043da-4b98-4f02-a801-207a331fa9b3", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" }, { "id": "0de0345e-c9d2-4904-b797-a36965c5d82c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "62ade28b-19d4-4c54-b179-0d36312c578f", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ - ["id=/logoutEndpoints/0/url", "id"], - ["name=field38", "name"], - ["css=#\\/logoutEndpoints\\/0\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/0/url']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_url", "id"], + ["css=#root_logoutEndpoints_0_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_0_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -770,7 +829,7 @@ "id": "517e5991-197d-42fd-86ff-4da5fd04949b", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ ["id=field38", "id"], ["name=field38", "name"], @@ -783,20 +842,20 @@ "id": "034f6a60-6b2d-42f1-adb4-515c8a750953", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field39']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_logoutEndpoints_0_bindingType", "id"], + ["css=#root_logoutEndpoints_0_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_0_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "6967d0bb-dbf7-4f57-9e55-6de71abd69c1", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ ["id=/logoutEndpoints/0/bindingType", "id"], ["name=field39", "name"], @@ -809,7 +868,7 @@ "id": "542f9b37-a63d-4acb-ba3e-2ac3706b6667", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -819,20 +878,20 @@ "id": "39dedb16-bcd2-496a-af85-7d20a129593b", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ - ["id=/logoutEndpoints/1/url", "id"], - ["name=field41", "name"], - ["css=#\\/logoutEndpoints\\/1\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/1/url']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_logoutEndpoints_1_url", "id"], + ["css=#root_logoutEndpoints_1_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_1_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d25f708c-f72a-4fb7-88c1-a25a61d9f72a", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ ["id=field41", "id"], ["name=field41", "name"], @@ -845,19 +904,20 @@ "id": "bee9600e-b6db-484a-9b87-d7c657911108", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ - ["css=#field42 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redir'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field42']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_logoutEndpoints_1_bindingType", "id"], + ["css=#root_logoutEndpoints_1_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_1_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "e0e7ef9b-4ed1-4df2-b501-9cbb855baa7f", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ ["id=/logoutEndpoints/1/bindingType", "id"], ["name=field42", "name"], @@ -876,60 +936,52 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "6c794e94-9c64-4683-816a-380432f2ed79", - "comment": "", - "command": "click", - "target": "id=/securityInfo/x509CertificateAvailable.true", - "targets": [ - ["id=/securityInfo/x509CertificateAvailable.true", "id"], - ["css=#\\/securityInfo\\/x509CertificateAvailable\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509CertificateAvailable.true']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" }, { "id": "f0ade90e-2c31-4a77-b936-3b2a00388477", "comment": "", "command": "click", - "target": "id=/securityInfo/authenticationRequestsSigned.true", + "target": "id=root_securityInfo_authenticationRequestsSigned-value.true", "targets": [ - ["id=/securityInfo/authenticationRequestsSigned.true", "id"], - ["css=#\\/securityInfo\\/authenticationRequestsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/authenticationRequestsSigned.true']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_authenticationRequestsSigned-value.true", "id"], + ["name=root_securityInfo_authenticationRequestsSigned", "name"], + ["css=#root_securityInfo_authenticationRequestsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_authenticationRequestsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "e26eda6f-1897-42e2-9ea9-671b1ff88874", "comment": "", "command": "click", - "target": "id=/securityInfo/wantAssertionsSigned.true", + "target": "id=root_securityInfo_wantAssertionsSigned-value.true", "targets": [ - ["id=/securityInfo/wantAssertionsSigned.true", "id"], - ["css=#\\/securityInfo\\/wantAssertionsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/wantAssertionsSigned.true']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_wantAssertionsSigned-value.true", "id"], + ["name=root_securityInfo_wantAssertionsSigned", "name"], + ["css=#root_securityInfo_wantAssertionsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_wantAssertionsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "3e11e54a-1b36-43ed-a8e5-d91f1fbed991", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ - ["id=/securityInfo/x509Certificates/0/name", "id"], - ["name=field50", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/name']", "xpath:attributes"], - ["xpath=//div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5acb8e19-16a3-4139-a961-1b58c11c4681", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ ["id=field50", "id"], ["name=field50", "name"], @@ -942,25 +994,26 @@ "id": "23ff8b87-ac6c-4f82-a779-aa91be11f49c", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/type.0", + "target": "id=root_securityInfo_x509Certificates_0_type-signing", "targets": [ - ["id=/securityInfo/x509Certificates/0/type.0", "id"], - ["name=field55", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/type\\.0", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/type.0']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_type-signing", "id"], + ["name=root_securityInfo_x509Certificates_0_type", "name"], + ["css=#root_securityInfo_x509Certificates_0_type-signing", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_type-signing']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dd15088c-ddc9-42fd-8f8d-f73338be71b6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ - ["id=/securityInfo/x509Certificates/0/value", "id"], - ["name=field52", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/0/value']", "xpath:attributes"], + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "" @@ -968,7 +1021,7 @@ "id": "813bf709-6c73-41ac-837a-5be076fa43c7", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ ["name=field52", "name"], ["css=.text-widget", "css:finder"], @@ -980,30 +1033,33 @@ "id": "fcf4cc15-54f4-4add-a093-e7ba5f2dc556", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "cbe577f6-3d18-49d9-95ab-2e597e5308a6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ - ["id=/securityInfo/x509Certificates/1/name", "id"], - ["name=field54", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_name", "id"], + ["css=#root_securityInfo_x509Certificates_1_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "ae98e813-77f4-424e-9141-d48e6127d9b6", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ ["id=field54", "id"], ["name=field54", "name"], @@ -1016,32 +1072,33 @@ "id": "835ad053-0a10-4606-a148-c7ba36be316f", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/type.1", + "target": "id=root_securityInfo_x509Certificates_1_type-encryption", "targets": [ - ["id=/securityInfo/x509Certificates/1/type.1", "id"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/type\\.1", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/type.1']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-radio-widget/div/div[2]/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_type-encryption", "id"], + ["css=#root_securityInfo_x509Certificates_1_type-encryption", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_type-encryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "e272cafa-3aba-4aff-972e-b1d45e627b88", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ - ["id=/securityInfo/x509Certificates/1/value", "id"], - ["name=field56", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/1/value']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_value", "id"], + ["css=#root_securityInfo_x509Certificates_1_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_1_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:position"] ], "value": "" }, { "id": "ae42d668-92ba-4cb8-9daf-a2a64ac18404", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ ["name=field56", "name"], ["css=.ng-untouched:nth-child(3)", "css:finder"], @@ -1063,23 +1120,25 @@ "id": "573c9f4c-c677-4175-96c5-3aaaf86e5ac1", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "50c1a3a1-b51c-41f9-81ff-d3d2894861ad", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ - ["id=/assertionConsumerServices/0/locationUrl", "id"], - ["name=field60", "name"], - ["css=#\\/assertionConsumerServices\\/0\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/0/locationUrl']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_locationUrl", "id"], + ["css=#root_assertionConsumerServices_0_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -1087,12 +1146,12 @@ "id": "6ff4002a-1c57-4778-b402-f917efaa5194", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ - ["id=field60", "id"], - ["name=field60", "name"], - ["css=#field60", "css:finder"], - ["xpath=//input[@id='field60']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_locationUrl", "id"], + ["css=#root_assertionConsumerServices_0_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "http://test.org/assert" @@ -1100,20 +1159,20 @@ "id": "e81c5045-98c3-499c-bff5-2645efa4c55d", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field61']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_binding", "id"], + ["css=#root_assertionConsumerServices_0_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_0_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "24c810c8-747a-4ae2-91e5-16685d589f21", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ ["id=/assertionConsumerServices/0/binding", "id"], ["name=field61", "name"], @@ -1126,41 +1185,46 @@ "id": "c221b1f5-2961-4cbd-a545-1e34a09b8153", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_assertionConsumerServices_0_makeDefault", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Mark as Default')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_makeDefault", "id"], + ["css=#root_assertionConsumerServices_0_makeDefault", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_makeDefault']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "cb058717-f20f-4a54-81e5-9a7dcf66ec0e", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "f9998203-830b-44d3-8392-45b737544177", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ - ["id=/assertionConsumerServices/1/locationUrl", "id"], - ["name=field64", "name"], - ["css=#\\/assertionConsumerServices\\/1\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/1/locationUrl']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_assertionConsumerServices_1_locationUrl", "id"], + ["css=#root_assertionConsumerServices_1_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_1_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d5cbf5e8-7c5b-45f7-8645-dd9f9d39922e", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ ["id=field64", "id"], ["name=field64", "name"], @@ -1173,19 +1237,20 @@ "id": "74de4187-3d1e-4a4d-af8e-966f00649ab8", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ - ["css=#field65 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:1.0:profiles:browser-po'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field65']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_assertionConsumerServices_1_binding", "id"], + ["css=#root_assertionConsumerServices_1_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_1_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "929c1047-f455-418b-b23e-a383d681f028", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ ["id=/assertionConsumerServices/1/binding", "id"], ["name=field65", "name"], @@ -1205,104 +1270,131 @@ ], "value": "" }, { - "id": "134bf1f3-1e86-49e7-91de-185e513b02be", + "id": "5cd1ae5f-678a-4be8-a03f-b290006e52fe", "comment": "", "command": "click", - "target": "css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", + "target": "id=root_relyingPartyOverrides_dontSignResponse", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_dontSignResponse", "id"], + ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "5cd1ae5f-678a-4be8-a03f-b290006e52fe", + "id": "bd73bc0a-0122-48fc-886e-491017fda682", + "comment": "", + "command": "assertText", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > p", + "targets": [ + ["css=.fade > .m-0", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/p", "xpath:idRelative"], + ["xpath=//p", "xpath:position"] + ], + "value": "Unless the response or the assertions are signed, SAML security is compromised and the service should reject the SAML response. (If it doesn't, investigate, as that is serious unless the HTTP-Artifact binding is in use.)" + }, { + "id": "134bf1f3-1e86-49e7-91de-185e513b02be", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_signAssertion", "targets": [ - ["css=div:nth-child(2) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ["id=root_relyingPartyOverrides_signAssertion", "id"], + ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "5895d555-6ef5-4344-b177-00e905f9007c", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=div:nth-child(3) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "8d834380-e312-494d-9b4b-c5b798cc9b15", "comment": "", "command": "click", - "target": "css=div:nth-child(4) .custom-control-label", + "target": "id=root_relyingPartyOverrides_useSha", "targets": [ - ["css=div:nth-child(4) .custom-control-label", "css:finder"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_useSha", "id"], + ["css=#root_relyingPartyOverrides_useSha", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "bcf532a9-ba5a-4ca1-a342-dde53bc4a592", "comment": "", "command": "click", - "target": "css=div:nth-child(5) .custom-control-label", + "target": "id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "targets": [ - ["css=div:nth-child(5) .custom-control-label", "css:finder"], - ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "id"], + ["css=#root_relyingPartyOverrides_ignoreAuthenticationMethod", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_ignoreAuthenticationMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "45f3df44-1c34-4649-aedb-14207e9ce999", "comment": "", "command": "click", - "target": "css=div:nth-child(6) .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=div:nth-child(6) .custom-control-label", "css:finder"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7ccb7d88-b113-4ee9-8582-b3d781fa8846", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field121", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "afe1b839-3421-4816-bf69-c804add681ba", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=field75", "id"], - ["name=field75", "name"], - ["css=#field75", "css:finder"], - ["xpath=//input[@id='field75']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "responder-id-123" }, { "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1316,13 +1408,12 @@ "id": "2a91666b-5453-4064-8923-c3384835b6fd", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1336,20 +1427,23 @@ "id": "6e8718ef-e053-48d8-91e5-f5128e371f56", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1367,12 +1461,12 @@ "id": "fd33610c-dbca-410d-b2a4-117a1b2b6a79", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1386,20 +1480,23 @@ "id": "3cd47415-5e57-4148-a40b-9571e6791f3f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1417,12 +1514,12 @@ "id": "208b33cf-f983-4a82-9b1b-19cdf2a937fc", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[19]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1436,20 +1533,23 @@ "id": "b4beb2b3-8481-4431-9299-a39a4107f17f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1467,7 +1567,7 @@ "id": "788a5b63-a75f-4aeb-9a5d-17c41e8f718e", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], @@ -1486,20 +1586,23 @@ "id": "c82d6951-13e2-4d32-9e19-eac52bfdc188", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -1509,20 +1612,19 @@ "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1531,12 +1633,24 @@ ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "b505f2f8-396a-47b3-adb9-c3edb083cafb", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", - "targets": [], + "target": "css=.row:nth-child(9) .array-add-button", + "targets": [ + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] + ], "value": "" }, { "id": "a264ad94-60d9-4634-b341-49016d821a8c", @@ -1549,12 +1663,12 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[27]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1568,20 +1682,23 @@ "id": "6c62d514-0143-49d9-97b3-6b7cb443df9d", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "id"], + ["linkText=https://refeds.org/profile/mfa", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'https://refeds.org/profile/mfa')]", "xpath:innerText"] ], "value": "" }, { "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1598,12 +1715,12 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[29]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1617,20 +1734,23 @@ "id": "5a32d59b-1ac3-4cd0-a2d8-0e934f8182fd", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken')]", "xpath:innerText"] ], "value": "" }, { "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1647,7 +1767,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1666,20 +1786,23 @@ "id": "6a7bce1a-34be-4d4c-b732-d2f198e8b8a1", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport')]", "xpath:innerText"] ], "value": "" }, { "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] @@ -1689,20 +1812,19 @@ "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/authenticationMethods/3']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/3-container']/div/input", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1711,15 +1833,24 @@ ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "otherThings" + }, { + "id": "5b836abc-eb72-417f-acdc-8b3ec267cd96", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", "command": "click", - "target": "css=div:nth-child(10) .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=div:nth-child(10) .custom-control-label", "css:finder"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -1738,9 +1869,7 @@ "command": "click", "target": "css=.fa-check", "targets": [ - ["css=.fa-check", "css:finder"], - ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], - ["xpath=//td[2]/button/i", "xpath:position"] + ["css=.fa-check", "css:finder"] ], "value": "" }, { @@ -1757,22 +1886,24 @@ "id": "14ca713a-313d-4cda-82ca-a0b814ce81dc", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_serviceEnabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ["id=root_serviceEnabled", "id"], + ["css=#root_serviceEnabled", "css:finder"], + ["xpath=//input[@id='root_serviceEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[11]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=div:nth-child(2) > div:nth-child(2) > .border-bottom > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .border-bottom > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1780,22 +1911,23 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert2')]", "xpath:innerText"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(8) .border-0", + "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5) > .d-block", "targets": [ - ["css=array-property:nth-child(8) .border-0", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], - ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] + ["css=.d-flex:nth-child(8) .d-flex:nth-child(5) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]/span", "xpath:idRelative"], + ["xpath=//div[8]/ul/li[5]/span", "xpath:position"] ], "value": "somethingElse" }, { diff --git a/backend/src/integration/resources/SHIBUI-1311.side b/backend/src/integration/resources/SHIBUI-1311.side index f02c49782..cd9808a7c 100644 --- a/backend/src/integration/resources/SHIBUI-1311.side +++ b/backend/src/integration/resources/SHIBUI-1311.side @@ -49,42 +49,72 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "8034dcdc-3fa2-4144-b707-c470db8c7c38", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "279adf06-6a84-4970-8a76-c0f24176ad71", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "d47c270c-256a-45d1-9ca9-926d4f57643d", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "e7a98419-36c7-4b0f-a99d-087144f6a417", "comment": "", "command": "click", - "target": "css=.fa-plus-circle", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=.fa-plus-circle", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/i", "xpath:idRelative"], - ["xpath=//i", "xpath:position"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "74fef022-3979-4bed-9226-b25114514976", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "69432299-f150-4bea-9e07-7ef222d7c71f", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "b49d6ed7-75ea-4be8-9a79-c7fd83287aa0", "comment": "", "command": "click", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field1", "name"], @@ -97,7 +127,7 @@ "id": "54dc29f7-bbe0-4c2b-a76e-e67a61f57a96", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field1", "name"], @@ -110,12 +140,15 @@ "id": "add874d5-e3b2-4412-8039-2b9d2619ed19", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["css=select-component > .widget", "css:finder"], - ["xpath=//select-component/div", "xpath:position"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "1cc352f4-0d71-4a3e-9399-1d9932816efc", "comment": "", @@ -130,14 +163,20 @@ "id": "a237669b-daf4-42f6-bc7f-dc4cb5548f56", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "86262eda-4a44-41b0-b7aa-fa46406e2601", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=field7", "id"], ["name=field7", "name"], @@ -150,38 +189,39 @@ "id": "26cc765d-98c1-414c-97d8-4c7e5c6ab7e2", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=field8", "id"], - ["name=field8", "name"], - ["css=#field8", "css:finder"], - ["xpath=//input[@id='field8']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "https://idp.unicon.net/idp/shibboleth" }, { "id": "f0459917-b2a1-4e3c-8800-25273965129f", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "5b37cf08-77b9-4091-94f9-c0d539c9010d", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field10", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo.txt" }, { @@ -195,11 +235,12 @@ "id": "203d0d3c-d866-422a-8b48-b50181db00e9", "comment": "", "command": "click", - "target": "css=.fa-caret-down", + "target": "css=.toggle-button", "targets": [ - ["css=.fa-caret-down", "css:finder"], - ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div/button/i", "xpath:position"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -213,62 +254,69 @@ "id": "5fc6a348-0533-4d94-bb76-ebb891a0db8f", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--1", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--1", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "bf041d41-5d58-4f69-8fcc-49ec79e5547d", "comment": "", "command": "click", - "target": "id=/requireValidMetadata.false", + "target": "id=root_requireValidMetadata-No", "targets": [ - ["id=/requireValidMetadata.false", "id"], - ["css=#\\/requireValidMetadata\\.false", "css:finder"], - ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_requireValidMetadata-No", "id"], + ["css=#root_requireValidMetadata-No", "css:finder"], + ["xpath=//input[@id='root_requireValidMetadata-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[6]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "fba85c75-e218-4deb-b5e1-888ff75b6a4e", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[7]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "375b8d6e-179b-4f14-8f00-d8a8cad29d7e", "comment": "", "command": "click", - "target": "id=/useDefaultPredicateRegistry.false", + "target": "id=root_useDefaultPredicateRegistry-No", "targets": [ - ["id=/useDefaultPredicateRegistry.false", "id"], - ["css=#\\/useDefaultPredicateRegistry\\.false", "css:finder"], - ["xpath=//input[@id='/useDefaultPredicateRegistry.false']", "xpath:attributes"], - ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_useDefaultPredicateRegistry-No", "id"], + ["css=#root_useDefaultPredicateRegistry-No", "css:finder"], + ["xpath=//input[@id='root_useDefaultPredicateRegistry-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[8]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "8b4bf341-62c0-491f-b775-d2faf55477bc", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.true", + "target": "id=root_satisfyAnyPredicates-Yes", "targets": [ - ["id=/satisfyAnyPredicates.true", "id"], - ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-Yes", "id"], + ["name=root_satisfyAnyPredicates", "name"], + ["css=#root_satisfyAnyPredicates-Yes", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-Yes']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[9]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -292,13 +340,12 @@ "id": "a188bc3e-fd98-4d49-ae35-a0b78a17607c", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -312,14 +359,16 @@ "id": "a159e056-c870-4e02-a7e9-4b3a60d83718", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -333,11 +382,12 @@ "id": "7a72cf6a-c97a-49f6-83d0-cbe42f0fdb7d", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .fa", "css:finder"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -351,26 +401,29 @@ "id": "820397f5-aabb-46f5-a65a-56747ce29091", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--3", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { "id": "b036a851-4ac9-43cb-8686-8e78ed940d72", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "0.5" }, { @@ -414,115 +467,117 @@ "id": "b8d999f1-0c59-4a9a-9991-91d222f52b8e", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "8af1abb5-2c7a-4a4c-a8f7-0eb287100dde", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "323a2a02-9111-4064-8bb0-a3da34330e54", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", - "targets": [], + "target": "id=root_metadataFilters_1_certificateFile", + "targets": [ + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] + ], "value": "%{idp.home}/foo.txt" }, { "id": "a125e601-f306-441d-9c8c-e97b95817b46", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "74d696db-3f3b-4ff3-a180-34baceb469a2", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], - "value": "label=SPSSODescriptor" - }, { - "id": "532bf2e5-13fc-48d7-b01b-ff16207a554d", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=SPSSODescriptor" }, { "id": "12cf80c9-594c-4c4d-bf26-aa36ba636220", "comment": "", "command": "click", - "target": "css=.fa-plus", + "target": "css=.array-add-button", "targets": [ ["css=.fa-plus", "css:finder"], ["xpath=//array-component/div/div/button/i", "xpath:position"] ], "value": "" - }, { - "id": "6cb9854b-293b-482d-8c07-4b7c638d79cb", - "comment": "", - "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", - "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", "css:finder"], - ["xpath=(//option[@value=''])[2]", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option", "xpath:position"] - ], - "value": "" }, { "id": "f366c86c-1420-4fb7-86c2-82c49d81208d", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", - "targets": [], + "target": "id=root_metadataFilters_2_retainedRoles_1", + "targets": [ + ["id=root_metadataFilters_2_retainedRoles_1", "id"], + ["css=#root_metadataFilters_2_retainedRoles_1", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_1']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/select", "xpath:position"] + ], "value": "label=AttributeAuthorityDescriptor" }, { "id": "5dfac033-ecfd-42e8-aa6f-931d5acd4d89", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "9d5934f0-fe10-4539-9d71-80b454fc8612", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -539,17 +594,23 @@ "id": "79b96f40-2677-438a-9564-62df0ea2c116", "comment": "", "command": "click", - "target": "css=.custom-control-label", - "targets": [], + "target": "id=root_enabled", + "targets": [ + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "" }, { "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], @@ -558,11 +619,11 @@ "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123')]", "xpath:innerText"] ], "value": "123" @@ -576,41 +637,6 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "563d35c7-65c9-4d10-9e0f-87d8fa31a036", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "8ae5598c-a4b0-4816-859a-d30f38029f65", - "comment": "", - "command": "click", - "target": "linkText=Dashboard", - "targets": [ - ["linkText=Dashboard", "linkText"], - ["css=.nav-item > .nav-link", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], - ["xpath=//li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "dcc49d9d-c0c6-41e0-9683-8e5d6271b3e9", - "comment": "", - "command": "click", - "target": "linkText=Metadata Providers", - "targets": [ - ["linkText=Metadata Providers", "linkText"], - ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], - ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], - ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], - ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] - ], - "value": "" }, { "id": "c0acbec5-58ad-43de-837c-c40c2769fdd6", "comment": "", @@ -655,13 +681,11 @@ "id": "211711a2-0af5-4f5e-a427-812c2de0264d", "comment": "", "command": "click", - "target": "id=addNewDropdown", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["id=addNewDropdown", "id"], - ["css=#addNewDropdown", "css:finder"], - ["xpath=//button[@id='addNewDropdown']", "xpath:attributes"], - ["xpath=//div[@id='navbar']/ul/li/button", "xpath:idRelative"], - ["xpath=//li/button", "xpath:position"], + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" @@ -669,34 +693,35 @@ "id": "ed69adec-1265-4796-96a9-06ed5930d952", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" - }, { - "id": "6b776e7b-87ec-4a61-bb51-face4b5b8c97", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "664722f5-86a5-49a8-b60e-fac67544fbea", "comment": "", "command": "waitForElementEditable", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "79471f9f-e04f-4d98-8e78-f8f554d36821", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=field39", "id"], ["name=field39", "name"], @@ -709,15 +734,15 @@ "id": "90dffd02-8971-4bf5-bc57-33194fdb27a2", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/@type", "id"], - ["name=field38", "name"], - ["css=#\\/\\@type", "css:finder"], - ["xpath=//select[@id='/@type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "48061ec7-f134-4cf4-aba6-4f62708a779a", "comment": "", @@ -732,14 +757,20 @@ "id": "a8d021db-c36c-4cf7-9211-17751cf0624a", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "88a910a8-1e02-400a-9875-c76d0095aa57", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=field45", "id"], ["name=field45", "name"], @@ -752,20 +783,20 @@ "id": "9dbebf86-2c5a-4c88-9fa8-437d4bea96e6", "comment": "", "command": "click", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=/metadataURL", "id"], - ["name=field44", "name"], - ["css=#\\/metadataURL", "css:finder"], - ["xpath=//input[@id='/metadataURL']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b7e620be-7672-4d3a-8da7-e2b278747f44", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ ["id=field46", "id"], ["name=field46", "name"], @@ -778,32 +809,33 @@ "id": "d389f80c-4923-40ad-bdb6-f1142cb95a5e", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "4ce6d583-aadc-44b4-a694-92ca75a07e31", "comment": "", "command": "click", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field46", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "" }, { "id": "206dd1e2-1c91-4c92-a99d-b938560d726c", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ ["id=field48", "id"], ["name=field48", "name"], @@ -823,11 +855,12 @@ "id": "43dcf85f-0606-4177-aced-a1817aa2bd05", "comment": "", "command": "click", - "target": "css=.fa-caret-down", + "target": "css=.toggle-button", "targets": [ - ["css=.fa-caret-down", "css:finder"], - ["xpath=//div[@id='field49-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div/button/i", "xpath:position"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -841,14 +874,16 @@ "id": "38816b0f-9f4d-46d2-b900-937503ef93a0", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--2", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-2", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--2", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--2", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"], - ["xpath=//li[contains(.,'PT1M')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -892,18 +927,6 @@ "target": "1000", "targets": [], "value": "" - }, { - "id": "a97290c3-88ce-41d7-9619-f111ecbeb778", - "comment": "", - "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", - "targets": [ - ["id=/metadataFilters/SignatureValidation/requireSignedRoot.parent", "id"], - ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent", "css:finder"], - ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']", "xpath:attributes"], - ["xpath=//checkbox-component/div/div/div", "xpath:position"] - ], - "value": "" }, { "id": "fdec5198-73f6-43d1-a16a-55686cb68efa", "comment": "", @@ -938,41 +961,6 @@ "target": "2000", "targets": [], "value": "" - }, { - "id": "c8b7c426-9afc-4fb0-8c09-211ae9ba0a62", - "comment": "", - "command": "click", - "target": "linkText=Dashboard", - "targets": [ - ["linkText=Dashboard", "linkText"], - ["css=.nav-item > .nav-link", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], - ["xpath=//li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "0ddad000-2e43-46f6-9558-6cb001a465dc", - "comment": "", - "command": "click", - "target": "linkText=Metadata Providers", - "targets": [ - ["linkText=Metadata Providers", "linkText"], - ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], - ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], - ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], - ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "25583134-24c4-4fab-9a11-7e4cf0c05f1a", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "1675c12e-8951-4d07-87b1-15e280699d66", "comment": "", @@ -1022,10 +1010,12 @@ "id": "72123a28-c3be-478c-8f30-555e346837e2", "comment": "", "command": "assertText", - "target": "css=.badge-success > span", + "target": "css=tr:nth-child(2) > .text-right", "targets": [ - ["css=.badge-success > span", "css:finder"], - ["xpath=//tr[2]/td[6]/span/span", "xpath:position"] + ["css=tr:nth-child(2) > .text-right", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr[2]/td[6]", "xpath:idRelative"], + ["xpath=//tr[2]/td[6]", "xpath:position"], + ["xpath=//td[contains(.,'Enabled')]", "xpath:innerText"] ], "value": "Enabled" }, { @@ -1042,10 +1032,12 @@ "id": "ad8842de-2a4c-42a4-b919-dd7524a679c6", "comment": "", "command": "assertText", - "target": "css=.badge-danger > span", + "target": "css=tr:nth-child(2) > .text-right", "targets": [ - ["css=.badge-danger > span", "css:finder"], - ["xpath=//tr[2]/td[6]/span/span", "xpath:position"] + ["css=tr:nth-child(2) > .text-right", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr[2]/td[6]", "xpath:idRelative"], + ["xpath=//tr[2]/td[6]", "xpath:position"], + ["xpath=//td[contains(.,'Disabled')]", "xpath:innerText"] ], "value": "Disabled" }, { diff --git a/backend/src/integration/resources/SHIBUI-1333.side b/backend/src/integration/resources/SHIBUI-1333.side index 2b2cde739..64d9ae077 100644 --- a/backend/src/integration/resources/SHIBUI-1333.side +++ b/backend/src/integration/resources/SHIBUI-1333.side @@ -49,36 +49,72 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "1462b26b-ff44-43bb-a3c1-48758d90c91c", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "e1705d99-40fc-465d-b2d5-fecdf4a22b68", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "f4edebbc-bcae-4aee-b211-7bf1c02cad37", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "ad3811ad-f95b-4cca-a5d9-63a10063a652", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "1caf8be6-a4d9-4b3b-ace1-0f76d3600d62", "comment": "", "command": "click", - "target": "linkText=Metadata Source", + "target": "linkText=Add a new metadata source", "targets": [ - ["linkText=Metadata Source", "linkText"], - ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], - ["xpath=//div/a", "xpath:position"] + ["linkText=Add a new metadata source", "linkText"], + ["css=.text-primary:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata source')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/new')]", "xpath:href"], + ["xpath=//div/a", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata source')]", "xpath:innerText"] ], "value": "" + }, { + "id": "3aaf7544-cbc3-4048-ab8a-699463d698ac", + "comment": "", + "command": "waitForElementVisible", + "target": "id=root_serviceProviderName", + "targets": [ + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], + "value": "30000" }, { "id": "218e51fd-49e6-400b-9d7f-61bcd8e0c074", "comment": "", "command": "click", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ ["id=/serviceProviderName", "id"], ["name=field1", "name"], @@ -91,7 +127,7 @@ "id": "9ee43e46-ab9e-46b1-8eb2-9718fb98bda2", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ ["id=field1", "id"], ["name=field1", "name"], @@ -104,13 +140,13 @@ "id": "7fe7298b-275c-4797-8d1b-f4547b63eb02", "comment": "", "command": "type", - "target": "id=/entityId", + "target": "id=root_entityId", "targets": [ - ["id=/entityId", "id"], - ["name=field2", "name"], - ["css=#\\/entityId", "css:finder"], - ["xpath=//input[@id='/entityId']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_entityId", "id"], + ["css=#root_entityId", "css:finder"], + ["xpath=//input[@id='root_entityId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "test-1234" }, { @@ -127,12 +163,12 @@ "id": "4d88e469-df2f-40ee-a557-b5eafbc24ef3", "comment": "", "command": "click", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ - ["id=/organization/name", "id"], - ["name=field5", "name"], - ["css=#\\/organization\\/name", "css:finder"], - ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["id=root_organization_name", "id"], + ["css=#root_organization_name", "css:finder"], + ["xpath=//input[@id='root_organization_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -140,7 +176,7 @@ "id": "e0168286-af90-4c0a-a0ba-0dd97d64849b", "comment": "", "command": "type", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ ["id=field5", "id"], ["name=field5", "name"], @@ -153,57 +189,59 @@ "id": "8f6dcf95-41e4-446a-a7fb-a064d928e1bc", "comment": "", "command": "type", - "target": "id=/organization/displayName", + "target": "id=root_organization_displayName", "targets": [ - ["id=/organization/displayName", "id"], - ["name=field6", "name"], - ["css=#\\/organization\\/displayName", "css:finder"], - ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_displayName", "id"], + ["css=#root_organization_displayName", "css:finder"], + ["xpath=//input[@id='root_organization_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "Test Org Name" }, { "id": "7cc2068e-3fa3-4f1c-ac97-c63e78911b9e", "comment": "", "command": "type", - "target": "id=/organization/url", + "target": "id=root_organization_url", "targets": [ - ["id=/organization/url", "id"], - ["name=field7", "name"], - ["css=#\\/organization\\/url", "css:finder"], - ["xpath=//input[@id='/organization/url']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_url", "id"], + ["css=#root_organization_url", "css:finder"], + ["xpath=//input[@id='root_organization_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org" }, { "id": "1da05567-4f8d-4fd8-957a-bfddb2380bfb", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "5379b245-cd77-43c1-b424-3b6595c74174", "comment": "", "command": "click", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=/contacts/0/name", "id"], - ["name=field10", "name"], - ["css=#\\/contacts\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b658cae2-ba5a-406b-a48c-87d110ff4ed0", "comment": "", "command": "type", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ ["id=field10", "id"], ["name=field10", "name"], @@ -216,12 +254,12 @@ "id": "3a2de62d-c1c1-43a7-a484-8a0d23bf301e", "comment": "", "command": "click", - "target": "id=/contacts/0/type", + "target": "id=root_contacts_0_type", "targets": [ - ["id=/contacts/0/type", "id"], - ["name=field11", "name"], - ["css=#\\/contacts\\/0\\/type", "css:finder"], - ["xpath=//select[@id='/contacts/0/type']", "xpath:attributes"], + ["id=root_contacts_0_type", "id"], + ["css=#root_contacts_0_type", "css:finder"], + ["xpath=//select[@id='root_contacts_0_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "" @@ -229,27 +267,27 @@ "id": "86e4e429-2a72-496a-add8-df2fc079d157", "comment": "", "command": "select", - "target": "id=/contacts/0/type", + "target": "id=root_contacts_0_type", "targets": [], - "value": "label=Technical" + "value": "label=technical" }, { "id": "95531b0b-c084-422d-bac9-60ee7e7a9f16", "comment": "", "command": "click", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ - ["id=/contacts/0/emailAddress", "id"], - ["name=field12", "name"], - ["css=#\\/contacts\\/0\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/0/emailAddress']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_emailAddress", "id"], + ["css=#root_contacts_0_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_0_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "e5d6662e-38d4-479f-b76b-c0c05fcabe15", "comment": "", "command": "type", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ ["id=field12", "id"], ["name=field12", "name"], @@ -262,31 +300,33 @@ "id": "b4e3ea55-b4c0-4585-99fe-ac1534efadd8", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "234de758-df6d-47d7-af74-83aee3fa1e72", "comment": "", "command": "click", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ - ["id=/contacts/1/name", "id"], - ["name=field14", "name"], - ["css=#\\/contacts\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_name", "id"], + ["css=#root_contacts_1_name", "css:finder"], + ["xpath=//input[@id='root_contacts_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "02819e27-7aed-4a1a-867f-f8131c3897d8", "comment": "", "command": "type", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ ["id=field14", "id"], ["name=field14", "name"], @@ -299,19 +339,20 @@ "id": "1d478856-8742-4627-acbe-daed2bb83abe", "comment": "", "command": "click", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ - ["css=#field15 > option:nth-child(2)", "css:finder"], - ["xpath=(//option[@value='1: support'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field15']/option[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[2]", "xpath:position"] + ["id=root_contacts_1_type", "id"], + ["css=#root_contacts_1_type", "css:finder"], + ["xpath=//select[@id='root_contacts_1_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "9b4c76b4-3851-4aac-a9f5-67e20c36f174", "comment": "", "command": "select", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ ["id=/contacts/1/type", "id"], ["name=field15", "name"], @@ -319,31 +360,31 @@ ["xpath=//select[@id='/contacts/1/type']", "xpath:attributes"], ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] ], - "value": "label=Support" + "value": "label=support" }, { "id": "5e3fddc1-786d-4040-8351-2f553e3c8811", "comment": "", "command": "click", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ - ["id=/contacts/1/emailAddress", "id"], - ["name=field16", "name"], - ["css=#\\/contacts\\/1\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/1/emailAddress']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_emailAddress", "id"], + ["css=#root_contacts_1_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_1_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "700d8907-6a65-43d5-aebf-60a392379534", "comment": "", "command": "type", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ - ["id=field16", "id"], - ["name=field16", "name"], - ["css=#field16", "css:finder"], - ["xpath=//input[@id='field16']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_emailAddress", "id"], + ["css=#root_contacts_1_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_1_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "user2@test.org" }, { @@ -360,12 +401,12 @@ "id": "f38b7fca-0c0c-4658-9df6-10a26881c6a5", "comment": "", "command": "click", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=/mdui/displayName", "id"], - ["name=field19", "name"], - ["css=#\\/mdui\\/displayName", "css:finder"], - ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -373,7 +414,7 @@ "id": "c03c4582-e1f1-449f-9a79-300d48ad69d8", "comment": "", "command": "type", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ ["id=field19", "id"], ["name=field19", "name"], @@ -386,25 +427,25 @@ "id": "5098507c-fa51-4c13-b9a3-381034e0fa52", "comment": "", "command": "type", - "target": "id=/mdui/informationUrl", + "target": "id=root_mdui_informationUrl", "targets": [ - ["id=/mdui/informationUrl", "id"], - ["name=field20", "name"], - ["css=#\\/mdui\\/informationUrl", "css:finder"], - ["xpath=//input[@id='/mdui/informationUrl']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_informationUrl", "id"], + ["css=#root_mdui_informationUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_informationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/info" }, { "id": "d5de3699-5a18-4abe-a2ea-0a2b7565c525", "comment": "", "command": "type", - "target": "id=/mdui/description", + "target": "id=root_mdui_description", "targets": [ - ["id=/mdui/description", "id"], - ["name=field21", "name"], - ["css=#\\/mdui\\/description", "css:finder"], - ["xpath=//textarea[@id='/mdui/description']", "xpath:attributes"], + ["id=root_mdui_description", "id"], + ["css=#root_mdui_description", "css:finder"], + ["xpath=//textarea[@id='root_mdui_description']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[3]/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "This is a description." @@ -412,20 +453,20 @@ "id": "115bb9a9-e991-4cf0-8bcb-363d9dc3c269", "comment": "", "command": "click", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ - ["id=/mdui/privacyStatementUrl", "id"], - ["name=field22", "name"], - ["css=#\\/mdui\\/privacyStatementUrl", "css:finder"], - ["xpath=//input[@id='/mdui/privacyStatementUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_privacyStatementUrl", "id"], + ["css=#root_mdui_privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_privacyStatementUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "df623bef-a1fc-48ff-aa93-05e0da85ef51", "comment": "", "command": "type", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ ["id=field22", "id"], ["name=field22", "name"], @@ -438,39 +479,39 @@ "id": "ed17408b-a763-4e5d-86cd-efe575df8d08", "comment": "", "command": "type", - "target": "id=/mdui/logoUrl", + "target": "id=root_mdui_logoUrl", "targets": [ - ["id=/mdui/logoUrl", "id"], - ["name=field23", "name"], - ["css=#\\/mdui\\/logoUrl", "css:finder"], - ["xpath=//input[@id='/mdui/logoUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_logoUrl", "id"], + ["css=#root_mdui_logoUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_logoUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/logo" }, { "id": "2946a968-7289-43e5-820d-b1aee442ce96", "comment": "", "command": "type", - "target": "id=/mdui/logoWidth", + "target": "id=root_mdui_logoWidth", "targets": [ - ["id=/mdui/logoWidth", "id"], - ["name=field24", "name"], - ["css=#\\/mdui\\/logoWidth", "css:finder"], - ["xpath=//input[@id='/mdui/logoWidth']", "xpath:attributes"], - ["xpath=//integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoWidth", "id"], + ["css=#root_mdui_logoWidth", "css:finder"], + ["xpath=//input[@id='root_mdui_logoWidth']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "200" }, { "id": "ceec5477-13d4-4ab4-944e-a2a34a9b4510", "comment": "", "command": "type", - "target": "id=/mdui/logoHeight", + "target": "id=root_mdui_logoHeight", "targets": [ - ["id=/mdui/logoHeight", "id"], - ["name=field25", "name"], - ["css=#\\/mdui\\/logoHeight", "css:finder"], - ["xpath=//input[@id='/mdui/logoHeight']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoHeight", "id"], + ["css=#root_mdui_logoHeight", "css:finder"], + ["xpath=//input[@id='root_mdui_logoHeight']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[3]/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/input", "xpath:position"] ], "value": "300" }, { @@ -487,20 +528,20 @@ "id": "88054c63-d468-4340-b4d3-c69fb6ed6f96", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: SAML 2']", "xpath:attributes"], - ["xpath=//select[@id='field28']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SAML 2')]", "xpath:innerText"] + ["id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "id"], + ["css=#root_serviceProviderSsoDescriptor_protocolSupportEnum", "css:finder"], + ["xpath=//select[@id='root_serviceProviderSsoDescriptor_protocolSupportEnum']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "c77b3648-fce1-46f9-aec9-ca88c90d4c92", "comment": "", "command": "select", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ ["id=/serviceProviderSsoDescriptor/protocolSupportEnum", "id"], ["name=field28", "name"], @@ -513,11 +554,13 @@ "id": "aec93dce-3142-4df3-b09d-735c70d1197b", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -531,13 +574,12 @@ "id": "a0102f51-f1d8-4c38-9170-482022ea7397", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", + "target": "css=.toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -551,20 +593,23 @@ "id": "9033e5ad-4255-4aa7-a878-c7beab69ee8e", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "c21b1d7a-9325-4d70-887d-387c7a042c08", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -581,12 +626,12 @@ "id": "c1534880-c4e5-4fbd-b200-c28f9f556ab9", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -600,20 +645,23 @@ "id": "d07b2d83-3699-4f48-90e8-6fc883d3a02a", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "2c77ecbc-45cc-471c-9e39-f87ec06a9385", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -631,12 +679,12 @@ "id": "97a98737-862d-4567-8b20-c5c991444ed0", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -650,13 +698,16 @@ "id": "686e004c-2b0f-4308-8622-b04bc05a50a9", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { @@ -681,12 +732,12 @@ "id": "e2e8d5d4-8b6a-42d5-9fe7-abb8a84216e3", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -700,38 +751,48 @@ "id": "b6ac5230-772b-44bc-b9d1-6ae8a58e0368", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "d135ef80-69d8-4cd1-b581-5e1973342082", "comment": "", "command": "click", - "target": "css=.btn-success > translate-i18n", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.rjsf > .form-group > div > .p-0 > .row", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div", "xpath:idRelative"], + ["xpath=//form/div/div/div/div", "xpath:position"] ], "value": "" }, { "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=field34", "id"], - ["css=#field34", "css:finder"], - ["xpath=//input[@id='field34']", "xpath:attributes"], - ["xpath=//div[@id='field34-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "6f0363e3-cd0b-45cc-8210-7cad7c29997e", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -746,23 +807,25 @@ "id": "0de0345e-c9d2-4904-b797-a36965c5d82c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "62ade28b-19d4-4c54-b179-0d36312c578f", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ - ["id=/logoutEndpoints/0/url", "id"], - ["name=field38", "name"], - ["css=#\\/logoutEndpoints\\/0\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/0/url']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_url", "id"], + ["css=#root_logoutEndpoints_0_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_0_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -770,7 +833,7 @@ "id": "517e5991-197d-42fd-86ff-4da5fd04949b", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ ["id=field38", "id"], ["name=field38", "name"], @@ -783,20 +846,20 @@ "id": "034f6a60-6b2d-42f1-adb4-515c8a750953", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field39']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_logoutEndpoints_0_bindingType", "id"], + ["css=#root_logoutEndpoints_0_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_0_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "6967d0bb-dbf7-4f57-9e55-6de71abd69c1", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ ["id=/logoutEndpoints/0/bindingType", "id"], ["name=field39", "name"], @@ -809,7 +872,7 @@ "id": "542f9b37-a63d-4acb-ba3e-2ac3706b6667", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -819,20 +882,20 @@ "id": "39dedb16-bcd2-496a-af85-7d20a129593b", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ - ["id=/logoutEndpoints/1/url", "id"], - ["name=field41", "name"], - ["css=#\\/logoutEndpoints\\/1\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/1/url']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_logoutEndpoints_1_url", "id"], + ["css=#root_logoutEndpoints_1_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_1_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d25f708c-f72a-4fb7-88c1-a25a61d9f72a", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ ["id=field41", "id"], ["name=field41", "name"], @@ -845,19 +908,20 @@ "id": "bee9600e-b6db-484a-9b87-d7c657911108", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ - ["css=#field42 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redir'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field42']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_logoutEndpoints_1_bindingType", "id"], + ["css=#root_logoutEndpoints_1_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_1_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "e0e7ef9b-4ed1-4df2-b501-9cbb855baa7f", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ ["id=/logoutEndpoints/1/bindingType", "id"], ["name=field42", "name"], @@ -876,60 +940,52 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "6c794e94-9c64-4683-816a-380432f2ed79", - "comment": "", - "command": "click", - "target": "id=/securityInfo/x509CertificateAvailable.true", - "targets": [ - ["id=/securityInfo/x509CertificateAvailable.true", "id"], - ["css=#\\/securityInfo\\/x509CertificateAvailable\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509CertificateAvailable.true']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" }, { "id": "f0ade90e-2c31-4a77-b936-3b2a00388477", "comment": "", "command": "click", - "target": "id=/securityInfo/authenticationRequestsSigned.true", + "target": "id=root_securityInfo_authenticationRequestsSigned-value.true", "targets": [ - ["id=/securityInfo/authenticationRequestsSigned.true", "id"], - ["css=#\\/securityInfo\\/authenticationRequestsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/authenticationRequestsSigned.true']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_authenticationRequestsSigned-value.true", "id"], + ["name=root_securityInfo_authenticationRequestsSigned", "name"], + ["css=#root_securityInfo_authenticationRequestsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_authenticationRequestsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "e26eda6f-1897-42e2-9ea9-671b1ff88874", "comment": "", "command": "click", - "target": "id=/securityInfo/wantAssertionsSigned.true", + "target": "id=root_securityInfo_wantAssertionsSigned-value.true", "targets": [ - ["id=/securityInfo/wantAssertionsSigned.true", "id"], - ["css=#\\/securityInfo\\/wantAssertionsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/wantAssertionsSigned.true']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_wantAssertionsSigned-value.true", "id"], + ["name=root_securityInfo_wantAssertionsSigned", "name"], + ["css=#root_securityInfo_wantAssertionsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_wantAssertionsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "3e11e54a-1b36-43ed-a8e5-d91f1fbed991", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ - ["id=/securityInfo/x509Certificates/0/name", "id"], - ["name=field50", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/name']", "xpath:attributes"], - ["xpath=//div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5acb8e19-16a3-4139-a961-1b58c11c4681", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ ["id=field50", "id"], ["name=field50", "name"], @@ -942,25 +998,26 @@ "id": "23ff8b87-ac6c-4f82-a779-aa91be11f49c", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/type.0", + "target": "id=root_securityInfo_x509Certificates_0_type-signing", "targets": [ - ["id=/securityInfo/x509Certificates/0/type.0", "id"], - ["name=field55", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/type\\.0", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/type.0']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_type-signing", "id"], + ["name=root_securityInfo_x509Certificates_0_type", "name"], + ["css=#root_securityInfo_x509Certificates_0_type-signing", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_type-signing']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dd15088c-ddc9-42fd-8f8d-f73338be71b6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ - ["id=/securityInfo/x509Certificates/0/value", "id"], - ["name=field52", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/0/value']", "xpath:attributes"], + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "" @@ -968,7 +1025,7 @@ "id": "813bf709-6c73-41ac-837a-5be076fa43c7", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ ["name=field52", "name"], ["css=.text-widget", "css:finder"], @@ -980,30 +1037,33 @@ "id": "fcf4cc15-54f4-4add-a093-e7ba5f2dc556", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "cbe577f6-3d18-49d9-95ab-2e597e5308a6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ - ["id=/securityInfo/x509Certificates/1/name", "id"], - ["name=field54", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_name", "id"], + ["css=#root_securityInfo_x509Certificates_1_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "ae98e813-77f4-424e-9141-d48e6127d9b6", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ ["id=field54", "id"], ["name=field54", "name"], @@ -1016,32 +1076,33 @@ "id": "835ad053-0a10-4606-a148-c7ba36be316f", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/type.1", + "target": "id=root_securityInfo_x509Certificates_1_type-encryption", "targets": [ - ["id=/securityInfo/x509Certificates/1/type.1", "id"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/type\\.1", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/type.1']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-radio-widget/div/div[2]/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_type-encryption", "id"], + ["css=#root_securityInfo_x509Certificates_1_type-encryption", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_type-encryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "e272cafa-3aba-4aff-972e-b1d45e627b88", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ - ["id=/securityInfo/x509Certificates/1/value", "id"], - ["name=field56", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/1/value']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_value", "id"], + ["css=#root_securityInfo_x509Certificates_1_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_1_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:position"] ], "value": "" }, { "id": "ae42d668-92ba-4cb8-9daf-a2a64ac18404", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ ["name=field56", "name"], ["css=.ng-untouched:nth-child(3)", "css:finder"], @@ -1063,23 +1124,25 @@ "id": "573c9f4c-c677-4175-96c5-3aaaf86e5ac1", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "50c1a3a1-b51c-41f9-81ff-d3d2894861ad", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ - ["id=/assertionConsumerServices/0/locationUrl", "id"], - ["name=field60", "name"], - ["css=#\\/assertionConsumerServices\\/0\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/0/locationUrl']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_locationUrl", "id"], + ["css=#root_assertionConsumerServices_0_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -1087,7 +1150,7 @@ "id": "6ff4002a-1c57-4778-b402-f917efaa5194", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ ["id=field60", "id"], ["name=field60", "name"], @@ -1100,20 +1163,20 @@ "id": "e81c5045-98c3-499c-bff5-2645efa4c55d", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field61']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_binding", "id"], + ["css=#root_assertionConsumerServices_0_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_0_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "24c810c8-747a-4ae2-91e5-16685d589f21", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ ["id=/assertionConsumerServices/0/binding", "id"], ["name=field61", "name"], @@ -1126,18 +1189,20 @@ "id": "c221b1f5-2961-4cbd-a545-1e34a09b8153", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_assertionConsumerServices_0_makeDefault", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Mark as Default')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_makeDefault", "id"], + ["css=#root_assertionConsumerServices_0_makeDefault", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_makeDefault']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "cb058717-f20f-4a54-81e5-9a7dcf66ec0e", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -1147,20 +1212,20 @@ "id": "f9998203-830b-44d3-8392-45b737544177", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ - ["id=/assertionConsumerServices/1/locationUrl", "id"], - ["name=field64", "name"], - ["css=#\\/assertionConsumerServices\\/1\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/1/locationUrl']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_assertionConsumerServices_1_locationUrl", "id"], + ["css=#root_assertionConsumerServices_1_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_1_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d5cbf5e8-7c5b-45f7-8645-dd9f9d39922e", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ ["id=field64", "id"], ["name=field64", "name"], @@ -1173,19 +1238,20 @@ "id": "74de4187-3d1e-4a4d-af8e-966f00649ab8", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ - ["css=#field65 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:1.0:profiles:browser-po'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field65']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_assertionConsumerServices_1_binding", "id"], + ["css=#root_assertionConsumerServices_1_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_1_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "929c1047-f455-418b-b23e-a383d681f028", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ ["id=/assertionConsumerServices/1/binding", "id"], ["name=field65", "name"], @@ -1208,85 +1274,98 @@ "id": "134bf1f3-1e86-49e7-91de-185e513b02be", "comment": "", "command": "click", - "target": "css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", + "target": "id=root_relyingPartyOverrides_signAssertion", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_signAssertion", "id"], + ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "5cd1ae5f-678a-4be8-a03f-b290006e52fe", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_dontSignResponse", "targets": [ - ["css=div:nth-child(2) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ["id=root_relyingPartyOverrides_dontSignResponse", "id"], + ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5895d555-6ef5-4344-b177-00e905f9007c", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=div:nth-child(3) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "8d834380-e312-494d-9b4b-c5b798cc9b15", "comment": "", "command": "click", - "target": "css=div:nth-child(4) .custom-control-label", + "target": "id=root_relyingPartyOverrides_useSha", "targets": [ - ["css=div:nth-child(4) .custom-control-label", "css:finder"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_useSha", "id"], + ["css=#root_relyingPartyOverrides_useSha", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "bcf532a9-ba5a-4ca1-a342-dde53bc4a592", "comment": "", "command": "click", - "target": "css=div:nth-child(5) .custom-control-label", + "target": "id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "targets": [ - ["css=div:nth-child(5) .custom-control-label", "css:finder"], - ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "id"], + ["css=#root_relyingPartyOverrides_ignoreAuthenticationMethod", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_ignoreAuthenticationMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "45f3df44-1c34-4649-aedb-14207e9ce999", "comment": "", "command": "click", - "target": "css=div:nth-child(6) .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=div:nth-child(6) .custom-control-label", "css:finder"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7ccb7d88-b113-4ee9-8582-b3d781fa8846", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field121", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "afe1b839-3421-4816-bf69-c804add681ba", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ ["id=field75", "id"], ["name=field75", "name"], @@ -1299,10 +1378,13 @@ "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1316,13 +1398,12 @@ "id": "2a91666b-5453-4064-8923-c3384835b6fd", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1336,20 +1417,23 @@ "id": "6e8718ef-e053-48d8-91e5-f5128e371f56", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1367,12 +1451,12 @@ "id": "fd33610c-dbca-410d-b2a4-117a1b2b6a79", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1386,20 +1470,23 @@ "id": "3cd47415-5e57-4148-a40b-9571e6791f3f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1417,12 +1504,12 @@ "id": "208b33cf-f983-4a82-9b1b-19cdf2a937fc", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[19]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1436,20 +1523,23 @@ "id": "b4beb2b3-8481-4431-9299-a39a4107f17f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1467,12 +1557,12 @@ "id": "788a5b63-a75f-4aeb-9a5d-17c41e8f718e", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[21]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1486,20 +1576,23 @@ "id": "c82d6951-13e2-4d32-9e19-eac52bfdc188", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -1509,20 +1602,19 @@ "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1531,12 +1623,24 @@ ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "3a2e2040-7443-4e3a-99b1-363f87580cba", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", - "targets": [], + "target": "css=.row:nth-child(9) .array-add-button", + "targets": [ + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] + ], "value": "" }, { "id": "667d1702-7451-4200-ae40-3024717c4506", @@ -1549,7 +1653,7 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], @@ -1568,20 +1672,23 @@ "id": "6c62d514-0143-49d9-97b3-6b7cb443df9d", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "id"], + ["linkText=https://refeds.org/profile/mfa", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'https://refeds.org/profile/mfa')]", "xpath:innerText"] ], "value": "" }, { "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1598,7 +1705,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1617,20 +1724,23 @@ "id": "5a32d59b-1ac3-4cd0-a2d8-0e934f8182fd", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken')]", "xpath:innerText"] ], "value": "" }, { "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1647,7 +1757,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1666,20 +1776,23 @@ "id": "6a7bce1a-34be-4d4c-b732-d2f198e8b8a1", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport')]", "xpath:innerText"] ], "value": "" }, { "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] @@ -1689,20 +1802,19 @@ "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/authenticationMethods/3']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/3-container']/div/input", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[12]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1711,15 +1823,24 @@ ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "otherThings" + }, { + "id": "1f62c43d-e605-4d62-9ce4-51f950788ac4", + "comment": "", + "command": "sendKeys", + "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", "command": "click", - "target": "css=div:nth-child(10) .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=div:nth-child(10) .custom-control-label", "css:finder"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -1738,9 +1859,7 @@ "command": "click", "target": "css=.fa-check", "targets": [ - ["css=.fa-check", "css:finder"], - ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], - ["xpath=//td[2]/button/i", "xpath:position"] + ["css=.fa-check", "css:finder"] ], "value": "" }, { @@ -1757,22 +1876,24 @@ "id": "14ca713a-313d-4cda-82ca-a0b814ce81dc", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_serviceEnabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ["id=root_serviceEnabled", "id"], + ["css=#root_serviceEnabled", "css:finder"], + ["xpath=//input[@id='root_serviceEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[11]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=div:nth-child(2) > div:nth-child(2) > .border-bottom > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .border-bottom > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1780,22 +1901,23 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert2')]", "xpath:innerText"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(8) .border-0", + "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "targets": [ - ["css=array-property:nth-child(8) .border-0", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], - ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] + ["css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]", "xpath:idRelative"], + ["xpath=//div[8]/ul/li[5]", "xpath:position"] ], "value": "somethingElse" }, { @@ -1823,18 +1945,22 @@ "id": "4e0fa4f5-817f-41fb-9885-60f37b699436", "comment": "", "command": "waitForElementVisible", - "target": "css=tr > .text-right", + "target": "linkText=Test Provider", "targets": [ - ["css=tr > .text-right", "css:finder"], - ["xpath=//td[5]", "xpath:position"], - ["xpath=//td[contains(.,'Enabled')]", "xpath:innerText"] + ["linkText=Test Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/f42856cd-f07a-4910-bf6b-cdafb9913ded/configuration/options')]", "xpath:href"], + ["xpath=//td/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Provider')]", "xpath:innerText"] ], "value": "10000" }, { "id": "ba9fb8e8-d332-45bd-accd-703284744136", "comment": "", "command": "assertText", - "target": "css=td:nth-child(1)", + "target": "linkText=Test Provider", "targets": [ ["linkText=Test Provider", "linkText"], ["css=td > a", "css:finder"], @@ -1851,6 +1977,7 @@ "target": "css=td:nth-child(2)", "targets": [ ["css=td:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], ["xpath=//td[2]", "xpath:position"], ["xpath=//td[contains(.,'test-1234')]", "xpath:innerText"] ], @@ -1948,11 +2075,12 @@ "id": "01da89d4-e043-4f99-9d98-dcb42b9b4777", "comment": "", "command": "click", - "target": "css=.btn-link", + "target": "css=.px-3", "targets": [ - ["css=.btn-link", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], + ["css=.px-3", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/form/div/div/div/button", "xpath:idRelative"], + ["xpath=//form/div/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Clear')]", "xpath:innerText"] ], "value": "" @@ -1975,7 +2103,12 @@ "comment": "", "command": "waitForElementPresent", "target": "css=.author", - "targets": [], + "targets": [ + ["css=.author", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/div/div/div/h5/span[2]", "xpath:idRelative"], + ["xpath=//span[2]", "xpath:position"], + ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "c9ea2708-7c12-43ce-b827-f0f34d2f2831", @@ -1993,11 +2126,11 @@ "id": "16271513-203c-4528-870f-dcf73f4d81cb", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -2005,22 +2138,23 @@ "id": "3f2c3eab-ecbf-45f3-bcdc-a5cad766b27c", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", + "target": "css=div:nth-child(5) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "targets": [ - ["css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/array-property/div/div[2]/div[3]/div[2]", "xpath:idRelative"], - ["xpath=//div[3]/div[2]", "xpath:position"] + ["css=div:nth-child(5) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div[3]/span", "xpath:idRelative"], + ["xpath=//div[3]/span", "xpath:position"], + ["xpath=//span[contains(.,'user@test.org')]", "xpath:innerText"] ], "value": "user@test.org" }, { "id": "467409c7-1007-4c45-80d2-0b4eea5199a0", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(4) div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(4) div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'http://test.org/info')]", "xpath:innerText"] ], "value": "http://test.org/info" @@ -2028,11 +2162,11 @@ "id": "eaaf9d59-1466-4736-924c-56c9b3f7522f", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(2) .text-truncate:nth-child(2)", + "target": "css=.d-flex:nth-child(2) .d-flex:nth-child(2)", "targets": [ - ["css=array-property:nth-child(2) .text-truncate:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[3]/div/div[2]/object-property/object-property/array-property/div/div/ul/li[2]", "xpath:idRelative"], - ["xpath=//div/div/ul/li[2]", "xpath:position"], + ["css=.d-flex:nth-child(2) .d-flex:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[3]/div/div[2]/div[2]/div/div[2]/ul/li[2]", "xpath:idRelative"], + ["xpath=//ul/li[2]", "xpath:position"], ["xpath=//li[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" @@ -2040,44 +2174,46 @@ "id": "2a23096f-d5cd-4727-af1b-130388117aa0", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(6) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(6) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/logout2')]", "xpath:innerText"] ], "value": "http://test.org/logout2" }, { "id": "fe47ffd2-d2a0-4264-90fe-31b998f81ac2", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(7) .p-2 > div > div > div:nth-child(3) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:position"] + ["css=.mb-4:nth-child(7) .p-2 > div > div > div:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[5]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[5]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"] ], "value": "true" }, { "id": "7300785c-b83e-49b8-97a6-d66516f6c133", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(8) .py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(8) .py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[6]/div/div[2]/div[2]/div/div[2]/div/span", "xpath:idRelative"], + ["xpath=//section[6]/div/div[2]/div[2]/div/div[2]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert')]", "xpath:innerText"] ], "value": "http://test.org/assert" }, { "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] ], "value": "responder-id-123" diff --git a/backend/src/integration/resources/SHIBUI-1334-1.side b/backend/src/integration/resources/SHIBUI-1334-1.side index 80869679b..59c07f5d1 100644 --- a/backend/src/integration/resources/SHIBUI-1334-1.side +++ b/backend/src/integration/resources/SHIBUI-1334-1.side @@ -49,36 +49,72 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "c4f3b8ff-5c73-4975-8a76-08c3a5d9ec4c", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "eb9f9e61-26d0-45fb-8aae-c5e205db4407", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "240e95a4-893e-4dab-901e-dc2960a2126a", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "ad3811ad-f95b-4cca-a5d9-63a10063a652", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "1caf8be6-a4d9-4b3b-ace1-0f76d3600d62", "comment": "", "command": "click", - "target": "linkText=Metadata Source", + "target": "linkText=Add a new metadata source", "targets": [ - ["linkText=Metadata Source", "linkText"], - ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], - ["xpath=//div/a", "xpath:position"] + ["linkText=Add a new metadata source", "linkText"], + ["css=.text-primary:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata source')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/new')]", "xpath:href"], + ["xpath=//div/a", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata source')]", "xpath:innerText"] ], "value": "" + }, { + "id": "41c59f00-a206-4628-af94-c493996cb0a5", + "comment": "", + "command": "waitForElementVisible", + "target": "id=root_serviceProviderName", + "targets": [ + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], + "value": "30000" }, { "id": "218e51fd-49e6-400b-9d7f-61bcd8e0c074", "comment": "", "command": "click", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ ["id=/serviceProviderName", "id"], ["name=field1", "name"], @@ -91,7 +127,7 @@ "id": "9ee43e46-ab9e-46b1-8eb2-9718fb98bda2", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ ["id=field1", "id"], ["name=field1", "name"], @@ -104,13 +140,13 @@ "id": "7fe7298b-275c-4797-8d1b-f4547b63eb02", "comment": "", "command": "type", - "target": "id=/entityId", + "target": "id=root_entityId", "targets": [ - ["id=/entityId", "id"], - ["name=field2", "name"], - ["css=#\\/entityId", "css:finder"], - ["xpath=//input[@id='/entityId']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_entityId", "id"], + ["css=#root_entityId", "css:finder"], + ["xpath=//input[@id='root_entityId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "test-1234" }, { @@ -127,12 +163,12 @@ "id": "4d88e469-df2f-40ee-a557-b5eafbc24ef3", "comment": "", "command": "click", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ - ["id=/organization/name", "id"], - ["name=field5", "name"], - ["css=#\\/organization\\/name", "css:finder"], - ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["id=root_organization_name", "id"], + ["css=#root_organization_name", "css:finder"], + ["xpath=//input[@id='root_organization_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -140,7 +176,7 @@ "id": "e0168286-af90-4c0a-a0ba-0dd97d64849b", "comment": "", "command": "type", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ ["id=field5", "id"], ["name=field5", "name"], @@ -153,57 +189,59 @@ "id": "8f6dcf95-41e4-446a-a7fb-a064d928e1bc", "comment": "", "command": "type", - "target": "id=/organization/displayName", + "target": "id=root_organization_displayName", "targets": [ - ["id=/organization/displayName", "id"], - ["name=field6", "name"], - ["css=#\\/organization\\/displayName", "css:finder"], - ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_displayName", "id"], + ["css=#root_organization_displayName", "css:finder"], + ["xpath=//input[@id='root_organization_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "Test Org Name" }, { "id": "7cc2068e-3fa3-4f1c-ac97-c63e78911b9e", "comment": "", "command": "type", - "target": "id=/organization/url", + "target": "id=root_organization_url", "targets": [ - ["id=/organization/url", "id"], - ["name=field7", "name"], - ["css=#\\/organization\\/url", "css:finder"], - ["xpath=//input[@id='/organization/url']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_url", "id"], + ["css=#root_organization_url", "css:finder"], + ["xpath=//input[@id='root_organization_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org" }, { "id": "1da05567-4f8d-4fd8-957a-bfddb2380bfb", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "5379b245-cd77-43c1-b424-3b6595c74174", "comment": "", "command": "click", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=/contacts/0/name", "id"], - ["name=field10", "name"], - ["css=#\\/contacts\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b658cae2-ba5a-406b-a48c-87d110ff4ed0", "comment": "", "command": "type", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ ["id=field10", "id"], ["name=field10", "name"], @@ -216,12 +254,12 @@ "id": "3a2de62d-c1c1-43a7-a484-8a0d23bf301e", "comment": "", "command": "click", - "target": "id=/contacts/0/type", + "target": "id=root_contacts_0_type", "targets": [ - ["id=/contacts/0/type", "id"], - ["name=field11", "name"], - ["css=#\\/contacts\\/0\\/type", "css:finder"], - ["xpath=//select[@id='/contacts/0/type']", "xpath:attributes"], + ["id=root_contacts_0_type", "id"], + ["css=#root_contacts_0_type", "css:finder"], + ["xpath=//select[@id='root_contacts_0_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "" @@ -229,27 +267,27 @@ "id": "86e4e429-2a72-496a-add8-df2fc079d157", "comment": "", "command": "select", - "target": "id=/contacts/0/type", + "target": "id=root_contacts_0_type", "targets": [], - "value": "label=Technical" + "value": "label=technical" }, { "id": "95531b0b-c084-422d-bac9-60ee7e7a9f16", "comment": "", "command": "click", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ - ["id=/contacts/0/emailAddress", "id"], - ["name=field12", "name"], - ["css=#\\/contacts\\/0\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/0/emailAddress']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_emailAddress", "id"], + ["css=#root_contacts_0_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_0_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "e5d6662e-38d4-479f-b76b-c0c05fcabe15", "comment": "", "command": "type", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ ["id=field12", "id"], ["name=field12", "name"], @@ -262,31 +300,33 @@ "id": "b4e3ea55-b4c0-4585-99fe-ac1534efadd8", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "234de758-df6d-47d7-af74-83aee3fa1e72", "comment": "", "command": "click", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ - ["id=/contacts/1/name", "id"], - ["name=field14", "name"], - ["css=#\\/contacts\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_name", "id"], + ["css=#root_contacts_1_name", "css:finder"], + ["xpath=//input[@id='root_contacts_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "02819e27-7aed-4a1a-867f-f8131c3897d8", "comment": "", "command": "type", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ ["id=field14", "id"], ["name=field14", "name"], @@ -299,19 +339,20 @@ "id": "1d478856-8742-4627-acbe-daed2bb83abe", "comment": "", "command": "click", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ - ["css=#field15 > option:nth-child(2)", "css:finder"], - ["xpath=(//option[@value='1: support'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field15']/option[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[2]", "xpath:position"] + ["id=root_contacts_1_type", "id"], + ["css=#root_contacts_1_type", "css:finder"], + ["xpath=//select[@id='root_contacts_1_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "9b4c76b4-3851-4aac-a9f5-67e20c36f174", "comment": "", "command": "select", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ ["id=/contacts/1/type", "id"], ["name=field15", "name"], @@ -319,31 +360,31 @@ ["xpath=//select[@id='/contacts/1/type']", "xpath:attributes"], ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] ], - "value": "label=Support" + "value": "label=support" }, { "id": "5e3fddc1-786d-4040-8351-2f553e3c8811", "comment": "", "command": "click", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ - ["id=/contacts/1/emailAddress", "id"], - ["name=field16", "name"], - ["css=#\\/contacts\\/1\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/1/emailAddress']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_emailAddress", "id"], + ["css=#root_contacts_1_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_1_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "700d8907-6a65-43d5-aebf-60a392379534", "comment": "", "command": "type", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ - ["id=field16", "id"], - ["name=field16", "name"], - ["css=#field16", "css:finder"], - ["xpath=//input[@id='field16']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_emailAddress", "id"], + ["css=#root_contacts_1_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_1_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "user2@test.org" }, { @@ -360,12 +401,12 @@ "id": "f38b7fca-0c0c-4658-9df6-10a26881c6a5", "comment": "", "command": "click", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=/mdui/displayName", "id"], - ["name=field19", "name"], - ["css=#\\/mdui\\/displayName", "css:finder"], - ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -373,7 +414,7 @@ "id": "c03c4582-e1f1-449f-9a79-300d48ad69d8", "comment": "", "command": "type", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ ["id=field19", "id"], ["name=field19", "name"], @@ -386,25 +427,25 @@ "id": "5098507c-fa51-4c13-b9a3-381034e0fa52", "comment": "", "command": "type", - "target": "id=/mdui/informationUrl", + "target": "id=root_mdui_informationUrl", "targets": [ - ["id=/mdui/informationUrl", "id"], - ["name=field20", "name"], - ["css=#\\/mdui\\/informationUrl", "css:finder"], - ["xpath=//input[@id='/mdui/informationUrl']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_informationUrl", "id"], + ["css=#root_mdui_informationUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_informationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/info" }, { "id": "d5de3699-5a18-4abe-a2ea-0a2b7565c525", "comment": "", "command": "type", - "target": "id=/mdui/description", + "target": "id=root_mdui_description", "targets": [ - ["id=/mdui/description", "id"], - ["name=field21", "name"], - ["css=#\\/mdui\\/description", "css:finder"], - ["xpath=//textarea[@id='/mdui/description']", "xpath:attributes"], + ["id=root_mdui_description", "id"], + ["css=#root_mdui_description", "css:finder"], + ["xpath=//textarea[@id='root_mdui_description']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[3]/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "This is a description." @@ -412,20 +453,20 @@ "id": "115bb9a9-e991-4cf0-8bcb-363d9dc3c269", "comment": "", "command": "click", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ - ["id=/mdui/privacyStatementUrl", "id"], - ["name=field22", "name"], - ["css=#\\/mdui\\/privacyStatementUrl", "css:finder"], - ["xpath=//input[@id='/mdui/privacyStatementUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_privacyStatementUrl", "id"], + ["css=#root_mdui_privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_privacyStatementUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "df623bef-a1fc-48ff-aa93-05e0da85ef51", "comment": "", "command": "type", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ ["id=field22", "id"], ["name=field22", "name"], @@ -438,39 +479,39 @@ "id": "ed17408b-a763-4e5d-86cd-efe575df8d08", "comment": "", "command": "type", - "target": "id=/mdui/logoUrl", + "target": "id=root_mdui_logoUrl", "targets": [ - ["id=/mdui/logoUrl", "id"], - ["name=field23", "name"], - ["css=#\\/mdui\\/logoUrl", "css:finder"], - ["xpath=//input[@id='/mdui/logoUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_logoUrl", "id"], + ["css=#root_mdui_logoUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_logoUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/logo" }, { "id": "2946a968-7289-43e5-820d-b1aee442ce96", "comment": "", "command": "type", - "target": "id=/mdui/logoWidth", + "target": "id=root_mdui_logoWidth", "targets": [ - ["id=/mdui/logoWidth", "id"], - ["name=field24", "name"], - ["css=#\\/mdui\\/logoWidth", "css:finder"], - ["xpath=//input[@id='/mdui/logoWidth']", "xpath:attributes"], - ["xpath=//integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoWidth", "id"], + ["css=#root_mdui_logoWidth", "css:finder"], + ["xpath=//input[@id='root_mdui_logoWidth']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "200" }, { "id": "ceec5477-13d4-4ab4-944e-a2a34a9b4510", "comment": "", "command": "type", - "target": "id=/mdui/logoHeight", + "target": "id=root_mdui_logoHeight", "targets": [ - ["id=/mdui/logoHeight", "id"], - ["name=field25", "name"], - ["css=#\\/mdui\\/logoHeight", "css:finder"], - ["xpath=//input[@id='/mdui/logoHeight']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoHeight", "id"], + ["css=#root_mdui_logoHeight", "css:finder"], + ["xpath=//input[@id='root_mdui_logoHeight']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[3]/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/input", "xpath:position"] ], "value": "300" }, { @@ -487,20 +528,20 @@ "id": "88054c63-d468-4340-b4d3-c69fb6ed6f96", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: SAML 2']", "xpath:attributes"], - ["xpath=//select[@id='field28']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SAML 2')]", "xpath:innerText"] + ["id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "id"], + ["css=#root_serviceProviderSsoDescriptor_protocolSupportEnum", "css:finder"], + ["xpath=//select[@id='root_serviceProviderSsoDescriptor_protocolSupportEnum']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "c77b3648-fce1-46f9-aec9-ca88c90d4c92", "comment": "", "command": "select", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ ["id=/serviceProviderSsoDescriptor/protocolSupportEnum", "id"], ["name=field28", "name"], @@ -513,11 +554,13 @@ "id": "aec93dce-3142-4df3-b09d-735c70d1197b", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -531,13 +574,12 @@ "id": "a0102f51-f1d8-4c38-9170-482022ea7397", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", + "target": "css=.toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -551,20 +593,23 @@ "id": "9033e5ad-4255-4aa7-a878-c7beab69ee8e", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "c21b1d7a-9325-4d70-887d-387c7a042c08", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -581,12 +626,12 @@ "id": "c1534880-c4e5-4fbd-b200-c28f9f556ab9", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -600,20 +645,23 @@ "id": "d07b2d83-3699-4f48-90e8-6fc883d3a02a", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "2c77ecbc-45cc-471c-9e39-f87ec06a9385", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -631,12 +679,12 @@ "id": "97a98737-862d-4567-8b20-c5c991444ed0", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", + "target": "css=.is-invalid > .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -650,20 +698,23 @@ "id": "686e004c-2b0f-4308-8622-b04bc05a50a9", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "104367d3-f250-4439-8721-32dcf9f25e0c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -681,12 +732,12 @@ "id": "e2e8d5d4-8b6a-42d5-9fe7-abb8a84216e3", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -700,38 +751,49 @@ "id": "b6ac5230-772b-44bc-b9d1-6ae8a58e0368", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "d135ef80-69d8-4cd1-b581-5e1973342082", "comment": "", "command": "click", - "target": "css=.btn-success > translate-i18n", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.next", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/nav/ul/li[3]/button", "xpath:idRelative"], + ["xpath=//li[3]/button", "xpath:position"] ], "value": "" }, { "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/4", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=field34", "id"], - ["css=#field34", "css:finder"], - ["xpath=//input[@id='field34']", "xpath:attributes"], - ["xpath=//div[@id='field34-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[3]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "c11bf56d-4516-4397-9a19-e07cc12eda2a", + "comment": "", + "command": "sendKeys", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -739,6 +801,8 @@ "target": "css=.next", "targets": [ ["css=.next", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/nav/ul/li[3]/button", "xpath:idRelative"], ["xpath=//li[3]/button", "xpath:position"] ], "value": "" @@ -746,23 +810,25 @@ "id": "0de0345e-c9d2-4904-b797-a36965c5d82c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "62ade28b-19d4-4c54-b179-0d36312c578f", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ - ["id=/logoutEndpoints/0/url", "id"], - ["name=field38", "name"], - ["css=#\\/logoutEndpoints\\/0\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/0/url']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_url", "id"], + ["css=#root_logoutEndpoints_0_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_0_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -770,7 +836,7 @@ "id": "517e5991-197d-42fd-86ff-4da5fd04949b", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ ["id=field38", "id"], ["name=field38", "name"], @@ -783,20 +849,20 @@ "id": "034f6a60-6b2d-42f1-adb4-515c8a750953", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field39']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_logoutEndpoints_0_bindingType", "id"], + ["css=#root_logoutEndpoints_0_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_0_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "6967d0bb-dbf7-4f57-9e55-6de71abd69c1", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ ["id=/logoutEndpoints/0/bindingType", "id"], ["name=field39", "name"], @@ -809,7 +875,7 @@ "id": "542f9b37-a63d-4acb-ba3e-2ac3706b6667", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -819,20 +885,20 @@ "id": "39dedb16-bcd2-496a-af85-7d20a129593b", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ - ["id=/logoutEndpoints/1/url", "id"], - ["name=field41", "name"], - ["css=#\\/logoutEndpoints\\/1\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/1/url']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_logoutEndpoints_1_url", "id"], + ["css=#root_logoutEndpoints_1_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_1_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d25f708c-f72a-4fb7-88c1-a25a61d9f72a", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ ["id=field41", "id"], ["name=field41", "name"], @@ -845,19 +911,20 @@ "id": "bee9600e-b6db-484a-9b87-d7c657911108", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ - ["css=#field42 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redir'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field42']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_logoutEndpoints_1_bindingType", "id"], + ["css=#root_logoutEndpoints_1_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_1_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "e0e7ef9b-4ed1-4df2-b501-9cbb855baa7f", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ ["id=/logoutEndpoints/1/bindingType", "id"], ["name=field42", "name"], @@ -876,60 +943,52 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "6c794e94-9c64-4683-816a-380432f2ed79", - "comment": "", - "command": "click", - "target": "id=/securityInfo/x509CertificateAvailable.true", - "targets": [ - ["id=/securityInfo/x509CertificateAvailable.true", "id"], - ["css=#\\/securityInfo\\/x509CertificateAvailable\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509CertificateAvailable.true']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" }, { "id": "f0ade90e-2c31-4a77-b936-3b2a00388477", "comment": "", "command": "click", - "target": "id=/securityInfo/authenticationRequestsSigned.true", + "target": "id=root_securityInfo_authenticationRequestsSigned-value.true", "targets": [ - ["id=/securityInfo/authenticationRequestsSigned.true", "id"], - ["css=#\\/securityInfo\\/authenticationRequestsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/authenticationRequestsSigned.true']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_authenticationRequestsSigned-value.true", "id"], + ["name=root_securityInfo_authenticationRequestsSigned", "name"], + ["css=#root_securityInfo_authenticationRequestsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_authenticationRequestsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "e26eda6f-1897-42e2-9ea9-671b1ff88874", "comment": "", "command": "click", - "target": "id=/securityInfo/wantAssertionsSigned.true", + "target": "id=root_securityInfo_wantAssertionsSigned-value.true", "targets": [ - ["id=/securityInfo/wantAssertionsSigned.true", "id"], - ["css=#\\/securityInfo\\/wantAssertionsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/wantAssertionsSigned.true']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_wantAssertionsSigned-value.true", "id"], + ["name=root_securityInfo_wantAssertionsSigned", "name"], + ["css=#root_securityInfo_wantAssertionsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_wantAssertionsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "3e11e54a-1b36-43ed-a8e5-d91f1fbed991", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ - ["id=/securityInfo/x509Certificates/0/name", "id"], - ["name=field50", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/name']", "xpath:attributes"], - ["xpath=//div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5acb8e19-16a3-4139-a961-1b58c11c4681", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ ["id=field50", "id"], ["name=field50", "name"], @@ -942,25 +1001,26 @@ "id": "23ff8b87-ac6c-4f82-a779-aa91be11f49c", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/type.0", + "target": "id=root_securityInfo_x509Certificates_0_type-signing", "targets": [ - ["id=/securityInfo/x509Certificates/0/type.0", "id"], - ["name=field55", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/type\\.0", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/type.0']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_type-signing", "id"], + ["name=root_securityInfo_x509Certificates_0_type", "name"], + ["css=#root_securityInfo_x509Certificates_0_type-signing", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_type-signing']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dd15088c-ddc9-42fd-8f8d-f73338be71b6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ - ["id=/securityInfo/x509Certificates/0/value", "id"], - ["name=field52", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/0/value']", "xpath:attributes"], + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "" @@ -968,7 +1028,7 @@ "id": "813bf709-6c73-41ac-837a-5be076fa43c7", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ ["name=field52", "name"], ["css=.text-widget", "css:finder"], @@ -980,30 +1040,33 @@ "id": "fcf4cc15-54f4-4add-a093-e7ba5f2dc556", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "cbe577f6-3d18-49d9-95ab-2e597e5308a6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ - ["id=/securityInfo/x509Certificates/1/name", "id"], - ["name=field54", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_name", "id"], + ["css=#root_securityInfo_x509Certificates_1_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "ae98e813-77f4-424e-9141-d48e6127d9b6", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ ["id=field54", "id"], ["name=field54", "name"], @@ -1016,32 +1079,33 @@ "id": "835ad053-0a10-4606-a148-c7ba36be316f", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/type.1", + "target": "id=root_securityInfo_x509Certificates_1_type-encryption", "targets": [ - ["id=/securityInfo/x509Certificates/1/type.1", "id"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/type\\.1", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/type.1']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-radio-widget/div/div[2]/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_type-encryption", "id"], + ["css=#root_securityInfo_x509Certificates_1_type-encryption", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_type-encryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "e272cafa-3aba-4aff-972e-b1d45e627b88", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ - ["id=/securityInfo/x509Certificates/1/value", "id"], - ["name=field56", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/1/value']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_value", "id"], + ["css=#root_securityInfo_x509Certificates_1_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_1_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:position"] ], "value": "" }, { "id": "ae42d668-92ba-4cb8-9daf-a2a64ac18404", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ ["name=field56", "name"], ["css=.ng-untouched:nth-child(3)", "css:finder"], @@ -1063,23 +1127,25 @@ "id": "573c9f4c-c677-4175-96c5-3aaaf86e5ac1", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "50c1a3a1-b51c-41f9-81ff-d3d2894861ad", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ - ["id=/assertionConsumerServices/0/locationUrl", "id"], - ["name=field60", "name"], - ["css=#\\/assertionConsumerServices\\/0\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/0/locationUrl']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_locationUrl", "id"], + ["css=#root_assertionConsumerServices_0_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -1087,7 +1153,7 @@ "id": "6ff4002a-1c57-4778-b402-f917efaa5194", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ ["id=field60", "id"], ["name=field60", "name"], @@ -1100,20 +1166,20 @@ "id": "e81c5045-98c3-499c-bff5-2645efa4c55d", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field61']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_binding", "id"], + ["css=#root_assertionConsumerServices_0_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_0_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "24c810c8-747a-4ae2-91e5-16685d589f21", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ ["id=/assertionConsumerServices/0/binding", "id"], ["name=field61", "name"], @@ -1126,41 +1192,46 @@ "id": "c221b1f5-2961-4cbd-a545-1e34a09b8153", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_assertionConsumerServices_0_makeDefault", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Mark as Default')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_makeDefault", "id"], + ["css=#root_assertionConsumerServices_0_makeDefault", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_makeDefault']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "cb058717-f20f-4a54-81e5-9a7dcf66ec0e", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "f9998203-830b-44d3-8392-45b737544177", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ - ["id=/assertionConsumerServices/1/locationUrl", "id"], - ["name=field64", "name"], - ["css=#\\/assertionConsumerServices\\/1\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/1/locationUrl']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_assertionConsumerServices_1_locationUrl", "id"], + ["css=#root_assertionConsumerServices_1_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_1_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d5cbf5e8-7c5b-45f7-8645-dd9f9d39922e", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ ["id=field64", "id"], ["name=field64", "name"], @@ -1173,19 +1244,20 @@ "id": "74de4187-3d1e-4a4d-af8e-966f00649ab8", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ - ["css=#field65 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:1.0:profiles:browser-po'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field65']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_assertionConsumerServices_1_binding", "id"], + ["css=#root_assertionConsumerServices_1_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_1_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "929c1047-f455-418b-b23e-a383d681f028", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ ["id=/assertionConsumerServices/1/binding", "id"], ["name=field65", "name"], @@ -1208,85 +1280,98 @@ "id": "134bf1f3-1e86-49e7-91de-185e513b02be", "comment": "", "command": "click", - "target": "css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", + "target": "id=root_relyingPartyOverrides_signAssertion", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_signAssertion", "id"], + ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "5cd1ae5f-678a-4be8-a03f-b290006e52fe", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_dontSignResponse", "targets": [ - ["css=div:nth-child(2) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ["id=root_relyingPartyOverrides_dontSignResponse", "id"], + ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5895d555-6ef5-4344-b177-00e905f9007c", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=div:nth-child(3) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "8d834380-e312-494d-9b4b-c5b798cc9b15", "comment": "", "command": "click", - "target": "css=div:nth-child(4) .custom-control-label", + "target": "id=root_relyingPartyOverrides_useSha", "targets": [ - ["css=div:nth-child(4) .custom-control-label", "css:finder"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_useSha", "id"], + ["css=#root_relyingPartyOverrides_useSha", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "bcf532a9-ba5a-4ca1-a342-dde53bc4a592", "comment": "", "command": "click", - "target": "css=div:nth-child(5) .custom-control-label", + "target": "id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "targets": [ - ["css=div:nth-child(5) .custom-control-label", "css:finder"], - ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "id"], + ["css=#root_relyingPartyOverrides_ignoreAuthenticationMethod", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_ignoreAuthenticationMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "45f3df44-1c34-4649-aedb-14207e9ce999", "comment": "", "command": "click", - "target": "css=div:nth-child(6) .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=div:nth-child(6) .custom-control-label", "css:finder"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7ccb7d88-b113-4ee9-8582-b3d781fa8846", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field121", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "afe1b839-3421-4816-bf69-c804add681ba", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ ["id=field75", "id"], ["name=field75", "name"], @@ -1299,10 +1384,13 @@ "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1316,13 +1404,12 @@ "id": "2a91666b-5453-4064-8923-c3384835b6fd", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1336,20 +1423,23 @@ "id": "6e8718ef-e053-48d8-91e5-f5128e371f56", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1367,12 +1457,12 @@ "id": "fd33610c-dbca-410d-b2a4-117a1b2b6a79", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1386,20 +1476,23 @@ "id": "3cd47415-5e57-4148-a40b-9571e6791f3f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1417,12 +1510,12 @@ "id": "208b33cf-f983-4a82-9b1b-19cdf2a937fc", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[19]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1436,20 +1529,23 @@ "id": "b4beb2b3-8481-4431-9299-a39a4107f17f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1467,12 +1563,12 @@ "id": "788a5b63-a75f-4aeb-9a5d-17c41e8f718e", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[21]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1486,20 +1582,23 @@ "id": "c82d6951-13e2-4d32-9e19-eac52bfdc188", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -1509,7 +1608,7 @@ "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], @@ -1522,7 +1621,7 @@ "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1531,12 +1630,24 @@ ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "26146f5e-533f-42c6-b1e6-e107a471ba8f", + "comment": "", + "command": "sendKeys", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", - "targets": [], + "target": "css=.row:nth-child(9) .array-add-button", + "targets": [ + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] + ], "value": "" }, { "id": "be2aeaca-cf62-4ea9-9ee4-c97e8ae13c6e", @@ -1549,7 +1660,7 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], @@ -1568,20 +1679,23 @@ "id": "6c62d514-0143-49d9-97b3-6b7cb443df9d", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "id"], + ["linkText=https://refeds.org/profile/mfa", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'https://refeds.org/profile/mfa')]", "xpath:innerText"] ], "value": "" }, { "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1598,7 +1712,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1617,20 +1731,23 @@ "id": "5a32d59b-1ac3-4cd0-a2d8-0e934f8182fd", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken')]", "xpath:innerText"] ], "value": "" }, { "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1647,7 +1764,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1666,20 +1783,23 @@ "id": "6a7bce1a-34be-4d4c-b732-d2f198e8b8a1", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport')]", "xpath:innerText"] ], "value": "" }, { "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] @@ -1689,7 +1809,7 @@ "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], @@ -1702,7 +1822,7 @@ "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1711,15 +1831,24 @@ ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "otherThings" + }, { + "id": "7e80934c-c706-42e3-84c2-012dfcfb88a3", + "comment": "", + "command": "sendKeys", + "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", "command": "click", - "target": "css=div:nth-child(10) .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=div:nth-child(10) .custom-control-label", "css:finder"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -1757,22 +1886,24 @@ "id": "14ca713a-313d-4cda-82ca-a0b814ce81dc", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_serviceEnabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ["id=root_serviceEnabled", "id"], + ["css=#root_serviceEnabled", "css:finder"], + ["xpath=//input[@id='root_serviceEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[11]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=div:nth-child(2) > div:nth-child(2) > .border-bottom > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .border-bottom > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1780,22 +1911,23 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert2')]", "xpath:innerText"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(8) .border-0", + "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "targets": [ - ["css=array-property:nth-child(8) .border-0", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], - ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] + ["css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]", "xpath:idRelative"], + ["xpath=//div[8]/ul/li[5]", "xpath:position"] ], "value": "somethingElse" }, { @@ -1948,11 +2080,12 @@ "id": "01da89d4-e043-4f99-9d98-dcb42b9b4777", "comment": "", "command": "click", - "target": "css=.btn-link", + "target": "css=.px-3", "targets": [ - ["css=.btn-link", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], + ["css=.px-3", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/form/div/div/div/button", "xpath:idRelative"], + ["xpath=//form/div/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Clear')]", "xpath:innerText"] ], "value": "" @@ -1993,11 +2126,11 @@ "id": "16271513-203c-4528-870f-dcf73f4d81cb", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -2005,22 +2138,23 @@ "id": "3f2c3eab-ecbf-45f3-bcdc-a5cad766b27c", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", + "target": "css=div:nth-child(5) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "targets": [ - ["css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/array-property/div/div[2]/div[3]/div[2]", "xpath:idRelative"], - ["xpath=//div[3]/div[2]", "xpath:position"] + ["css=div:nth-child(5) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div[3]/span", "xpath:idRelative"], + ["xpath=//div[3]/span", "xpath:position"], + ["xpath=//span[contains(.,'user@test.org')]", "xpath:innerText"] ], "value": "user@test.org" }, { "id": "467409c7-1007-4c45-80d2-0b4eea5199a0", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(4) div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(4) div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'http://test.org/info')]", "xpath:innerText"] ], "value": "http://test.org/info" @@ -2028,11 +2162,11 @@ "id": "eaaf9d59-1466-4736-924c-56c9b3f7522f", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(2) .text-truncate:nth-child(2)", + "target": "css=.d-flex:nth-child(2) .d-flex:nth-child(2)", "targets": [ - ["css=array-property:nth-child(2) .text-truncate:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[3]/div/div[2]/object-property/object-property/array-property/div/div/ul/li[2]", "xpath:idRelative"], - ["xpath=//div/div/ul/li[2]", "xpath:position"], + ["css=.d-flex:nth-child(2) .d-flex:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[3]/div/div[2]/div[2]/div/div[2]/ul/li[2]", "xpath:idRelative"], + ["xpath=//ul/li[2]", "xpath:position"], ["xpath=//li[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" @@ -2040,44 +2174,46 @@ "id": "2a23096f-d5cd-4727-af1b-130388117aa0", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(6) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(6) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/logout2')]", "xpath:innerText"] ], "value": "http://test.org/logout2" }, { "id": "fe47ffd2-d2a0-4264-90fe-31b998f81ac2", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", + "target": "css=div:nth-child(1) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "targets": [ - ["css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:position"] + ["css=div:nth-child(1) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[6]/div/div[2]/div[2]/div/div[2]/div[3]/span", "xpath:idRelative"], + ["xpath=//section[6]/div/div[2]/div[2]/div/div[2]/div[3]/span", "xpath:position"] ], "value": "true" }, { "id": "7300785c-b83e-49b8-97a6-d66516f6c133", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(8) .py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(8) .py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[6]/div/div[2]/div[2]/div/div[2]/div/span", "xpath:idRelative"], + ["xpath=//section[6]/div/div[2]/div[2]/div/div[2]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert')]", "xpath:innerText"] ], "value": "http://test.org/assert" }, { "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] ], "value": "responder-id-123" @@ -2096,12 +2232,13 @@ "id": "2c46cdcd-d5a5-47fe-aa7b-0120fd2fcfc9", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { @@ -2111,30 +2248,44 @@ "target": "5000", "targets": [], "value": "" + }, { + "id": "c43c090c-c782-4705-b7d6-02f162761a45", + "comment": "", + "command": "type", + "target": "id=root_serviceProviderName", + "targets": [], + "value": "" }, { "id": "99731068-2016-4a7f-8a38-febfb711d027", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ - ["id=/serviceProviderName", "id"], - ["name=field93", "name"], - ["css=#\\/serviceProviderName", "css:finder"], - ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Service Provider v2" + }, { + "id": "ede9104f-71dd-40a9-9292-526dcf5691ba", + "comment": "", + "command": "type", + "target": "id=root_contacts_0_name", + "targets": [], + "value": "" }, { "id": "c6484ff1-8bf2-4442-8f73-13c7af38634a", "comment": "", "command": "type", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=/contacts/0/name", "id"], - ["name=field102", "name"], - ["css=#\\/contacts\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Test User v2" }, { @@ -2144,20 +2295,24 @@ "target": "css=.btn-info", "targets": [ ["css=.btn-info", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { "id": "c5985278-503e-4258-bba9-de7d2f157db0", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/5353123e-dd8a-400c-a2b3-42868e49461e/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -2188,7 +2343,9 @@ "target": "css=.btn-primary", "targets": [ ["css=.btn-primary", "css:finder"], - ["xpath=//history-list/button", "xpath:position"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] ], "value": "" @@ -2196,52 +2353,63 @@ "id": "90cb59ce-695b-49d0-983b-01e445f3a384", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "10000" }, { "id": "1c0b7514-92b7-4e07-b462-467113f4a8cd", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[2]/div/span[2]", "xpath:position"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "Service Provider v2" + }, { + "id": "853b7142-e733-4f2a-b7e0-8303f582740f", + "comment": "", + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", + "targets": [], + "value": "10000" }, { "id": "fc7c4e1e-03c7-4108-9a8d-f469e7679ae4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[2]/div/span[3]", "xpath:position"], - ["xpath=//span[contains(.,'Test Provider')]", "xpath:innerText"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] ], "value": "Test Provider" }, { "id": "138ad58b-f0a2-436b-a8b0-43484f4180e6", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(3)", + "target": "css=.bg-diff:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(3)", "targets": [ - ["css=.bg-diff > .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(3)", "css:finder"], - ["xpath=//div[2]/div/div[2]", "xpath:position"] + ["css=.bg-diff:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[5]/div[2]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Test User v2')]", "xpath:innerText"] ], "value": "Test User v2" }, { "id": "17049c95-4724-4521-ac47-6b64bde822aa", "comment": "", "command": "assertText", - "target": "css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(4)", + "target": "css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(4)", "targets": [ - ["css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(4)", "css:finder"], - ["xpath=//div/div[3]", "xpath:position"] + ["css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(4)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[5]/div[2]/div/span[3]", "xpath:position"] ], "value": "Test User" }, { @@ -2274,11 +2442,12 @@ "id": "8ff1a53e-948a-4732-8414-2f371e410c7d", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(2) .actions span", + "target": "css=.mb-4:nth-child(4) .edit-link", "targets": [ - ["css=.mb-4:nth-child(2) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//section[2]/div/div/div/button/span", "xpath:position"] + ["css=.mb-4:nth-child(4) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div/div/button", "xpath:idRelative"], + ["xpath=//section[2]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -2288,16 +2457,23 @@ "target": "5000", "targets": [], "value": "" + }, { + "id": "a701c68a-f605-428a-80b0-aba22a74d7ee", + "comment": "", + "command": "type", + "target": "id=root_mdui_displayName", + "targets": [], + "value": "" }, { "id": "6f422a9d-6c2f-4200-bdd3-411ed44773a3", "comment": "", "command": "type", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=/mdui/displayName", "id"], - ["name=field111", "name"], - ["css=#\\/mdui\\/displayName", "css:finder"], - ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Display Name v3" @@ -2367,14 +2543,19 @@ "id": "98aafaee-a430-4a2d-9aa5-b4c9ce0c4908", "comment": "", "command": "waitForElementVisible", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(1) > div > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(1) > div > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Display Name v3')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "5a976e2c-dc5f-4021-9cc6-3cad12e771ea", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=div:nth-child(1) > div > .bg-diff > .d-block:nth-child(2)", "targets": [ ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property/div/span[2]", "xpath:position"], @@ -2385,10 +2566,11 @@ "id": "72328587-fe8d-4dc8-bc3d-a163f91a1ad6", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(3)", + "target": "css=div:nth-child(1) > div > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(3)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property/div/span[3]", "xpath:position"] + ["css=div:nth-child(1) > div > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div/div/span[3]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/div/span[3]", "xpath:position"] ], "value": "Display Name" }, { diff --git a/backend/src/integration/resources/SHIBUI-1352-1.side b/backend/src/integration/resources/SHIBUI-1352-1.side index f59c15872..0bdb93ee6 100644 --- a/backend/src/integration/resources/SHIBUI-1352-1.side +++ b/backend/src/integration/resources/SHIBUI-1352-1.side @@ -49,41 +49,64 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "5fe93ce7-64eb-4b3f-b01f-260b88b09f26", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "5f3e3367-de96-4bf0-b9e7-47e08c781038", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "3e186997-b81e-487b-8973-77ed74b32895", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "8ff3019f-42b4-4ba8-8b63-b9f0f6aa413f", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "c36d95be-7a13-454d-a05e-ef323b530c9d", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "2e8de1a4-a5a3-49fc-8314-206ab7373f14", "comment": "", "command": "click", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field1", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -91,7 +114,7 @@ "id": "88683ce7-ec58-4a98-8138-9003d4275f8b", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=field1", "id"], ["name=field1", "name"], @@ -104,15 +127,15 @@ "id": "fd4257d7-488a-4eed-8d72-7f39034a1c72", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/@type", "id"], - ["name=field2", "name"], - ["css=#\\/\\@type", "css:finder"], - ["xpath=//select[@id='/@type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=LocalDynamicMetadataProvider" + "value": "label=LocalDynamicMetadataResolver" }, { "id": "34cb083d-1dbf-463d-94de-392356f4e68d", "comment": "", @@ -127,12 +150,12 @@ "id": "205b2459-f8d3-4571-813b-e752ec2295a0", "comment": "", "command": "click", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=/xmlId", "id"], - ["name=field7", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -140,7 +163,7 @@ "id": "54554bf5-8354-4737-b96e-6f36ccab6455", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=field7", "id"], ["name=field7", "name"], @@ -153,20 +176,20 @@ "id": "2510aebf-4351-4bd4-8d57-1b8061a3da93", "comment": "", "command": "click", - "target": "id=/sourceDirectory", + "target": "id=root_sourceDirectory", "targets": [ - ["id=/sourceDirectory", "id"], - ["name=field8", "name"], - ["css=#\\/sourceDirectory", "css:finder"], - ["xpath=//input[@id='/sourceDirectory']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_sourceDirectory", "id"], + ["css=#root_sourceDirectory", "css:finder"], + ["xpath=//input[@id='root_sourceDirectory']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b020f834-180b-400f-a85a-b3e006337c55", "comment": "", "command": "type", - "target": "id=/sourceDirectory", + "target": "id=root_sourceDirectory", "targets": [ ["id=field8", "id"], ["name=field8", "name"], @@ -189,12 +212,12 @@ "id": "ee0724b9-a055-4aef-a5a2-a58acd017000", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field11", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=.mb-0 > #root_dynamicMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -202,7 +225,7 @@ "id": "1d3c8b73-97b8-40d2-ba89-9692f443b53d", "comment": "", "command": "type", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "targets": [ ["id=field11", "id"], ["name=field11", "name"], @@ -211,6 +234,13 @@ ["xpath=//input", "xpath:position"] ], "value": "0.5" + }, { + "id": "007c8b1a-41ee-4498-9e90-ac9d1d50c10c", + "comment": "", + "command": "sendKeys", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "b0ba61cf-ebb5-41f7-b512-63ca2cd0e478", "comment": "", @@ -222,13 +252,12 @@ "id": "59ca3a2c-b9da-4ac6-9b44-d44271355659", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/minCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -242,14 +271,16 @@ "id": "8db04a8f-565a-4fa9-b5c0-8ce4b200b11c", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/minCacheDuration__option--1", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "targets": [ - ["id=/dynamicMetadataResolverAttributes/minCacheDuration__option--1", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration__option--1", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/minCacheDuration__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/minCacheDuration__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -263,12 +294,12 @@ "id": "a5274853-084e-438f-8cea-9a74e55fd0b9", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", + "target": "css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -282,13 +313,16 @@ "id": "bf7f5914-5aad-485a-8af0-aa510605e1dc", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--3", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--3", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration__option--3", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { @@ -302,12 +336,12 @@ "id": "b2bd8d25-4f3c-47b2-a070-53a364840916", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", + "target": "css=.row:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[12]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[4]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -321,25 +355,29 @@ "id": "9a411cfc-479d-4951-aab2-e8d09ba64b4e", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-5", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData__option--2", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-5", "id"], + ["linkText=PT1H", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-5", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-5']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData']/a[6]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[6]", "xpath:href"], + ["xpath=//a[6]", "xpath:position"], + ["xpath=//a[contains(.,'PT1H')]", "xpath:innerText"] ], "value": "" }, { "id": "1176d384-4b0c-4a67-8e43-6cc3cbbcff73", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/removeIdleEntityData.false", + "target": "id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "targets": [ - ["id=/dynamicMetadataResolverAttributes/removeIdleEntityData.false", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/removeIdleEntityData\\.false", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/removeIdleEntityData.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "id"], + ["css=#root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_removeIdleEntityData-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[5]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { @@ -353,12 +391,12 @@ "id": "ae32fb25-67b1-469b-9f23-3cbca895b956", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", + "target": "css=.row:nth-child(6) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(6) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -372,13 +410,16 @@ "id": "c30bf781-4d5d-46ad-9bbc-4a5165788870", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--1", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-1", "targets": [ - ["id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--1", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval__option--1", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -395,11 +436,13 @@ "id": "f4b19f08-bf68-47d0-9c1d-d59f6476a468", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -416,30 +459,42 @@ "id": "6a002ac9-ba5c-4d57-bb87-05c3a5812469", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", - "targets": [], + "target": "linkText=Test Local Dynamic Provider", + "targets": [ + ["linkText=Test Local Dynamic Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Local Dynamic Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/69dc896e-c046-469d-a85d-066c71606460/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Local Dynamic Provider')]", "xpath:innerText"] + ], "value": "30000" }, { "id": "f0232386-eb88-4f6c-98fa-b9065ed422b7", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "linkText=Test Local Dynamic Provider", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"] + ["linkText=Test Local Dynamic Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Local Dynamic Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/69dc896e-c046-469d-a85d-066c71606460/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Local Dynamic Provider')]", "xpath:innerText"] ], "value": "Test Local Dynamic Provider" }, { "id": "5e8993ae-47ee-4e65-b667-b291d7c934ec", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'LocalDynamicMetadataResolver')]", "xpath:innerText"] + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'LocalDynamicMetadataResolver')]", "xpath:innerText"] ], "value": "LocalDynamicMetadataResolver" }, { diff --git a/backend/src/integration/resources/SHIBUI-1352-2.side b/backend/src/integration/resources/SHIBUI-1352-2.side index a6b4b2593..70c1c633a 100644 --- a/backend/src/integration/resources/SHIBUI-1352-2.side +++ b/backend/src/integration/resources/SHIBUI-1352-2.side @@ -49,36 +49,59 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "e3eeb3b6-c6de-466f-9609-9683bc71ac71", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "b9614d2a-251b-4ad0-b85d-066c7b947d7c", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "9c33c58d-9c9f-405e-960a-3ae946ebfc69", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "1245c352-1466-4b3f-ac54-a71bdd99ed29", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "0a94c3ad-96c3-464c-8db2-04b8d40d07fe", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "230d4089-99c3-4f2e-99a8-b125bbde94aa", "comment": "", "command": "click", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field1", "name"], @@ -91,7 +114,7 @@ "id": "872cc901-9a64-46c8-9a8b-78df25273a29", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=field4", "id"], ["name=field4", "name"], @@ -104,7 +127,7 @@ "id": "9621e646-308a-4eda-9244-036e8997467a", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ ["id=/@type", "id"], ["name=field2", "name"], @@ -112,7 +135,7 @@ ["xpath=//select[@id='/@type']", "xpath:attributes"], ["xpath=//select", "xpath:position"] ], - "value": "label=FilesystemMetadataProvider" + "value": "label=FilesystemMetadataResolver" }, { "id": "19b8e1ac-427a-4ced-91c7-226fd2480f46", "comment": "", @@ -127,12 +150,12 @@ "id": "cb1183c8-8165-4021-b1ff-77cf7ba210a5", "comment": "", "command": "click", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=/xmlId", "id"], - ["name=field7", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -140,7 +163,7 @@ "id": "fb136799-b38b-49f7-8cf6-f00de5c56a46", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=field7", "id"], ["name=field7", "name"], @@ -153,20 +176,20 @@ "id": "dece0246-47b4-4553-b06e-f89e096ef244", "comment": "", "command": "click", - "target": "id=/metadataFile", + "target": "id=root_metadataFile", "targets": [ - ["id=/metadataFile", "id"], - ["name=field8", "name"], - ["css=#\\/metadataFile", "css:finder"], - ["xpath=//input[@id='/metadataFile']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataFile", "id"], + ["css=#root_metadataFile", "css:finder"], + ["xpath=//input[@id='root_metadataFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "" }, { "id": "614a5542-fafa-4523-aa58-5f4fd3586d76", "comment": "", "command": "type", - "target": "id=/metadataFile", + "target": "id=root_metadataFile", "targets": [ ["id=field8", "id"], ["name=field8", "name"], @@ -179,12 +202,13 @@ "id": "88cf741f-0922-4dfb-aaea-9e4c146ed8e1", "comment": "", "command": "click", - "target": "id=/doInitialization.false", + "target": "id=root_doInitialization-No", "targets": [ - ["id=/doInitialization.true", "id"], - ["css=#\\/doInitialization\\.true", "css:finder"], - ["xpath=//input[@id='/doInitialization.true']", "xpath:attributes"], - ["xpath=//label/input", "xpath:position"] + ["id=root_doInitialization-No", "id"], + ["css=#root_doInitialization-No", "css:finder"], + ["xpath=//input[@id='root_doInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { @@ -208,13 +232,12 @@ "id": "d2e09813-fee8-4744-9ac9-72bdbac92b72", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -228,14 +251,16 @@ "id": "d449fec4-84f9-4eda-98e5-2dc40d185a63", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -249,12 +274,12 @@ "id": "54784d87-c835-4e3f-9467-9c39be596bb8", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -268,33 +293,36 @@ "id": "119a39c2-6d86-4d94-a093-6669e89e78e4", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--3", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { "id": "fa8357ce-5c99-483d-8170-bf9987aa81db", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field14", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "415caf46-dca5-41be-9334-f01a0bf42af8", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ ["id=field14", "id"], ["name=field14", "name"], @@ -303,6 +331,13 @@ ["xpath=//custom-string/div/input", "xpath:position"] ], "value": "0.5" + }, { + "id": "07cf4466-78fc-4a17-8a10-5d991bb2256c", + "comment": "", + "command": "sendKeys", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", + "targets": [], + "value": "${KEY_ENTER]" }, { "id": "138ac9c7-03ae-4a87-b1f4-73bab4cc1197", "comment": "", @@ -317,11 +352,13 @@ "id": "6a929cbb-551e-416d-9dd0-aea3d2ff7fa8", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -338,18 +375,22 @@ "id": "3718c9f8-edb3-412a-9819-f3adc27f1226", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "linkText=Test File System Provider", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"] + ["linkText=Test File System Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Test File System Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/f11c3ea0-fec6-4146-9e02-663212855b35/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test File System Provider')]", "xpath:innerText"] ], "value": "10000" }, { "id": "44749988-e30f-4328-9f78-dc9eaafa891a", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "linkText=Test File System Provider", "targets": [ ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], @@ -360,12 +401,12 @@ "id": "6ddcb09b-9d3b-4a13-bb95-1b79028ba2af", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'FilesystemMetadataResolver')]", "xpath:innerText"] + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'FilesystemMetadataResolver')]", "xpath:innerText"] ], "value": "FilesystemMetadataResolver" }, { diff --git a/backend/src/integration/resources/SHIBUI-1364-1.side b/backend/src/integration/resources/SHIBUI-1364-1.side index 04508d504..573496e81 100644 --- a/backend/src/integration/resources/SHIBUI-1364-1.side +++ b/backend/src/integration/resources/SHIBUI-1364-1.side @@ -41,72 +41,108 @@ "id": "358c31ea-fab8-4709-9b25-d9e5e82e123c", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "4ec2c493-85e4-403b-9b09-031c5728f498", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "e074980a-8f21-4c22-8412-c4b6fcdcd1a4", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "14967816-ba8b-4a5a-8568-e69d8b4114a5", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "fdea3214-f0e0-4f13-9d5d-e07ef92d71f1", "comment": "", "command": "click", - "target": "css=#addNewDropdown", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "2c40ac99-5e92-4c1c-923a-5a6100cadf43", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "7a42de04-995f-45aa-ba3f-095900a564ec", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "b2725ef6-b394-4f87-a2a5-031be085cedb", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field4", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "File Backed HTTP Metadata Provider" }, { - "id": "ca36b018-a4df-43d1-9fbd-973d6653d3e0", + "id": "94f84e8a-a971-495e-a3d8-67bbb5e2d332", "comment": "", - "command": "select", - "target": "id=/type", + "command": "click", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "" + }, { + "id": "180e83fa-0a8d-46a5-9ea3-3daea0ed9ef1", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "e5d1d696-3029-4f9d-ad53-2e60b4789935", "comment": "", @@ -114,6 +150,8 @@ "target": "css=.next", "targets": [ ["css=.next", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/nav/ul/li[2]/button", "xpath:idRelative"], ["xpath=//li[2]/button", "xpath:position"] ], "value": "" @@ -121,19 +159,25 @@ "id": "352f066f-c2af-4735-81b1-5440ba7a3432", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "e7462621-f4e4-4512-b200-20afa5685fc6", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=/xmlId", "id"], - ["name=field7", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "12345" @@ -141,38 +185,39 @@ "id": "7bfaa2a7-c66d-4e36-b1f4-1de30b02ebd0", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=/metadataURL", "id"], - ["name=field8", "name"], - ["css=#\\/metadataURL", "css:finder"], - ["xpath=//input[@id='/metadataURL']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "https://idp.unicon.net/idp/shibboleth" }, { "id": "047e1ea4-e28c-4b1b-86fc-ff19a3c0efcc", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "34124b74-7b90-424a-9219-1f0bfbf06b70", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field10", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo.txt" }, { @@ -186,13 +231,12 @@ "id": "0668032d-608b-4a01-9ac8-e4e2ac058294", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -206,38 +250,43 @@ "id": "35dfa0f8-c0f2-4356-a6b0-18b5dc35337b", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--1", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--1", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "b4d0a551-3bc1-466f-b204-ec7164af44ec", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[7]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "bef80dbb-25a6-4381-8b0e-331faaeb4392", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.true", + "target": "id=root_satisfyAnyPredicates-Yes", "targets": [ - ["id=/satisfyAnyPredicates.true", "id"], - ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-Yes", "id"], + ["name=root_satisfyAnyPredicates", "name"], + ["css=#root_satisfyAnyPredicates-Yes", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-Yes']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[9]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -275,13 +324,12 @@ "id": "824b4515-ae14-436e-a56f-d631ea9e1edc", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -295,14 +343,16 @@ "id": "9ee7065a-823e-4b4a-b212-0582eeaf7a00", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--0", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"], - ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "id"], + ["linkText=PT0S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'PT0S')]", "xpath:innerText"] ], "value": "" }, { @@ -316,12 +366,12 @@ "id": "618cc5f1-417b-4bc6-9388-3238f2304904", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -335,39 +385,42 @@ "id": "a89f1b4d-10bd-48f7-9b97-865710cfe01f", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--2", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { "id": "143b781c-56ae-48c6-a7f5-8c93953f6095", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dcd01c7a-f733-4977-9cc2-e9084903e079", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "0.5" }, { @@ -381,162 +434,156 @@ ], "value": "" }, { - "id": "faf43746-1293-437f-a1ce-63145f5d6135", + "id": "a14576bb-2d15-4e51-89c6-b8289311e58a", "comment": "", "command": "pause", "target": "1500", "targets": [], "value": "" }, { - "id": "363af92e-0327-47b9-918c-1560adab40cc", + "id": "a4ff078a-48ec-47c6-a67f-f562f7a2b02c", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div/div/div/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" - }, { - "id": "a14576bb-2d15-4e51-89c6-b8289311e58a", - "comment": "", - "command": "pause", - "target": "1500", - "targets": [], - "value": "" }, { "id": "a4470d6f-04a7-4c4b-8c1e-70cff2f35e8a", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "4530c1b4-8f27-4272-9633-c792a3a54f90", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "10cd8cee-fc6a-4e5b-a11b-a7b0a9338f5d", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "target": "id=root_metadataFilters_1_certificateFile", "targets": [ - ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], - ["name=field27", "name"], - ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], - ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo2.txt" }, { - "id": "a3ce889f-0607-4071-bd39-25b169c30114", + "id": "cfefd461-2a9f-45bd-8009-eba5e2a5f279", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element .bg-light", + "target": "css=.array-add-button", "targets": [ - ["css=div:nth-child(3) > sf-form-element .bg-light", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/fieldset-object/div/div/fieldset/div", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "f205ec23-b433-44bb-af80-e72330b4c7a3", + "id": "4cfca7fa-34db-47c9-9076-db799b49511e", "comment": "", "command": "click", - "target": "css=.fa-plus", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=.fa-plus", "css:finder"], - ["xpath=//array-component/div/div/button/i", "xpath:position"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { - "id": "4dae6914-ae68-45e2-b332-cc4c1ac71e43", + "id": "5ba86ad0-04c7-48bb-8be8-66611540dffd", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [], "value": "label=SPSSODescriptor" }, { - "id": "4b257d69-1948-4c5f-a88d-b1bfa8f2ba72", + "id": "bab64d21-7733-4c45-8b3a-1c4354d8b936", "comment": "", "command": "click", - "target": "css=option:nth-child(2)", + "target": "css=.array-add-button", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "d47fc8b5-4062-4813-90a8-cdc91b777f1d", + "id": "daebe1ec-bafe-4505-91bd-7058b059ecca", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "id=root_metadataFilters_2_retainedRoles_1", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["id=root_metadataFilters_2_retainedRoles_2", "id"], + ["css=#root_metadataFilters_2_retainedRoles_2", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_2']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/select", "xpath:position"] ], "value": "" }, { - "id": "442c5b8d-f108-488e-8779-06171f5081f6", + "id": "030e5bcb-60ca-4aa5-82c3-8f48b0039d7b", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", + "target": "id=root_metadataFilters_2_retainedRoles_1", "targets": [], "value": "label=AttributeAuthorityDescriptor" }, { "id": "42eddc22-9eed-41d1-aaee-2d4a1d933fa9", "comment": "", "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: md:AttributeAuthorityDescriptor'])[2]", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "4ebbc08c-ee24-43d8-8c2d-b639a625189c", "comment": "", "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "1c23c527-46e7-4fe6-8f60-37833af073c8", - "comment": "", - "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeEmptyEntitiesDescriptors.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -553,12 +600,13 @@ "id": "7cd861ea-d86c-4faa-a07b-c1508811b506", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -575,26 +623,51 @@ "id": "daa2d46a-d238-4a48-aca7-0f34c9b93d5f", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", + "target": "linkText=File Backed HTTP Metadata Provider", "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ["linkText=File Backed HTTP Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/1c0e0d02-5323-44b4-a610-821a6d464792/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider')]", "xpath:innerText"] ], "value": "" }, { "id": "d86e9a98-a0a1-4696-b454-1bca1d01f9d0", "comment": "", "command": "click", - "target": "css=#filters .actions span", + "target": "css=.btn:nth-child(2)", + "targets": [ + ["css=.btn:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='navigation']/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Filters')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8cd894a4-6434-4b05-a91b-1d1e09aa58fd", + "comment": "", + "command": "click", + "target": "linkText=Add Filter", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Add Filter", "linkText"], + ["css=#filters .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/1c0e0d02-5323-44b4-a610-821a6d464792/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" + }, { + "id": "f62f8d1d-8c53-4cb5-bc19-84f68fee870d", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" }, { "id": "dc41b26d-b101-4ead-866f-482df0bfee04", "comment": "", @@ -618,19 +691,25 @@ "id": "8a52ad88-b583-41b7-92a6-bdb185b03a06", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "b1c779b1-d3ed-47cc-bc88-e5c280161c32", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field37", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Entity Attributes Filter" @@ -645,13 +724,14 @@ "id": "a10a6faf-90cd-4713-8ea3-60c768ed935e", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.valuedd", + "target": "id=dropdown-label.filter-target-type", "targets": [ - ["id=/entityAttributesFilterTarget.valuedd", "id"], - ["css=#\\/entityAttributesFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/entityAttributesFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-label.filter-target-type", "id"], + ["css=#dropdown-label\\.filter-target-type", "css:finder"], + ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -665,14 +745,13 @@ "id": "1f2b93b8-23ae-4a9c-b015-96ca890ae150", "comment": "", "command": "click", - "target": "linkText=Regex", + "target": "css=.show > .dropdown-item:nth-child(2)", "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[16]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] ], "value": "" }, { @@ -686,543 +765,533 @@ "id": "5c2ed93d-3630-408c-bb89-0b2baffb73c0", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.target", + "target": "id=targetInput", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], + ["id=targetInput", "id"], ["name=script", "name"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "" }, { "id": "6dec176f-0c5a-4982-867e-087342c90987", "comment": "", "command": "sendKeys", - "target": "id=/entityAttributesFilterTarget.target", - "targets": [], + "target": "id=targetInput", + "targets": [ + ["id=targetInput", "id"], + ["name=script", "name"], + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] + ], "value": "/foo.*/" }, { "id": "f4e6e8a5-0040-4aac-a0f9-9b49abbd9568", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", + "targets": [ + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "776f70b4-426a-4be2-99af-66930232b1e9", + "comment": "", + "command": "click", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { "id": "603aff60-cf79-4804-90c5-2ffd0f5ef550", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_signAssertion", "targets": [ - ["css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/signAssertion.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_signAssertion", "id"], + ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "9456ba02-3dd6-4305-a0d3-f031e1e79b16", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_dontSignResponse", "targets": [ - ["css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/dontSignResponse.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ["id=root_relyingPartyOverrides_dontSignResponse", "id"], + ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "a1ce4398-4f95-498c-b01b-2f25e1fd3380", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dcaa766a-3800-4412-9631-0f279e23bf41", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_useSha", "targets": [ - ["css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/useSha.parent']/label", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_useSha", "id"], + ["css=#root_relyingPartyOverrides_useSha", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "c7a9bd88-9198-4ce0-8ae0-618b90fd787a", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/ignoreAuthenticationMethod\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "targets": [ - ["css=#\\/relyingPartyOverrides\\/ignoreAuthenticationMethod\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/ignoreAuthenticationMethod.parent']/label", "xpath:idRelative"], - ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "id"], + ["css=#root_relyingPartyOverrides_ignoreAuthenticationMethod", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_ignoreAuthenticationMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "c806723d-9713-4710-96e2-6410b79895c0", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/omitNotBefore.parent']/label", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "1c7d678e-5b74-4542-bf6c-a64d0117f831", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field50", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "id-123" }, { - "id": "027b4448-eaf6-4f24-ae2f-5b592db910ed", + "id": "7753fdc3-fb29-436e-aa16-c331fa4772d6", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "1bb700ae-08eb-403c-b3ba-0090132b69ff", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "fd1af538-1b5b-4d6a-b56b-d56e7f01bb40", + "id": "a0915c28-40cd-4c2b-a341-8d683a1058dd", "comment": "", "command": "click", - "target": "css=.fa-caret-down", + "target": "css=.toggle-button", "targets": [ - ["css=.fa-caret-down", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[20]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "6afaa45d-1beb-4f15-8810-278af7489657", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "cc233154-4159-425b-8ac5-761c26a0de15", + "id": "645be3e5-166a-4ef6-8e7f-18113387c3ab", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { - "id": "d8e3df44-0db6-458e-b133-36b7ec08fbb7", + "id": "7e21402f-383c-4995-89b6-b75db89c0ab5", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button > .svg-inline--fa", "targets": [ - ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], - ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button > .svg-inline--fa", "css:finder"] ], "value": "" }, { - "id": "3395ec88-2d19-4785-99f9-3921dddfba28", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "562c7f9f-1e55-432a-8fff-0cae15b23a33", + "id": "a86b93d7-f4f2-48de-85c6-4f6f6190e7d4", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "target": "css=.is-invalid > .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[22]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "c80afbe5-2c88-4207-b133-6d151fea12a8", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "f5f27af2-b869-4b99-a3d9-3efce014be06", + "id": "5e8fc8bb-5cb8-4e25-b7ed-95a7cd4654e3", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "target": "css=#option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1 > span", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1 > span", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1']/span", "xpath:idRelative"], + ["xpath=//a[2]/span", "xpath:position"], + ["xpath=//span[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { - "id": "4e595806-b2c6-43c6-bd1f-78e659f795e4", + "id": "8fbcab89-08ff-4c40-a2bc-79674b75720c", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "5e26a17f-98e4-4adc-b851-4e854228ebba", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "b717af46-a3c1-40f2-ac1a-2c7f84fbf33f", + "id": "545efe56-2c2c-4158-9984-93e8df445f17", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "target": "css=.is-invalid > .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[24]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "d07e6da7-ed28-4460-914a-eb355b3a2de3", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "4655a981-c5d6-4b48-aad2-77295dc37859", + "id": "d195071e-6f5a-4eca-b618-c8b926dc7753", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "target": "css=#option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2 > span", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2 > span", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2']/span", "xpath:idRelative"], + ["xpath=//a[3]/span", "xpath:position"], + ["xpath=//span[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { - "id": "9902d02a-d7f7-4424-92f4-2a6072916421", + "id": "72506b7c-224d-4c45-81e6-1b1e5f3a08b8", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "605d3970-c910-4bec-accd-d7c4d0334f91", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "df07e4c7-8e0f-4eed-ab58-42e2b5bcfc93", + "id": "5382e207-f281-4ea9-9da8-8d2a0e029ab6", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "target": "css=.is-invalid .svg-inline--fa", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid .svg-inline--fa", "css:finder"] ], "value": "" }, { - "id": "0ef4ae64-3b16-4488-b19e-629162a9c84d", + "id": "0aa7801a-8156-4b45-9947-b2e60218e503", "comment": "", - "command": "pause", - "target": "500", - "targets": [], + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] + ], "value": "" }, { - "id": "cd34bc8a-564b-4d15-90c9-f09e12d7e078", + "id": "bac85588-bf58-4e2a-ba71-6d0a3941631e", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "624fd275-3ee2-4cd0-890a-4ae22b152ed4", + "id": "dd44bd2e-84dc-4512-966f-97f893f530e9", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=#root > div > main > div > section > div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "e6c3d2db-386e-4b9b-a160-c091b025c1b9", + "id": "2d2e92a4-213d-4345-9b1c-f6fb04df3971", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=#root > div > main > div > section > div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=//input[@value='someNameID']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], - "value": "nameIdFormat" + "value": "someNameID" }, { - "id": "82093807-448e-4a25-96bf-ed1dfca77452", + "id": "8384cd5e-7678-4de9-96c6-7d81ac9591ce", "comment": "", - "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "command": "sendKeys", + "target": "css=#root > div > main > div > section > div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=//input[@value='someNameID']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], - "value": "" - }, { - "id": "1acc3e01-45ae-4c6d-9291-165affb7306f", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" + "value": "${KEY_ENTER}" }, { - "id": "fcd7d891-5ea4-45a6-8554-4298ec5804c9", + "id": "f2443263-2147-4457-ae68-9c46bb38940a", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "faf08fb6-7c62-465c-b198-6da8ef3a1dd5", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "9bb8951c-c932-4236-89d8-9d2c8d49a702", + "id": "22ce2ccc-94d9-4b6c-8a6c-7544af49e00a", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "target": "css=.is-invalid > .toggle-button", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[32]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "743e6d84-98b7-461a-8fb9-05826abb8e22", + "id": "9af0bdca-6c53-4192-8d51-1e6bb96fda3a", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "id"], + ["linkText=https://refeds.org/profile/mfa", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'https://refeds.org/profile/mfa')]", "xpath:innerText"] ], "value": "" }, { - "id": "926e66e1-3bcb-41bd-a6a8-83ed90ceab59", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "81517bc9-7996-46be-9dfe-9eea57f0e616", + "id": "ccd54cce-a783-4dbd-b64e-1932286b4a08", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "8343153e-ade7-4713-a9f6-079b0bfbac44", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "8f00493c-94ef-4182-8423-5d23bd01136f", + "id": "00087e23-8d82-4dc1-ae12-8043589e08f1", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "target": "css=.is-invalid > .toggle-button", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[34]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "7a3a49b4-4348-4318-a35c-ba0a2192e811", + "id": "c8ca751b-d9a3-4878-9be7-92befd0bc6a4", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken')]", "xpath:innerText"] ], "value": "" }, { - "id": "b9b5a336-2b99-4315-8c14-13ee1c5af2ed", + "id": "58dc23a7-adae-4b09-a056-c1facfc3db89", "comment": "", - "command": "pause", - "target": "500", - "targets": [], + "command": "click", + "target": "css=.row:nth-child(9) .array-add-button", + "targets": [ + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] + ], "value": "" }, { - "id": "c2f97ae8-fddf-4e48-b961-1d4154ceae9f", + "id": "b1429afc-4501-4fb3-acf7-02f2cb90f7f3", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "target": "css=.is-invalid > .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[36]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "39a8ea0f-a57a-49b6-b640-7b608eb29b88", + "id": "4aff346b-b423-4999-9e8b-b099f6b275ac", "comment": "", - "command": "pause", - "target": "500", - "targets": [], + "command": "click", + "target": "css=#option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2 > span", + "targets": [ + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2 > span", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2']/span", "xpath:idRelative"], + ["xpath=//a[3]/span", "xpath:position"], + ["xpath=//span[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport')]", "xpath:innerText"] + ], "value": "" }, { - "id": "3dcbc6b1-2571-4ab8-9014-66b19727fe0a", + "id": "268e6828-97c8-4f68-9f2d-9c443b16dcef", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "efad42c9-5d79-42f6-a348-54ba5fe59e9d", + "id": "b6dc2be5-574b-4fd6-b1a1-786303efc60a", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "9a7b2bfe-8702-40be-a6fe-a76b9a01cdde", + "id": "28aa7d61-803f-48af-a103-5945f84a1601", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/authenticationMethods/3']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/3-container']/div/input", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=//input[@value='SomeAuthnMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:position"] ], - "value": "someOverride" + "value": "SomeAuthnMethod" }, { - "id": "82bf7075-6128-4471-a631-c8e4c3525eea", + "id": "3d9af697-8021-4a7b-bc09-7fbcc501817e", "comment": "", - "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["css=.focus", "css:finder"], + ["xpath=//input[@value='SomeAuthnMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:position"] ], - "value": "" + "value": "${KEY_ENTER}" }, { - "id": "4098e48d-eef1-42e8-a1a4-e4eb48f5f9bd", + "id": "82bf7075-6128-4471-a631-c8e4c3525eea", "comment": "", "command": "click", - "target": "css=.fa-check", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=.fa-check", "css:finder"], - ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], - ["xpath=//td[2]/button/i", "xpath:position"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "2c3908a1-3fbf-4bbe-8611-fb8a87da1a66", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1261,19 +1330,25 @@ "id": "4a663db9-9f10-4b12-9cb9-61aa01ecc0c0", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "92fdc836-2479-4faa-9e3d-447f5b82cc11", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field65", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Name ID Format Filter" @@ -1288,13 +1363,14 @@ "id": "abfa17d5-ebfe-4bb2-b64a-ef5f127bac86", "comment": "", "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", + "target": "id=dropdown-", "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-", "id"], + ["css=#dropdown-", "css:finder"], + ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -1308,36 +1384,33 @@ "id": "6040112e-86c4-4e98-b258-79d7e61dfb6d", "comment": "", "command": "click", - "target": "linkText=Entity ID", + "target": "css=.show > .dropdown-item:nth-child(1)", "targets": [ - ["linkText=Entity ID", "linkText"], ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], - ["xpath=//a[contains(text(),'Entity ID')]", "xpath:link"], - ["xpath=//a[contains(@href, '#')]", "xpath:href"], - ["xpath=//div/div/a", "xpath:position"], - ["xpath=//a[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[14]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { "id": "70eba7e8-d84f-4b65-b5e8-d1523514dd29", "comment": "", "command": "pause", - "target": "2000", + "target": "3000", "targets": [], "value": "" }, { "id": "bba23377-23a1-46d5-b044-15047a08ee53", "comment": "", "command": "type", - "target": "id=/nameIdFormatFilterTarget.target", + "target": "css=.rbt-input-main", "targets": [ - ["id=/nameIdFormatFilterTarget.target", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/nameIdFormatFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] + ["css=.rbt-input-main", "css:finder"], + ["xpath=(//input[@value=''])[2]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], - "value": "https://idp.unicon.net/idp/shibboleth" + "value": "https://idp.unicon.net" }, { "id": "6fbb57d1-0fc6-42bc-86ca-4a5fe872ea34", "comment": "", @@ -1353,24 +1426,39 @@ "id": "fa75b464-10a7-43da-939e-550e88748eb6", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", + "targets": [ + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "ebe9c389-fd68-4907-b9f7-95274a36de4e", + "comment": "", + "command": "click", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { "id": "a721538a-5f95-4567-8d7c-5851f67f3ae0", "comment": "", "command": "click", - "target": "css=#\\/removeExistingFormats\\.parent > .custom-control-label", + "target": "id=root_removeExistingFormats", "targets": [ - ["css=#\\/removeExistingFormats\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/removeExistingFormats.parent']/label", "xpath:idRelative"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Existing Formats?')]", "xpath:innerText"] + ["id=root_removeExistingFormats", "id"], + ["css=#root_removeExistingFormats", "css:finder"], + ["xpath=//input[@id='root_removeExistingFormats']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -1392,217 +1480,209 @@ "targets": [], "value": "" }, { - "id": "76b5506e-ebd3-416b-9a2d-391d39b8b282", + "id": "226df885-00bc-4974-8496-420f4e080254", "comment": "", "command": "click", - "target": "css=.input-group-append > .btn", + "target": "css=.toggle-button", "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "e71b7c21-86c7-46e1-8451-4005940dbf02", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "ee812306-8d00-4162-9d92-eb598802f4bc", + "id": "0513bc68-fb27-426e-8f51-4018c0e2497a", "comment": "", "command": "click", - "target": "id=/formats/0__option--0", + "target": "id=option-selector-root_formats_0-item-0", "targets": [ - ["id=/formats/0__option--0", "id"], - ["css=#\\/formats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/formats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_formats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_formats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { - "id": "ddcda076-a6d1-4a6f-861d-c32642305841", + "id": "264db296-0744-41b9-a0be-1447056dbc95", "comment": "", "command": "click", "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "da1e1b22-55cb-4934-9d0c-8955e5434289", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "1f3cca46-1bf0-469f-9ac5-6481c8447633", + "id": "1fbfca66-877d-4122-a110-70e1b4383658", "comment": "", "command": "click", - "target": "css=#\\/formats\\/1-container .btn", + "target": "css=.is-invalid > .toggle-button", "targets": [ - ["css=#\\/formats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/formats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "65b07bc0-3c1d-4eeb-b268-baa2f2a0992c", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "aa0cb8e5-a5b5-4956-91dc-d25ea30ff87a", + "id": "81d7e06f-ab01-4eb9-ab56-9e49508f2fbf", "comment": "", "command": "click", - "target": "id=/formats/1__option--1", + "target": "id=option-selector-root_formats_1-item-1", "targets": [ - ["id=/formats/1__option--1", "id"], - ["css=#\\/formats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/formats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_formats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_formats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { - "id": "233f96b6-032e-40c4-8232-dc65583830fc", + "id": "94fa27ec-740c-49e5-8a3a-6173bcb479a5", "comment": "", "command": "click", "target": "css=.array-add-button", "targets": [ ["css=.array-add-button", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "43200793-5c4c-47dd-93b7-7bdd138eb6d4", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "f313f186-80e1-42ea-9b19-c59efe66a92d", + "id": "ba98136f-2ae5-47e5-9e56-3845461da18c", "comment": "", "command": "click", - "target": "css=#\\/formats\\/2-container .btn", + "target": "css=.is-invalid > .toggle-button", "targets": [ - ["css=#\\/formats\\/2-container .fa", "css:finder"], - ["xpath=//div[@id='/formats/2-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.is-invalid > .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "26e1228a-a453-4f79-bd7d-222f50e21b69", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "bf10f8f1-f5b8-43f5-b1d8-6e4e67e92621", + "id": "1e0353c9-84c4-4a62-9598-4c512e08fb4b", "comment": "", "command": "click", - "target": "id=/formats/2__option--2", + "target": "id=option-selector-root_formats_2-item-2", "targets": [ - ["id=/formats/2__option--2", "id"], - ["css=#\\/formats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/formats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_formats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_formats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { - "id": "be2cee3b-966a-47e8-8907-9d21bb63a61c", + "id": "73394ddd-4174-4eaf-95a4-de44e3f8c0ed", "comment": "", "command": "click", - "target": "css=.array-add-button", + "target": "css=.fa-plus", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ["css=.fa-plus", "css:finder"] ], "value": "" }, { - "id": "0502f5d7-bc0a-4b4c-b0d0-5cf159dd0492", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "823e4972-3bdd-4286-a22d-8805adef4f2c", + "id": "7b3075ec-6f7b-431b-b279-0f0b010d0cff", "comment": "", "command": "click", - "target": "css=#\\/formats\\/3-container .btn", + "target": "css=.is-invalid .svg-inline--fa", "targets": [ - ["css=#\\/formats\\/3-container .fa", "css:finder"], - ["xpath=//div[@id='/formats/3-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.is-invalid .svg-inline--fa", "css:finder"] ], "value": "" }, { - "id": "55751a6d-974e-45cb-83fa-cea50fd6612c", + "id": "1f17992f-336f-4ab1-90fa-6b86c0c3aa4f", "comment": "", - "command": "pause", - "target": "500", - "targets": [], + "command": "click", + "target": "id=option-selector-root_formats_3-item-3", + "targets": [ + ["id=option-selector-root_formats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_formats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] + ], "value": "" }, { - "id": "3cba2ead-22cd-4bc9-b0ca-bb1f5ebb10a2", + "id": "04c4c383-1cd1-4b0f-9988-78ca347cc89f", "comment": "", "command": "click", - "target": "id=/formats/3__option--3", + "target": "css=.array-add-button", "targets": [ - ["id=/formats/3__option--3", "id"], - ["css=#\\/formats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/formats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "e793e30f-cefa-4a31-9a92-56c49c87b339", + "id": "c18de9c9-ff9e-4784-897f-9b081102aa9e", "comment": "", "command": "click", - "target": "css=.array-add-button", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "f0ae75e7-b2c0-49fa-9806-23f4f228e3e1", + "id": "3d49dbfc-47e9-4629-a27c-1013e0e2bdac", "comment": "", "command": "type", - "target": "id=/formats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/formats/4", "id"], - ["css=#\\/formats\\/4", "css:finder"], - ["xpath=//input[@id='/formats/4']", "xpath:attributes"], - ["xpath=//div[@id='/formats/4-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=//input[@value='SomeOtherNameIDFormat']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], - "value": "name id format" + "value": "SomeOtherNameIDFormat" }, { - "id": "3a97e6c5-badb-45c8-b6e5-a7e8462ee77f", + "id": "875914ff-80a4-41cd-ab6c-602d1ddaaa8f", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [ + ["css=.focus", "css:finder"], + ["xpath=//input[@value='SomeOtherNameIDFormat']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] + ], + "value": "${KEY_ENTER}" + }, { + "id": "4ae2793d-9d5a-4416-9875-97a7bbfee59f", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1616,11 +1696,12 @@ "id": "100902ee-6d6e-4148-a69b-b37746a4ad6e", "comment": "", "command": "assertText", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "target": "css=.list-group-item:nth-child(1) .mx-4", "targets": [ - ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["css=.list-group-item:nth-child(1) .mx-4", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='filters']/ul/li/div/button", "xpath:idRelative"], + ["xpath=//li/div/button", "xpath:position"], ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "Entity Attributes Filter" @@ -1646,11 +1727,13 @@ "id": "c9d498da-9f59-40ae-b5d4-cae397a13766", "comment": "", "command": "assertText", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "target": "css=.list-group-item:nth-child(1) .mx-4", "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'Name ID Format Filter')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) .mx-4", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='filters']/ul/li/div/button", "xpath:idRelative"], + ["xpath=//li/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Name ID Format Filter')]", "xpath:innerText"] ], "value": "Name ID Format Filter" }, { @@ -1674,11 +1757,13 @@ "id": "441608df-24a3-4a60-bfce-50a90ff0ee16", "comment": "", "command": "assertText", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "target": "css=.list-group-item:nth-child(1) .mx-4", "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) .mx-4", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='filters']/ul/li/div/button", "xpath:idRelative"], + ["xpath=//li/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "Entity Attributes Filter" }, { @@ -1759,12 +1844,13 @@ "id": "138845c8-0cbf-4cba-b256-8c7e58065c26", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { @@ -1774,12 +1860,44 @@ "target": "3000", "targets": [], "value": "" + }, { + "id": "1426c8e4-2c0b-4fa6-983b-32afb0d7cb84", + "comment": "", + "command": "click", + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=.mb-0 > #root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "5f2dc2f5-61e7-4d2c-b2b8-d2c960723162", + "comment": "", + "command": "type", + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], + "value": "" }, { "id": "ae293184-6d83-4ecb-8e25-b757931c49f0", "comment": "", "command": "type", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=.mb-0 > #root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "Provider Version 2" }, { "id": "9c887b33-de0e-4f38-8ea8-d6d0f0a9d841", @@ -1812,14 +1930,16 @@ "id": "6ebd7167-8187-4564-b441-213daa903faa", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--2", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-2", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--2", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--2", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"], - ["xpath=//li[contains(.,'PT1M')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -1851,12 +1971,14 @@ "id": "8c0f82f1-d6b4-4e62-bdb0-087dd31471cf", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/d1b00b13-5c76-45a1-9286-4968a1b23ae1/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1873,6 +1995,7 @@ "target": "css=tr:nth-child(1) .custom-control-label", "targets": [ ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/table/tbody/tr/td/div/label", "xpath:idRelative"], ["xpath=//label", "xpath:position"], ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] ], @@ -1891,27 +2014,34 @@ "id": "6733a65d-7c16-4bf4-a6b4-bb3007e08c87", "comment": "", "command": "click", - "target": "css=.btn-primary > translate-i18n", + "target": "css=.btn-primary", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//history-list/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ["css=.btn-primary", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(1)')]", "xpath:innerText"] ], "value": "" }, { "id": "0abf4b7f-cc20-4a29-8338-90a67421dc41", "comment": "", "command": "waitForElementVisible", - "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], "value": "30000" }, { "id": "2b495102-da87-400d-8c70-1758de76452d", "comment": "", "command": "assertText", - "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"] ], "value": "Provider Version 2" @@ -1919,10 +2049,11 @@ "id": "63e1b12d-a50a-4877-9588-21209a08b364", "comment": "", "command": "assertText", - "target": "css=primitive-property:nth-child(8) .bg-diff > .d-block:nth-child(2)", + "target": "css=section:nth-child(2) > div > div.p-2 > div:nth-child(2) > div:nth-child(8) > div > span:nth-child(2)", "targets": [ - ["css=primitive-property:nth-child(8) .bg-diff > .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[8]/div/div/span[2]", "xpath:position"], + ["css=div:nth-child(8) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[8]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[8]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "PT1M" @@ -1930,19 +2061,24 @@ "id": "1f3e3d25-ea44-4110-913c-c6dc9a7ec215", "comment": "", "command": "click", - "target": "css=.fa-toggle-off", + "target": "id=toggleLimited", "targets": [ - ["css=.fa-toggle-off", "css:finder"], - ["xpath=//div/button/i", "xpath:position"] + ["id=toggleLimited", "id"], + ["name=toggleLimited", "name"], + ["css=#toggleLimited", "css:finder"], + ["xpath=//input[@id='toggleLimited']", "xpath:attributes"], + ["xpath=//div[@id='navigation']/div[2]/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "cfebf080-7825-4412-8a2d-924af79d4b26", "comment": "", "command": "assertText", - "target": "css=primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"] ], "value": "Provider Version 2" @@ -1950,10 +2086,11 @@ "id": "75f45cb6-9c38-44e7-82dc-a473fa7fab62", "comment": "", "command": "assertText", - "target": "css=primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "PT1M" @@ -1961,11 +2098,14 @@ "id": "0b097967-1b4e-40cc-b8d7-bd0529fd46d2", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=.btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/620ba911-c591-4006-b5a7-3bbf6b03e078/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1992,11 +2132,12 @@ "id": "d2d4b08e-1056-4c7f-b9c0-b7efa76dfb94", "comment": "", "command": "click", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "target": "css=.list-group-item:nth-child(1) .mx-4", "targets": [ - ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["css=.list-group-item:nth-child(1) .mx-4", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='filters']/ul/li/div/button", "xpath:idRelative"], + ["xpath=//li/div/button", "xpath:position"], ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "" @@ -2011,12 +2152,14 @@ "id": "27db83c9-2893-4958-8547-9496cc73440f", "comment": "", "command": "click", - "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", + "target": "linkText=Edit", "targets": [ - ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] + ["linkText=Edit", "linkText"], + ["css=.d-flex:nth-child(1) > .btn:nth-child(1)", "css:finder"], + ["xpath=//div[@id='filters']/ul/li/div[2]/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/620ba911-c591-4006-b5a7-3bbf6b03e078/filter/cd0259d8-7592-4185-b5e9-d2a9c3868397/edit/common')]", "xpath:href"], + ["xpath=//div[2]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { @@ -2026,29 +2169,56 @@ "target": "3000", "targets": [], "value": "" + }, { + "id": "b32b054c-1f75-43f4-90ea-030e69d422cb", + "comment": "", + "command": "click", + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "0a06a2ba-f6cd-4725-81c4-9b7e35fce667", + "comment": "", + "command": "type", + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div/div/div/div/input", "xpath:position"] + ], + "value": "" }, { "id": "2152a1f9-8608-420c-85d8-368f69260c21", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field118", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div/div/div/div/input", "xpath:position"] ], "value": "Entity Attributes Filter Version 2" }, { "id": "55de5aff-fc78-488f-aa1a-977dabb678dc", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -2062,12 +2232,15 @@ "id": "97c031ee-65f1-4089-ab43-a4a98bfb3798", "comment": "", "command": "click", - "target": "css=.nav-item translate-i18n", + "target": "linkText=Dashboard", "targets": [ - ["css=.nav-item translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ["linkText=Dashboard", "linkText"], + ["css=.nav-link:nth-child(3)", "css:finder"], + ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//nav/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] ], "value": "" }, { @@ -2123,12 +2296,14 @@ "id": "42bc2d8d-550f-462b-af96-c3811768e78c", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/620ba911-c591-4006-b5a7-3bbf6b03e078/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -2174,42 +2349,45 @@ "id": "2ff5a597-9fe0-46b4-9ca5-63123ddb3cef", "comment": "", "command": "click", - "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", + "target": "css=.border-primary:nth-child(2) .fa-square", "targets": [ - ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], - ["xpath=//div[2]/div/button/i", "xpath:position"] + ["css=.border-primary:nth-child(2) .fa-square", "css:finder"] ], "value": "" }, { "id": "d5c5a3da-6634-4c1f-8eae-cd87baab22ef", "comment": "", "command": "click", - "target": "css=.btn-primary > translate-i18n", + "target": "css=.btn-primary", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//div[3]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ["css=.btn-primary", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/div[6]/button", "xpath:idRelative"], + ["xpath=//div[6]/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected')]", "xpath:innerText"] ], "value": "" }, { "id": "d7b5550d-1db8-4fa5-800f-fde753413c13", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(8) .p-2 > div > div:nth-child(1) .d-block:nth-child(2)", "targets": [ - ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'Entity Attributes Filter Version 2')]", "xpath:innerText"] + ["css=.mb-4:nth-child(8) .p-2 > div > div:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[5]/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[5]/div/div[2]/div[2]/div/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "Entity Attributes Filter Version 2" }, { "id": "ad797f09-746e-4778-954e-6f92ac5934ea", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .d-block:nth-child(3)", + "target": "css=.mb-4:nth-child(8) .p-2 > div > div:nth-child(1) .d-block:nth-child(3)", "targets": [ - ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] + ["css=.mb-4:nth-child(8) .p-2 > div > div:nth-child(1) .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[5]/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//section[5]/div/div[2]/div[2]/div/div/span[3]", "xpath:position"] ], "value": "Entity Attributes Filter" }, { diff --git a/backend/src/integration/resources/SHIBUI-1364-2.side b/backend/src/integration/resources/SHIBUI-1364-2.side index 4393ffcd8..a36fbf058 100644 --- a/backend/src/integration/resources/SHIBUI-1364-2.side +++ b/backend/src/integration/resources/SHIBUI-1364-2.side @@ -41,51 +41,59 @@ "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" }, { "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field4", "name"], @@ -95,18 +103,25 @@ ], "value": "Filesystem Metadata Provider" }, { - "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", + "id": "8a575355-d9f6-455c-8ded-5a8cda8c8679", "comment": "", - "command": "select", - "target": "id=/type", + "command": "click", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=FilesystemMetadataProvider" + "value": "" + }, { + "id": "c47c3364-9e5a-4fdf-b87b-1a2ec879189d", + "comment": "", + "command": "select", + "target": "name=type", + "targets": [], + "value": "label=FilesystemMetadataResolver" }, { "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", "comment": "", @@ -121,14 +136,20 @@ "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field7", "name"], @@ -141,13 +162,13 @@ "id": "e2e3a3e4-196c-483d-ac52-de4027636a05", "comment": "", "command": "type", - "target": "id=/metadataFile", + "target": "id=root_metadataFile", "targets": [ - ["id=/metadataFile", "id"], - ["name=field8", "name"], - ["css=#\\/metadataFile", "css:finder"], - ["xpath=//input[@id='/metadataFile']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataFile", "id"], + ["css=#root_metadataFile", "css:finder"], + ["xpath=//input[@id='root_metadataFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/metadata.txt" }, { @@ -171,13 +192,12 @@ "id": "8197c49f-a70f-46dd-919e-58fff0e14075", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -191,14 +211,16 @@ "id": "0f1a7a34-0955-45bb-bd2a-a5e4f246869b", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -212,12 +234,12 @@ "id": "64d0912a-0244-4f5e-818f-17000c01477b", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -231,33 +253,36 @@ "id": "80a08176-de7d-4938-8d49-1d296a8ba27c", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--2", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { "id": "f5d73c96-8567-40da-8c7e-be7524050cb8", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field14", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "85e3eefd-43e7-43b7-b33e-a2c75149ba0c", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], ["name=field14", "name"], @@ -280,12 +305,13 @@ "id": "c5fbaf24-139b-4886-a437-ef41a695bbc9", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -302,24 +328,29 @@ "id": "11d71ffb-3372-41cb-9832-72755ef298b5", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", + "target": "linkText=Filesystem Metadata Provider", "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ["linkText=Filesystem Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Filesystem Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/e0822374-6322-4f89-be89-8342b633832a/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Filesystem Metadata Provider')]", "xpath:innerText"] ], "value": "" }, { "id": "b7312cb1-744c-429f-a6fa-58635f7a1fea", "comment": "", "command": "click", - "target": "css=#filters .actions span", + "target": "linkText=Add Filter", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Add Filter", "linkText"], + ["css=#filters .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/e0822374-6322-4f89-be89-8342b633832a/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" }, { @@ -345,14 +376,20 @@ "id": "a8ee94c0-d4f2-47f1-974e-09308193e6dd", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "3edb4fc7-f24c-440b-8403-974304f0b4ac", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field18", "name"], @@ -372,13 +409,14 @@ "id": "f2c07797-07f6-4325-8c5f-57a676dc982c", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.valuedd", + "target": "id=dropdown-label.filter-target-type", "targets": [ - ["id=/entityAttributesFilterTarget.valuedd", "id"], - ["css=#\\/entityAttributesFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/entityAttributesFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-label.filter-target-type", "id"], + ["css=#dropdown-label\\.filter-target-type", "css:finder"], + ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -392,14 +430,13 @@ "id": "bca61e15-7c13-4007-8c90-1a667bbef67d", "comment": "", "command": "click", - "target": "linkText=Regex", + "target": "css=.show > .dropdown-item:nth-child(2)", "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[16]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] ], "value": "" }, { @@ -413,113 +450,151 @@ "id": "e0c65de5-d74a-4d87-aca0-9e9f4b37fb36", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.target", + "target": "id=targetInput", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], + ["id=targetInput", "id"], ["name=script", "name"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "" }, { "id": "70a43e87-7180-4761-8f64-d69c7c7557e5", "comment": "", "command": "sendKeys", - "target": "id=/entityAttributesFilterTarget.target", + "target": "id=targetInput", "targets": [], "value": "/foo.*/" }, { "id": "ce3cf65a-40bd-43fe-beb7-dc3e1d79927b", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", + "targets": [ + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "022802a1-5509-4f0b-a2ab-639bb5eeba2f", + "comment": "", + "command": "click", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { "id": "2eea7d5e-e992-4c85-94da-4537e4863228", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_signAssertion", "targets": [ - ["css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/signAssertion.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_signAssertion", "id"], + ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "f34181b8-eac5-4ce7-8776-0f87cf938503", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_dontSignResponse", "targets": [ - ["css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/dontSignResponse.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ["id=root_relyingPartyOverrides_dontSignResponse", "id"], + ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "06699eac-9dcc-46ea-a520-bd8117deab97", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "891515dc-c75b-45f7-b33e-05760891e9aa", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", + "targets": [ + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "04e7dc28-290a-49a3-a65f-fcd6a30e0cb0", + "comment": "", + "command": "click", + "target": "css=.text-left:nth-child(3)", "targets": [ - ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["css=.text-left:nth-child(3)", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[3]", "xpath:idRelative"], + ["xpath=//button[3]", "xpath:position"], + ["xpath=//button[contains(.,'Attributes')]", "xpath:innerText"] ], "value": "" }, { "id": "1c315922-1f5a-43a5-97fd-1767f3392471", "comment": "", "command": "click", - "target": "css=tr:nth-child(5) .custom-control-label", + "target": "id=root_attributeRelease_4", "targets": [ - ["css=tr:nth-child(5) .custom-control-label", "css:finder"], - ["xpath=//tr[5]/td[2]/fieldset/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Toggle givenName')]", "xpath:innerText"] + ["id=root_attributeRelease_4", "id"], + ["css=#root_attributeRelease_4", "css:finder"], + ["xpath=//input[@id='root_attributeRelease_4']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/fieldset/table/tbody/tr[5]/td[2]/fieldset/div/div/input", "xpath:idRelative"], + ["xpath=//tr[5]/td[2]/fieldset/div/div/input", "xpath:position"] ], "value": "" }, { "id": "9569fc2c-5b8d-4724-bf1c-5a2a9af253bd", "comment": "", "command": "click", - "target": "css=tr:nth-child(9) .custom-control-label", + "target": "id=root_attributeRelease_8", "targets": [ - ["css=tr:nth-child(9) .custom-control-label", "css:finder"], - ["xpath=//tr[9]/td[2]/fieldset/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Toggle eduPersonEntitlement')]", "xpath:innerText"] + ["id=root_attributeRelease_8", "id"], + ["css=#root_attributeRelease_8", "css:finder"], + ["xpath=//input[@id='root_attributeRelease_8']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/fieldset/table/tbody/tr[9]/td[2]/fieldset/div/div/input", "xpath:idRelative"], + ["xpath=//tr[9]/td[2]/fieldset/div/div/input", "xpath:position"] ], "value": "" }, { "id": "f2cfdab4-af65-45b5-b62a-56935ae15637", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -585,14 +660,20 @@ "id": "471c00e2-52d8-4cf7-a071-00b50c98bf9e", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "8b0dfae1-5e58-4943-ae62-cad5d32ea203", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field37", "name"], @@ -605,73 +686,77 @@ "id": "ec49b089-a390-4cff-904f-363d3a57cb76", "comment": "", "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", + "target": "id=dropdown-", "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-", "id"], + ["css=#dropdown-", "css:finder"], + ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { "id": "56abaabc-0c96-428c-9070-62a79ba90c6c", "comment": "", "command": "click", - "target": "linkText=Entity ID", + "target": "css=.show > .dropdown-item:nth-child(1)", "targets": [ - ["linkText=Entity ID", "linkText"], ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], - ["xpath=//a[contains(text(),'Entity ID')]", "xpath:link"], - ["xpath=//a[contains(@href, '#')]", "xpath:href"], - ["xpath=//div/div/a", "xpath:position"], - ["xpath=//a[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[14]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { "id": "3f8bc2f3-ee80-410f-aa5d-33aea08bf991", "comment": "", "command": "type", - "target": "id=/nameIdFormatFilterTarget.target", + "target": "css=.rbt-input-main", "targets": [ - ["id=/nameIdFormatFilterTarget.target", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/nameIdFormatFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] + ["css=.rbt-input-main", "css:finder"], + ["xpath=(//input[@value=''])[2]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "unicon" }, { "id": "7129e60b-fecc-436f-b055-0f377ade83f8", "comment": "", "command": "click", - "target": "css=.btn-success:nth-child(1)", + "target": "css=.btn-success", "targets": [ - ["css=.btn-success:nth-child(1)", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ["css=.btn-success", "css:finder"], + ["xpath=(//button[@type='button'])[19]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID  ')]", "xpath:innerText"] ], "value": "" }, { "id": "93a29942-d580-412b-b151-9961fd1495d0", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "c0ab05f8-13f7-4e4a-bf02-2118629eca43", "comment": "", "command": "click", - "target": "css=.btn-success > translate-i18n", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { @@ -685,13 +770,13 @@ "id": "028122a4-7a5c-4ee9-afb9-5f7d491cc9bd", "comment": "", "command": "click", - "target": "css=.input-group-append > .btn", + "target": "css=.array-add-button", "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -701,29 +786,45 @@ "target": "500", "targets": [], "value": "" + }, { + "id": "ec3cdf6e-0fc8-49b1-a7c4-1a7db14729a3", + "comment": "", + "command": "click", + "target": "css=.toggle-button", + "targets": [ + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] + ], + "value": "" }, { "id": "e50612f4-b0e4-4749-99ec-5c67e66cd398", "comment": "", "command": "click", - "target": "id=/formats/0__option--1", + "target": "id=option-selector-root_formats_0-item-1", "targets": [ - ["id=/formats/0__option--1", "id"], - ["css=#\\/formats\\/0__option--1", "css:finder"], - ["xpath=//li[@id='/formats/0__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/0__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_formats_0-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_formats_0-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_0-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_0']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "952930b1-160e-42cd-9be5-c44f397a1451", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -778,12 +879,15 @@ "id": "d49c5a8e-35f3-4498-a53b-2b03fcc79552", "comment": "", "command": "click", - "target": "css=.nav-item translate-i18n", + "target": "linkText=Dashboard", "targets": [ - ["css=.nav-item translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ["linkText=Dashboard", "linkText"], + ["css=.nav-link:nth-child(3)", "css:finder"], + ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//nav/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] ], "value": "" }, { @@ -832,12 +936,13 @@ "id": "73335934-98c5-4427-9e05-13ddc7f00432", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { @@ -848,49 +953,23 @@ "targets": [], "value": "" }, { - "id": "cc66db21-0f0b-4d85-8ce6-775c3e58de89", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(1) a", - "targets": [ - ["linkText=Sep 25, 2019 22:44:09 (Current)", "linkText"], - ["css=tr:nth-child(1) a", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/c90805c1-6468-4164-b9f1-fad547d31232/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Sep 25, 2019 22:44:09 (Current)')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "0aab0bfa-7866-41ea-a58c-9b6e8fb52bbc", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "976c8149-9620-490c-887b-a23226619f0d", + "id": "d8d952d1-185d-416f-be13-fdbc87296c69", "comment": "", - "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "command": "type", + "target": "id=root_name", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" - }, { - "id": "6796aa25-00fa-4cf2-9a74-0c0aa6151863", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "0362fb34-4886-4f0d-8190-e006dc46df7c", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field61", "name"], @@ -899,28 +978,37 @@ ["xpath=//input", "xpath:position"] ], "value": "Filesystem Metadata Provider V2" + }, { + "id": "c65164cd-76e4-464e-ad58-b2961b1facf2", + "comment": "", + "command": "click", + "target": "id=root_xmlId", + "targets": [], + "value": "" }, { "id": "9d0539c7-e34c-4229-bbcf-d2c9fd499db4", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=/xmlId", "id"], - ["name=field64", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/input", "xpath:position"] ], "value": "123456" }, { "id": "93d98797-5117-4aca-ace8-c6c7e79976ee", "comment": "", "command": "click", - "target": "css=.btn-info > translate-i18n", + "target": "css=.btn-info", "targets": [ - ["css=.btn-info > translate-i18n", "css:finder"], - ["xpath=//div[2]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -934,10 +1022,10 @@ "id": "a5885119-3102-4d0a-a0ea-d5517a94c6d8", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"] ], "value": "Filesystem Metadata Provider V2" diff --git a/backend/src/integration/resources/SHIBUI-1364-3.side b/backend/src/integration/resources/SHIBUI-1364-3.side index 81490d195..b5ba454f3 100644 --- a/backend/src/integration/resources/SHIBUI-1364-3.side +++ b/backend/src/integration/resources/SHIBUI-1364-3.side @@ -41,51 +41,59 @@ "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" }, { "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field4", "name"], @@ -98,15 +106,15 @@ "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=LocalDynamicMetadataProvider" + "value": "label=LocalDynamicMetadataResolver" }, { "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", "comment": "", @@ -121,14 +129,20 @@ "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field7", "name"], @@ -141,13 +155,13 @@ "id": "e2e3a3e4-196c-483d-ac52-de4027636a05", "comment": "", "command": "type", - "target": "id=/sourceDirectory", + "target": "id=root_sourceDirectory", "targets": [ - ["id=/sourceDirectory", "id"], - ["name=field8", "name"], - ["css=#\\/sourceDirectory", "css:finder"], - ["xpath=//input[@id='/sourceDirectory']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_sourceDirectory", "id"], + ["css=#root_sourceDirectory", "css:finder"], + ["xpath=//input[@id='root_sourceDirectory']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo" }, { @@ -164,12 +178,12 @@ "id": "0586f02c-c210-4e44-9a86-3e914bc94f3b", "comment": "", "command": "type", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field11", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=.mb-0 > #root_dynamicMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "0.5" @@ -184,13 +198,12 @@ "id": "1a8a9dcf-9c6b-4802-8483-981d14131346", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/minCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -204,14 +217,16 @@ "id": "443a9cfc-17c8-49da-9d87-bfabda8fd0b6", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/minCacheDuration__option--0", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-0", "targets": [ - ["id=/dynamicMetadataResolverAttributes/minCacheDuration__option--0", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration__option--0", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/minCacheDuration__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/minCacheDuration__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"], - ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-0", "id"], + ["linkText=PT0S", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'PT0S')]", "xpath:innerText"] ], "value": "" }, { @@ -225,12 +240,12 @@ "id": "84f35d35-ea9c-4a06-aaec-bee1c1922aec", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", + "target": "css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -244,13 +259,16 @@ "id": "c03be15d-ee34-4cd1-bac9-c52e3baa70a3", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--2", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-2", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--2", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration__option--2", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -264,12 +282,12 @@ "id": "f0cdfbcf-46e2-4013-b085-0730b0127842", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", + "target": "css=.row:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[12]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[4]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -283,25 +301,29 @@ "id": "dd663319-7eef-4301-a0d4-24d9583eab7f", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-1", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData__option--1", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "25ed1d75-be93-4e20-88ba-57d8ae7bf053", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/removeIdleEntityData.false", + "target": "id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "targets": [ - ["id=/dynamicMetadataResolverAttributes/removeIdleEntityData.false", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/removeIdleEntityData\\.false", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/removeIdleEntityData.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "id"], + ["css=#root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_removeIdleEntityData-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[5]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { @@ -315,12 +337,12 @@ "id": "54df6d88-1a85-407f-935a-a016f5952a93", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", + "target": "css=.row:nth-child(6) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(6) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -334,13 +356,16 @@ "id": "e7f2439a-e9a1-4b23-b0b9-d992f5b477d4", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "targets": [ - ["id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval__option--3", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { @@ -357,12 +382,13 @@ "id": "d02ae356-8086-4794-97ba-980fc75cca79", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -379,24 +405,29 @@ "id": "feb08e76-e553-4505-bffe-07f3e77206d0", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2)", + "target": "linkText=Local Dynamic Metadata Provider", "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ["linkText=Local Dynamic Metadata Provider", "linkText"], + ["css=tr:nth-child(2) a", "css:finder"], + ["xpath=//a[contains(text(),'Local Dynamic Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr[2]/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2895bcd1-615c-4fa7-9e47-e2c2284014dd/configuration/options')]", "xpath:href"], + ["xpath=//tr[2]/td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Local Dynamic Metadata Provider')]", "xpath:innerText"] ], "value": "" }, { "id": "2afa209b-d09b-468e-8cc3-d549abb3be4a", "comment": "", "command": "click", - "target": "css=#filters .actions span", + "target": "linkText=Add Filter", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Add Filter", "linkText"], + ["css=#filters .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2895bcd1-615c-4fa7-9e47-e2c2284014dd/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" }, { @@ -404,30 +435,31 @@ "comment": "", "command": "select", "target": "name=type", - "targets": [], + "targets": [ + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/div/div/form/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] + ], "value": "label=EntityAttributes" }, { "id": "5f1229fb-9185-40cf-bd65-76435d93d7df", "comment": "", - "command": "click", + "command": "//click", "target": "css=option:nth-child(2)", - "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], + "targets": [], "value": "" }, { "id": "03f838cb-2aea-40fa-b549-8263aa2046cf", "comment": "", "command": "click", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field20", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -435,7 +467,7 @@ "id": "ad127dfe-2cae-4693-b65f-e35c0655e9eb", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field20", "name"], @@ -448,20 +480,19 @@ "id": "0065c161-84c6-4cd0-8b69-b257ec572915", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.target", + "target": "css=.rbt-input-main", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] + ["css=.rbt-input-main", "css:finder"], + ["xpath=(//input[@value=''])[2]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "15d90ee0-b1cc-4fae-abec-ae80d93db1c1", "comment": "", "command": "type", - "target": "id=/entityAttributesFilterTarget.target", + "target": "css=.rbt-input-main", "targets": [ ["id=/entityAttributesFilterTarget.target", "id"], ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], @@ -474,67 +505,72 @@ "id": "1d754809-177b-47f9-98e6-5e757713d834", "comment": "", "command": "click", - "target": "css=.btn-success:nth-child(1)", + "target": "css=.btn-success", "targets": [ - ["css=.btn-success:nth-child(1)", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ["css=.btn-success", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID  ')]", "xpath:innerText"] ], "value": "" }, { "id": "72c2bc1d-f96f-497b-bbd8-b2e254fae6b6", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "1e74f318-f78c-4e64-8ac7-fc999df0dd19", + "id": "8048dafc-6cfe-4370-8742-786d3457eccc", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { - "id": "d05f7295-35b2-42ba-98d0-1c9673846190", + "id": "1e74f318-f78c-4e64-8ac7-fc999df0dd19", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/useSha.parent']/label", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "82bbe8c4-e66c-470d-bdf6-9cd3337b4a3e", + "id": "d05f7295-35b2-42ba-98d0-1c9673846190", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_useSha", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field33", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_useSha", "id"], + ["css=#root_relyingPartyOverrides_useSha", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "2e4c1077-cd2f-4298-969f-e945e2d68636", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ ["id=/relyingPartyOverrides/responderId", "id"], ["name=field33", "name"], @@ -544,76 +580,76 @@ ], "value": "responder" }, { - "id": "14785e6f-8ab8-47e0-b16e-8e736638d8c8", + "id": "3e162911-9775-4d01-8802-63f5638c7cba", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[20]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "1e7c0ceb-f555-497d-a465-92df7d67b40a", + "id": "a9c5ad9d-05ab-4b47-9e0d-c4e81d28c87e", "comment": "", "command": "pause", "target": "500", "targets": [], "value": "" }, { - "id": "3e162911-9775-4d01-8802-63f5638c7cba", + "id": "17e961f9-8e47-434b-a0a8-e023e20cf4c8", "comment": "", "command": "click", - "target": "css=.input-group-append > .btn", + "target": "css=.toggle-button", "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[22]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" - }, { - "id": "a9c5ad9d-05ab-4b47-9e0d-c4e81d28c87e", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" }, { "id": "ab2594b3-45a8-43f7-885b-270239a46628", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], - ["xpath=//datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "id"], + ["linkText=https://refeds.org/profile/mfa", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'https://refeds.org/profile/mfa')]", "xpath:innerText"] ], "value": "" }, { "id": "dd4e22ff-aa54-40c0-b5c2-6a5b79845062", "comment": "", "command": "click", - "target": "css=.fa-check", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=.fa-check", "css:finder"], - ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], - ["xpath=//td[2]/button/i", "xpath:position"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "1c4c90ac-b644-4033-8ebc-07a8cd1bdbdd", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -683,14 +719,20 @@ "id": "a058bf22-7d07-4850-8004-8a85a2016d25", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "8a94f318-76bb-49f1-90d5-b2dcbcb1ff80", "comment": "", "command": "click", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field40", "name"], @@ -703,7 +745,7 @@ "id": "9bd2419e-c4f5-4dd2-9fb8-278d70be987b", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field40", "name"], @@ -723,13 +765,14 @@ "id": "9b9d7604-7025-4ccb-bb95-862f57f696f1", "comment": "", "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", + "target": "id=dropdown-", "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-", "id"], + ["css=#dropdown-", "css:finder"], + ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -743,14 +786,13 @@ "id": "9e84c57f-c33d-48f8-85ac-ed50751eb37b", "comment": "", "command": "click", - "target": "linkText=Regex", + "target": "css=.show > .dropdown-item:nth-child(2)", "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] ], "value": "" }, { @@ -764,30 +806,40 @@ "id": "f3bc22e2-0e3a-4d58-b992-31d687148c57", "comment": "", "command": "sendKeys", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [], + "target": "id=targetInput", + "targets": [ + ["id=targetInput", "id"], + ["name=script", "name"], + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] + ], "value": "/foo.*/" }, { "id": "343b40b9-87df-46ab-b3ef-285e4e5ed784", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "6ce98c83-68b8-45c0-834e-cc40af11fc29", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { @@ -801,13 +853,25 @@ "id": "a7aa04e7-b909-42cf-85ed-adbff0adefce", "comment": "", "command": "click", - "target": "css=.input-group-append > .btn", + "target": "css=.array-add-button", "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fff5a62d-900b-4025-9c54-d4bf974fe8e0", + "comment": "", + "command": "click", + "target": "css=.toggle-button", + "targets": [ + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -821,25 +885,29 @@ "id": "8b7b79fd-2405-4ab6-8f91-4906f663cd1e", "comment": "", "command": "click", - "target": "id=/formats/0__option--1", + "target": "id=option-selector-root_formats_0-item-1", "targets": [ - ["id=/formats/0__option--1", "id"], - ["css=#\\/formats\\/0__option--1", "css:finder"], - ["xpath=//li[@id='/formats/0__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/0__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_formats_0-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_formats_0-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_0-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_0']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "6d4c2c20-0855-4cdf-8e4d-dbbd6afb328b", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -911,12 +979,15 @@ "id": "45fe6404-6af7-4be0-8f21-2dcf378d0060", "comment": "", "command": "click", - "target": "css=.nav-item translate-i18n", + "target": "linkText=Dashboard", "targets": [ - ["css=.nav-item translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ["linkText=Dashboard", "linkText"], + ["css=.nav-link:nth-child(3)", "css:finder"], + ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//nav/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] ], "value": "" }, { @@ -965,12 +1036,13 @@ "id": "547788c6-8ba2-4edc-8add-8ff24d6805b8", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { @@ -980,41 +1052,57 @@ "target": "3000", "targets": [], "value": "" + }, { + "id": "01acf33e-4693-40ea-8217-7c275806d5ef", + "comment": "", + "command": "type", + "target": "id=root_name", + "targets": [], + "value": "" }, { "id": "2383637f-14ad-407d-82cd-49d36f218ee0", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field62", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=.mb-0 > #root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Local Dynamic Metadata Provider V2" + }, { + "id": "a9ce8daa-ce77-48b6-8f6e-2dce2f1e468c", + "comment": "", + "command": "type", + "target": "id=root_xmlId", + "targets": [], + "value": "" }, { "id": "31561081-f7d8-4fc5-90a2-a216da79b8a6", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=/xmlId", "id"], - ["name=field65", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/input", "xpath:position"] ], "value": "123456" }, { "id": "c988660e-6608-4ca4-814a-f1e3bd6a4347", "comment": "", "command": "click", - "target": "css=.btn-info > translate-i18n", + "target": "css=.btn-info", "targets": [ - ["css=.btn-info > translate-i18n", "css:finder"], - ["xpath=//div[2]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1028,12 +1116,14 @@ "id": "add10378-ed96-4fc2-bd50-5ace327bb698", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/e6527f5e-ac1c-4490-ac9e-f07603248b91/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1068,11 +1158,13 @@ "id": "e0aa8d5c-d81c-4d4a-ac51-1d3511065d97", "comment": "", "command": "click", - "target": "css=.btn-primary > translate-i18n", + "target": "css=.btn-primary", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//history-list/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ["css=.btn-primary", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] ], "value": "" }, { diff --git a/backend/src/integration/resources/SHIBUI-1364-4.side b/backend/src/integration/resources/SHIBUI-1364-4.side index c088ae27d..e201417e5 100644 --- a/backend/src/integration/resources/SHIBUI-1364-4.side +++ b/backend/src/integration/resources/SHIBUI-1364-4.side @@ -41,51 +41,84 @@ "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "c3651d7b-1023-42c2-8093-36d348343857", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "739af002-e255-4a84-864c-086f2874a83f", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [ + ["css=body", "css:finder"], + ["xpath=//body", "xpath:position"], + ["xpath=//body[contains(.,'yes, you did it')]", "xpath:innerText"] + ], + "value": "yes, you did it" + }, { + "id": "4ebf9f2c-3a68-441b-910d-8998c6994781", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field4", "name"], @@ -98,15 +131,15 @@ "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=DynamicHttpMetadataProvider" + "value": "label=DynamicHttpMetadataResolver" }, { "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", "comment": "", @@ -121,14 +154,20 @@ "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field7", "name"], @@ -141,40 +180,33 @@ "id": "d8716eae-bb36-42ae-b505-2626c5a8c377", "comment": "", "command": "select", - "target": "id=/metadataRequestURLConstructionScheme/type", - "targets": [], - "value": "label=MetadataQueryProtocol" - }, { - "id": "326f3387-12c8-4294-843c-182fd8d06c46", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataRequestURLConstructionScheme_@type", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: MetadataQueryProtocol']", "xpath:attributes"], - ["xpath=//select[@id='/metadataRequestURLConstructionScheme/type']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'MetadataQueryProtocol')]", "xpath:innerText"] + ["id=root_metadataRequestURLConstructionScheme_@type", "id"], + ["css=#root_metadataRequestURLConstructionScheme_\\@type", "css:finder"], + ["xpath=//select[@id='root_metadataRequestURLConstructionScheme_@type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=MetadataQueryProtocol" }, { "id": "516d7e81-3672-4dd7-811b-70ee38c21e52", "comment": "", "command": "click", - "target": "id=/metadataRequestURLConstructionScheme/content", + "target": "id=root_metadataRequestURLConstructionScheme_content", "targets": [ - ["id=/metadataRequestURLConstructionScheme/content", "id"], - ["name=field10", "name"], - ["css=#\\/metadataRequestURLConstructionScheme\\/content", "css:finder"], - ["xpath=//input[@id='/metadataRequestURLConstructionScheme/content']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataRequestURLConstructionScheme_content", "id"], + ["css=#root_metadataRequestURLConstructionScheme_content", "css:finder"], + ["xpath=//input[@id='root_metadataRequestURLConstructionScheme_content']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7b60ce4c-a16c-4bc5-9d9c-999f9fc6b197", "comment": "", "command": "type", - "target": "id=/metadataRequestURLConstructionScheme/content", + "target": "id=root_metadataRequestURLConstructionScheme_content", "targets": [ ["id=/metadataRequestURLConstructionScheme/content", "id"], ["name=field10", "name"], @@ -187,24 +219,26 @@ "id": "cd0d4f15-2193-4814-8e72-f38d9d2221e2", "comment": "", "command": "click", - "target": "id=/requireValidMetadata.false", + "target": "id=root_requireValidMetadata-No", "targets": [ - ["id=/requireValidMetadata.false", "id"], - ["css=#\\/requireValidMetadata\\.false", "css:finder"], - ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_requireValidMetadata-No", "id"], + ["css=#root_requireValidMetadata-No", "css:finder"], + ["xpath=//input[@id='root_requireValidMetadata-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "3b83fa2b-147f-4b7b-9b30-44c28b07576e", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { @@ -220,21 +254,15 @@ }, { "id": "30565900-4c02-4cb0-9d5a-c980349307ea", "comment": "", - "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", - "targets": [ - ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field15", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" + "command": "waitForElementVisible", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", + "targets": [], + "value": "30000" }, { "id": "5b6ea5bf-d5c1-4d5e-bc15-ffabf67f74ec", "comment": "", "command": "type", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "targets": [ ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], ["name=field15", "name"], @@ -254,13 +282,12 @@ "id": "a51172e3-792f-4881-8083-efcb34c63e56", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/minCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -274,14 +301,16 @@ "id": "b1ec3405-0d75-45d6-8986-51c2f09c4dc4", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/minCacheDuration__option--1", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "targets": [ - ["id=/dynamicMetadataResolverAttributes/minCacheDuration__option--1", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration__option--1", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/minCacheDuration__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/minCacheDuration__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -295,12 +324,12 @@ "id": "2793bf1b-177b-461f-b06c-0a584ab6eaf0", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", + "target": "css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -314,13 +343,16 @@ "id": "87084a6a-8e89-4c00-a3d9-c104107a3ba2", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--3", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--3", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration__option--3", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { @@ -334,12 +366,12 @@ "id": "4c017bde-e242-4d2f-838e-a2a026e4292b", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", + "target": "css=.row:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[12]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[4]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -353,13 +385,16 @@ "id": "d477fd6a-2c15-4fb6-a199-d49aa495ef94", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-2", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData__option--2", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -369,16 +404,29 @@ "target": "500", "targets": [], "value": "" + }, { + "id": "9ef5ccae-f5af-4047-abc6-caa2960c766f", + "comment": "", + "command": "click", + "target": "id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", + "targets": [ + ["id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "id"], + ["css=#root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_removeIdleEntityData-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[5]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] + ], + "value": "" }, { "id": "62f7ce3c-5cff-43c6-8ce6-a0e6bf2b2257", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", + "target": "css=.row:nth-child(6) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(6) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -392,33 +440,36 @@ "id": "bf855df4-326e-484e-9022-d2c84e09e6f3", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "targets": [ - ["id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval__option--3", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { "id": "df2a3e70-d7d3-487b-a205-218e9987b060", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", + "target": "id=root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "targets": [ - ["id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", "id"], - ["name=field21", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/persistentCacheManagerDirectory", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "id"], + ["css=#root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b25d9d91-b8f2-46ad-ac79-cbac34fa3f91", "comment": "", "command": "type", - "target": "id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", + "target": "id=root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "targets": [ ["id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", "id"], ["name=field21", "name"], @@ -431,12 +482,13 @@ "id": "5b546b6b-ee98-4852-8ffd-b95f7e68d954", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false", + "target": "id=root_dynamicMetadataResolverAttributes_initializeFromPersistentCacheInBackground-No", "targets": [ - ["id=/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/initializeFromPersistentCacheInBackground\\.false", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false']", "xpath:attributes"], - ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_initializeFromPersistentCacheInBackground-No", "id"], + ["css=#root_dynamicMetadataResolverAttributes_initializeFromPersistentCacheInBackground-No", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_initializeFromPersistentCacheInBackground-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[8]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { @@ -480,46 +532,49 @@ "id": "22f7bf37-718c-4126-867b-67a383eefff5", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-2", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--2", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"], - ["xpath=//li[contains(.,'PT1M')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { "id": "5320f384-0881-4e7a-b89f-33a57efb22ba", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "f60a2a6e-2739-4da6-8e94-a5f0e7cf70de", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "target": "id=root_metadataFilters_1_certificateFile", "targets": [ - ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], - ["name=field30", "name"], - ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], - ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d1402eee-5e5c-4634-ac31-6843ed775bb8", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "target": "id=root_metadataFilters_1_certificateFile", "targets": [ ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], ["name=field30", "name"], @@ -532,43 +587,39 @@ "id": "581415bb-bd83-4bc8-9417-da0a9781c7bd", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "6e976ed9-98a5-4e5d-8151-13a6c8498155", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], - "value": "label=SPSSODescriptor" - }, { - "id": "4c21b4c9-6f8e-4520-b55c-9b945b97de01", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=SPSSODescriptor" }, { "id": "b027e53b-bdf7-40e5-a296-6f25eae50732", "comment": "", "command": "click", - "target": "id=/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -585,12 +636,13 @@ "id": "c4d98111-537a-45a1-9bfd-e8d780a0c0b3", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -607,21 +659,25 @@ "id": "ae27b108-a2f4-4d4b-b375-b582ccc0ef56", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "linkText=Dynamic Http Metadata Provider", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'DynamicHttpMetadataResolver')]", "xpath:innerText"] + ["linkText=Dynamic Http Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Dynamic Http Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/7eede370-9063-42fd-898e-f90780a78386/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Dynamic Http Metadata Provider')]", "xpath:innerText"] ], "value": "10000" }, { "id": "8c52471a-70f5-43aa-b670-6f8d22e18668", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ - ["css=td:nth-child(3)", "css:finder"], + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], ["xpath=//td[3]", "xpath:position"], ["xpath=//td[contains(.,'DynamicHttpMetadataResolver')]", "xpath:innerText"] ], @@ -630,7 +686,7 @@ "id": "31a8587f-8ac0-4512-98ec-6cd230dfb0b6", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", + "target": "linkText=Dynamic Http Metadata Provider", "targets": [ ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], @@ -642,12 +698,14 @@ "id": "fb7aea4e-7991-482c-b673-de998c20129c", "comment": "", "command": "click", - "target": "css=#filters .actions span", + "target": "linkText=Add Filter", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Add Filter", "linkText"], + ["css=#filters .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/7eede370-9063-42fd-898e-f90780a78386/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" }, { @@ -657,30 +715,24 @@ "target": "name=type", "targets": [], "value": "label=EntityAttributes" - }, { - "id": "5d3daf7a-a4e0-4767-a1ef-2416270bfae4", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", - "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "" }, { "id": "f013d7b6-96c3-4155-ac1e-cff223e5e547", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "a58e088d-329b-4cfb-949b-eea9fdbdad37", "comment": "", "command": "click", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field39", "name"], @@ -693,7 +745,7 @@ "id": "60177908-3143-407a-8bdf-a045463d5490", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field39", "name"], @@ -706,20 +758,19 @@ "id": "67d52837-5e50-487c-a744-9ee0ea39f5b7", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.target", + "target": "css=.rbt-input-main", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] + ["css=.rbt-input-main", "css:finder"], + ["xpath=(//input[@value=''])[2]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "3512eb60-34d4-455b-8a2c-e6c98d382cac", "comment": "", "command": "type", - "target": "id=/entityAttributesFilterTarget.target", + "target": "css=.rbt-input-main", "targets": [ ["id=/entityAttributesFilterTarget.target", "id"], ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], @@ -732,116 +783,146 @@ "id": "a9d49b1c-c794-4c54-83ea-c61bd3011dba", "comment": "", "command": "click", - "target": "css=.btn-success:nth-child(1)", + "target": "css=.btn-success", "targets": [ - ["css=.btn-success:nth-child(1)", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ["css=.btn-success", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID  ')]", "xpath:innerText"] ], "value": "" }, { "id": "dff6b5d5-02ae-41a1-bae4-6ce39aeca199", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "fdb8df7c-cb68-4c9a-9325-db6615591ff8", + "comment": "", + "command": "click", + "target": "css=.nav-link:nth-child(2)", + "targets": [ + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { "id": "356339ea-0caf-406a-a2d6-b3eb991b7af6", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/omitNotBefore.parent']/label", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "fdb64234-9424-4e0d-8be0-dd7c43859de3", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "c722da17-b739-4fa6-b731-8b347e3c96e3", + "id": "93505bd6-8a5e-4ef0-8f50-d2dc9bce71d6", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { - "id": "1abe39e3-d7f2-447f-aff4-3382cc648e29", + "id": "70e68495-a52f-4c3b-aeb4-fac69e8cda96", "comment": "", "command": "pause", "target": "500", "targets": [], "value": "" }, { - "id": "93505bd6-8a5e-4ef0-8f50-d2dc9bce71d6", + "id": "b269b8f4-8191-47c1-a84a-5b64df6aadcb", "comment": "", "command": "click", - "target": "css=.input-group-append > .btn", + "target": "css=.toggle-button", "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[20]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { - "id": "70e68495-a52f-4c3b-aeb4-fac69e8cda96", + "id": "bbe6893b-033c-4a57-9065-afe00d75a818", "comment": "", - "command": "pause", - "target": "500", - "targets": [], + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-2", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] + ], "value": "" }, { - "id": "b269b8f4-8191-47c1-a84a-5b64df6aadcb", + "id": "6895180e-e563-4199-acda-f20823f58a03", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--2", + "target": "css=.text-left:nth-child(3)", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"] + ["css=.text-left:nth-child(3)", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[3]", "xpath:idRelative"], + ["xpath=//button[3]", "xpath:position"], + ["xpath=//button[contains(.,'Attributes')]", "xpath:innerText"] ], "value": "" }, { "id": "c4431fc6-cbd3-4b7b-b1fd-b30141aa2af8", "comment": "", "command": "click", - "target": "css=tr:nth-child(6) .custom-control-label", + "target": "id=root_attributeRelease_6", "targets": [ - ["css=tr:nth-child(6) .custom-control-label", "css:finder"], - ["xpath=//tr[6]/td[2]/fieldset/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Toggle eduPersonAffiliation')]", "xpath:innerText"] + ["id=root_attributeRelease_6", "id"], + ["css=#root_attributeRelease_6", "css:finder"], + ["xpath=//input[@id='root_attributeRelease_6']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/fieldset/table/tbody/tr[7]/td[2]/fieldset/div/div/input", "xpath:idRelative"], + ["xpath=//tr[7]/td[2]/fieldset/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7b22d9b0-81f4-47c6-91f1-713c89cf9dd1", "comment": "", "command": "click", - "target": "css=tr:nth-child(7) .custom-control-label", + "target": "id=root_attributeRelease_7", "targets": [ ["css=tr:nth-child(7) .custom-control-label", "css:finder"], ["xpath=//tr[7]/td[2]/fieldset/div/label", "xpath:position"], @@ -852,7 +933,7 @@ "id": "ad3ec36d-6e6a-4650-b7a1-0c8efaaeabe3", "comment": "", "command": "click", - "target": "css=tr:nth-child(8) .custom-control-label", + "target": "id=root_attributeRelease_8", "targets": [ ["css=tr:nth-child(8) .custom-control-label", "css:finder"], ["xpath=//tr[8]/td[2]/fieldset/div/label", "xpath:position"], @@ -863,12 +944,13 @@ "id": "25090cbb-9e11-4938-b44e-70326857422d", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -927,12 +1009,12 @@ "id": "be76769e-6422-4b1f-a2e4-00a32d394057", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field59", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Name ID Format Filter" @@ -947,13 +1029,14 @@ "id": "81373637-8e36-4736-9b2a-7b8d477dc2c1", "comment": "", "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", + "target": "id=dropdown-", "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-", "id"], + ["css=#dropdown-", "css:finder"], + ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -967,14 +1050,13 @@ "id": "f562c710-39fc-490d-80c9-d3525722397c", "comment": "", "command": "click", - "target": "linkText=Regex", + "target": "css=.show > .dropdown-item:nth-child(2)", "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] ], "value": "" }, { @@ -988,30 +1070,53 @@ "id": "c5dc3e04-eb5a-4885-92ed-3425da3026e6", "comment": "", "command": "sendKeys", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [], + "target": "id=targetInput", + "targets": [ + ["id=targetInput", "id"], + ["name=script", "name"], + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] + ], "value": "/foo.*/" + }, { + "id": "1fd21e00-882a-42d2-82dc-11935393b718", + "comment": "", + "command": "click", + "target": "css=.nav-link:nth-child(2)", + "targets": [ + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] + ], + "value": "" }, { "id": "d2cbc813-89e5-4801-a9fe-5e0e775a419f", "comment": "", "command": "click", - "target": "css=#\\/removeExistingFormats\\.parent > .custom-control-label", + "target": "id=root_removeExistingFormats", "targets": [ - ["css=#\\/removeExistingFormats\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/removeExistingFormats.parent']/label", "xpath:idRelative"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Existing Formats?')]", "xpath:innerText"] + ["id=root_removeExistingFormats", "id"], + ["css=#root_removeExistingFormats", "css:finder"], + ["xpath=//input[@id='root_removeExistingFormats']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "77dfeb05-38e3-4ef8-9566-06e7597d464c", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1025,12 +1130,13 @@ "id": "285fa762-484b-4a81-bdc3-68358cbbe895", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { @@ -1044,14 +1150,27 @@ "id": "c82354e7-3041-4b44-952a-a654510d0069", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=.mb-0 > #root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "30000" + }, { + "id": "6e62eda3-8e04-4836-905a-77e1965de7cf", + "comment": "", + "command": "type", + "target": "id=root_name", + "targets": [], + "value": "" }, { "id": "9e520768-e930-483e-b078-c39be294438f", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field88", "name"], @@ -1064,24 +1183,32 @@ "id": "8c2f44ff-29f5-49b0-94ee-6e79e2fe871b", "comment": "", "command": "click", - "target": "css=.nav > .nav-link:nth-child(2)", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["linkText=Dynamic Attributes", "linkText"], - ["css=.nav > .nav-link:nth-child(2)", "css:finder"], - ["xpath=(//a[contains(@href, '/metadata/provider/e9de09a6-6d16-4e94-bba4-13fa38c312ff/edit/dynamic')])[2]", "xpath:href"], - ["xpath=//nav/a[2]", "xpath:position"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Dynamic Attributes')]", "xpath:innerText"] ], "value": "" + }, { + "id": "c3282a5c-6b89-4a02-b1e6-32f0c9928123", + "comment": "", + "command": "type", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", + "targets": [], + "value": "" }, { "id": "a339275d-3c7a-4a4d-9e6e-cf587521e65c", "comment": "", "command": "type", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field99", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_dynamicMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "0.7" @@ -1089,11 +1216,13 @@ "id": "7cab82a7-0703-4087-b0d4-5d02a97c28f2", "comment": "", "command": "click", - "target": "css=.btn-info > translate-i18n", + "target": "css=.btn-info", "targets": [ - ["css=.btn-info > translate-i18n", "css:finder"], - ["xpath=//div[2]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1149,11 +1278,13 @@ "id": "bf03f3d5-c6f3-4693-9145-3afefbc84bab", "comment": "", "command": "click", - "target": "css=.btn-primary > translate-i18n", + "target": "css=.btn-primary", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//history-list/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ["css=.btn-primary", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] ], "value": "" }, { @@ -1194,11 +1325,14 @@ "id": "010da979-20a9-419f-89ff-d897f11e6ccb", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=.btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2a395997-566c-4511-ac42-f972e5b1fcf9/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1207,61 +1341,66 @@ "command": "click", "target": "css=tr:nth-child(1) a", "targets": [ - ["linkText=Oct 03, 2019 10:37:01 (Current)", "linkText"], + ["linkText=Jun 15, 2021 16:09:47 (Current)", "linkText"], ["css=tr:nth-child(1) a", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/28ab5bc2-c16d-4460-8e62-18b788b40b8d/configuration/options')]", "xpath:href"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2a395997-566c-4511-ac42-f972e5b1fcf9/configuration/options')]", "xpath:href"], ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Oct 03, 2019 10:37:01 (Current)')]", "xpath:innerText"] + ["xpath=//a[contains(.,'Jun 15, 2021 16:09:47 (Current)')]", "xpath:innerText"] ], "value": "" }, { "id": "f4d519b0-c4f5-4421-a7d2-c745de1c695f", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", + "target": "css=.list-group-item:nth-child(1) .mx-4", "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) .mx-4", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='filters']/ul/li/div/button", "xpath:idRelative"], + ["xpath=//li/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "" }, { "id": "53fcbf86-d8f4-4366-b9ea-1a01dd89ac08", "comment": "", "command": "click", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "target": "linkText=Edit", "targets": [ - ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ["linkText=Edit", "linkText"], + ["css=.d-flex:nth-child(1) > .btn:nth-child(1)", "css:finder"], + ["xpath=//div[@id='filters']/ul/li/div[2]/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2a395997-566c-4511-ac42-f972e5b1fcf9/filter/0e6a21f4-f88c-494e-a1d7-5b2dc684d75f/edit/common')]", "xpath:href"], + ["xpath=//div[2]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { - "id": "65b8ceb0-7589-465c-be12-123bd78de9ea", + "id": "2457e1c1-6ff5-4839-bdb4-311aadc87b78", "comment": "", - "command": "click", - "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", + "command": "waitForElementVisible", + "target": "id=root_name", "targets": [ - ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div/div/div/div/input", "xpath:position"] ], - "value": "" + "value": "30000" }, { - "id": "2457e1c1-6ff5-4839-bdb4-311aadc87b78", + "id": "d9357940-f476-4ae7-ad39-2f20b8cb979c", "comment": "", - "command": "waitForElementVisible", - "target": "id=/name", + "command": "type", + "target": "id=root_name", "targets": [], - "value": "30000" + "value": "" }, { "id": "4600a21d-e332-4d99-8903-691a6126722f", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field118", "name"], @@ -1274,11 +1413,13 @@ "id": "7b064f9b-5820-43cf-aca4-b5f8df846200", "comment": "", "command": "click", - "target": "css=.btn-primary > translate-i18n", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//div[2]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1292,12 +1433,15 @@ "id": "2e2a837d-0904-40bc-bef8-92d26660e04f", "comment": "", "command": "click", - "target": "css=.nav-item translate-i18n", + "target": "linkText=Dashboard", "targets": [ - ["css=.nav-item translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ["linkText=Dashboard", "linkText"], + ["css=.nav-link:nth-child(3)", "css:finder"], + ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//nav/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] ], "value": "" }, { @@ -1346,12 +1490,14 @@ "id": "43a67b75-0971-49ce-b457-0c0424a5a2aa", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/2a395997-566c-4511-ac42-f972e5b1fcf9/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1389,7 +1535,9 @@ "target": "css=.btn-primary", "targets": [ ["css=.btn-primary", "css:finder"], - ["xpath=//history-list/button", "xpath:position"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] ], "value": "" @@ -1404,42 +1552,46 @@ "id": "359620ef-2e60-425e-9513-a303075b3006", "comment": "", "command": "click", - "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", + "target": "id=toggleLimited", "targets": [ - ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], - ["xpath=//div[2]/div/button/i", "xpath:position"] + ["id=toggleLimited", "id"], + ["name=toggleLimited", "name"], + ["css=#toggleLimited", "css:finder"], + ["xpath=//input[@id='toggleLimited']", "xpath:attributes"], + ["xpath=//div[@id='navigation']/div[2]/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "e83dc2da-ad95-4e50-b969-57721eb8f1dc", "comment": "", "command": "click", - "target": "css=.btn-primary > translate-i18n", + "target": "css=.d-flex:nth-child(5) > .border-primary:nth-child(2) .svg-inline--fa", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//div[3]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ["css=.d-flex:nth-child(5) > .border-primary:nth-child(2) .svg-inline--fa", "css:finder"] ], "value": "" }, { "id": "c2102a31-6e18-4d6c-8146-e23459403b65", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .d-block:nth-child(2)", + "target": "css=.border-primary:nth-child(2) > .bg-primary-light .mb-0:nth-child(1)", "targets": [ - ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'Entity Attributes Filter V2')]", "xpath:innerText"] + ["css=.border-primary:nth-child(2) > .bg-primary-light .mb-0:nth-child(1)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/div[4]/div[2]/div/div/p", "xpath:idRelative"], + ["xpath=//p", "xpath:position"], + ["xpath=//p[contains(.,'Entity Attributes Filter V2')]", "xpath:innerText"] ], "value": "Entity Attributes Filter V2" }, { "id": "cac6c125-c81b-40af-ae21-2b717df9511e", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .d-block:nth-child(3)", + "target": "css=.border-primary:nth-child(3) > .bg-primary-light .mb-0:nth-child(1)", "targets": [ - ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] + ["css=.border-primary:nth-child(3) > .bg-primary-light .mb-0:nth-child(1)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/div[4]/div[3]/div/div/p", "xpath:idRelative"], + ["xpath=//div[3]/div/div/p", "xpath:position"] ], "value": "Entity Attributes Filter" }, { diff --git a/backend/src/integration/resources/SHIBUI-950.side b/backend/src/integration/resources/SHIBUI-950.side index 7eb184198..c101d3cd6 100644 --- a/backend/src/integration/resources/SHIBUI-950.side +++ b/backend/src/integration/resources/SHIBUI-950.side @@ -49,31 +49,61 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "6cfc4462-7d98-42ad-9503-1420238af405", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "563df7e6-3968-4107-a698-3fd7e52f18bc", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "78c92dcb-4104-482d-8997-3b33c29ec2cf", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "694012a7-3480-4af9-9dbc-2879ffd4d8b1", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "d000a81f-a776-44f6-80c4-dfb5ec892dc0", "comment": "", "command": "click", - "target": "linkText=Metadata Source", + "target": "linkText=Add a new metadata source", "targets": [ - ["linkText=Metadata Source", "linkText"], - ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], - ["xpath=//div/a", "xpath:position"] + ["linkText=Add a new metadata source", "linkText"], + ["css=.text-primary:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata source')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/new')]", "xpath:href"], + ["xpath=//div/a", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata source')]", "xpath:innerText"] ], "value": "" + }, { + "id": "2a074ac0-d142-4124-83c1-792d5e744605", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.resolver-nav-option:nth-child(1) > .btn", + "targets": [], + "value": "30000" }, { "id": "1e8aba21-e7f4-45ef-b004-4aedcf2ab74e", "comment": "", @@ -86,6 +116,13 @@ ["xpath=//button[contains(.,'Upload/URL')]", "xpath:innerText"] ], "value": "" + }, { + "id": "c23d44f2-0896-4c5e-a574-3444c4c89e7e", + "comment": "", + "command": "waitForElementVisible", + "target": "id=serviceProviderName", + "targets": [], + "value": "30000" }, { "id": "d1ab5623-6daa-4ccb-bc06-e16a3f504e1d", "comment": "", @@ -114,7 +151,7 @@ "id": "e5d771f5-57e2-4f11-af50-124c2121d36b", "comment": "", "command": "attachFile", - "target": "id=fileInput", + "target": "id=custom-file", "targets": [], "value": "${SHIBUI950}" }, { @@ -131,11 +168,12 @@ "id": "cf4285d3-6f70-499e-ad3a-85278e27dbf0", "comment": "", "command": "waitForElementVisible", - "target": "css=tr > .text-right", + "target": "css=td:nth-child(1)", "targets": [ - ["css=tr > .text-right", "css:finder"], - ["xpath=//td[5]", "xpath:position"], - ["xpath=//td[contains(.,'Disabled')]", "xpath:innerText"] + ["css=td:nth-child(1)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td", "xpath:idRelative"], + ["xpath=//td", "xpath:position"], + ["xpath=//td[contains(.,'File Upload Test')]", "xpath:innerText"] ], "value": "10000" }, { @@ -147,7 +185,8 @@ ["linkText=File Upload Test", "linkText"], ["css=td > a", "css:finder"], ["xpath=//a[contains(text(),'File Upload Test')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/resolver/144a49cd-37f1-4399-9a4a-7f820aab724b/configuration/options')]", "xpath:href"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/3d0fdd1b-e3b1-48d5-9e44-8fe84bd0c1dd/configuration/options')]", "xpath:href"], ["xpath=//td/a", "xpath:position"], ["xpath=//a[contains(.,'File Upload Test')]", "xpath:innerText"] ], @@ -159,6 +198,7 @@ "target": "css=td:nth-child(2)", "targets": [ ["css=td:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], ["xpath=//td[2]", "xpath:position"], ["xpath=//td[contains(.,'https://wiki.shibboleth.net/shibboleth')]", "xpath:innerText"] ], From e7f4c6ed9bd8710f36efb32d63e249d5d64d2b30 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Fri, 18 Jun 2021 10:01:57 -0700 Subject: [PATCH 002/138] NOJIRA Added jenv's .java-version to gitignore. --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index cb8ad4931..455246efa 100644 --- a/.gitignore +++ b/.gitignore @@ -406,4 +406,7 @@ beacon/spring/out *.classpath *.settings *.project -*bin \ No newline at end of file +*bin + +# macOS jenv +.java-version From cf8c29a7696667a671f8e2c6911c78021e6bdb3d Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Fri, 18 Jun 2021 14:32:07 -0700 Subject: [PATCH 003/138] NOJIRA ANother small update as test fixing continues. --- .../admin/ui/SeleniumSIDETest.groovy | 4 +- .../integration/resources/SHIBUI-1334-2.side | 660 +++++----- .../integration/resources/SHIBUI-1335-1.side | 1133 +++++++++-------- 3 files changed, 981 insertions(+), 816 deletions(-) diff --git a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy index 202720249..c3549b11e 100644 --- a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy +++ b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy @@ -112,8 +112,8 @@ class SeleniumSIDETest extends Specification { // 'SHIBUI-1352: Create FileSystem provider' | '/SHIBUI-1352-2.side' // 'SHIBUI-1333: Verify metadata source configuration' | '/SHIBUI-1333.side' // 'SHIBUI-1334: Verify metadata source versioning' | '/SHIBUI-1334-1.side' - 'SHIBUI-1334: Verify metadata provider versioning' | '/SHIBUI-1334-2.side' -// 'SHIBUI-1335: Verify File Backed HTTP Metadata Provider Filters' | '/SHIBUI-1335-1.side' +// 'SHIBUI-1334: Verify metadata provider versioning' | '/SHIBUI-1334-2.side' + 'SHIBUI-1335: Verify File Backed HTTP Metadata Provider Filters' | '/SHIBUI-1335-1.side' // 'SHIBUI-1335: Verify Filesystem Metadata Provider Filters' | '/SHIBUI-1335-2.side' // 'SHIBUI-1335: Verify Local Dynamic Metadata Provider Filters' | '/SHIBUI-1335-3.side' // 'SHIBUI-1335: Verify Dynamic HTTP Metadata Provider Filters' | '/SHIBUI-1335-4.side' diff --git a/backend/src/integration/resources/SHIBUI-1334-2.side b/backend/src/integration/resources/SHIBUI-1334-2.side index b9d3d60fb..b6425e2f4 100644 --- a/backend/src/integration/resources/SHIBUI-1334-2.side +++ b/backend/src/integration/resources/SHIBUI-1334-2.side @@ -49,40 +49,64 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "692ca72a-41c0-4ef7-8ed2-a9d4bde7e05c", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "16716835-2520-4a71-947e-4171d5f232ee", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "23c9cd5a-970b-4974-9f48-98886710c35b", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "e7a98419-36c7-4b0f-a99d-087144f6a417", "comment": "", "command": "click", - "target": "css=.fa-plus-circle", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=.fa-plus-circle", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/i", "xpath:idRelative"], - ["xpath=//i", "xpath:position"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "74fef022-3979-4bed-9226-b25114514976", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "b49d6ed7-75ea-4be8-9a79-c7fd83287aa0", "comment": "", "command": "click", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field1", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -90,7 +114,7 @@ "id": "54dc29f7-bbe0-4c2b-a76e-e67a61f57a96", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field1", "name"], @@ -103,12 +127,15 @@ "id": "add874d5-e3b2-4412-8039-2b9d2619ed19", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["css=select-component > .widget", "css:finder"], - ["xpath=//select-component/div", "xpath:position"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "1cc352f4-0d71-4a3e-9399-1d9932816efc", "comment": "", @@ -123,14 +150,20 @@ "id": "d072327c-78b4-4bdb-8020-b825cd26592d", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "86262eda-4a44-41b0-b7aa-fa46406e2601", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=field7", "id"], ["name=field7", "name"], @@ -143,38 +176,39 @@ "id": "26cc765d-98c1-414c-97d8-4c7e5c6ab7e2", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=field8", "id"], - ["name=field8", "name"], - ["css=#field8", "css:finder"], - ["xpath=//input[@id='field8']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "https://idp.unicon.net/idp/shibboleth" }, { "id": "f0459917-b2a1-4e3c-8800-25273965129f", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "5b37cf08-77b9-4091-94f9-c0d539c9010d", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field10", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo.txt" }, { @@ -188,11 +222,12 @@ "id": "203d0d3c-d866-422a-8b48-b50181db00e9", "comment": "", "command": "click", - "target": "css=.fa-caret-down", + "target": "css=.toggle-button", "targets": [ - ["css=.fa-caret-down", "css:finder"], - ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div/button/i", "xpath:position"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -206,62 +241,69 @@ "id": "5fc6a348-0533-4d94-bb76-ebb891a0db8f", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--1", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--1", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "bf041d41-5d58-4f69-8fcc-49ec79e5547d", "comment": "", "command": "click", - "target": "id=/requireValidMetadata.false", + "target": "id=root_requireValidMetadata-No", "targets": [ - ["id=/requireValidMetadata.false", "id"], - ["css=#\\/requireValidMetadata\\.false", "css:finder"], - ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_requireValidMetadata-No", "id"], + ["css=#root_requireValidMetadata-No", "css:finder"], + ["xpath=//input[@id='root_requireValidMetadata-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[6]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "fba85c75-e218-4deb-b5e1-888ff75b6a4e", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[7]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "375b8d6e-179b-4f14-8f00-d8a8cad29d7e", "comment": "", "command": "click", - "target": "id=/useDefaultPredicateRegistry.false", + "target": "id=root_useDefaultPredicateRegistry-No", "targets": [ - ["id=/useDefaultPredicateRegistry.false", "id"], - ["css=#\\/useDefaultPredicateRegistry\\.false", "css:finder"], - ["xpath=//input[@id='/useDefaultPredicateRegistry.false']", "xpath:attributes"], - ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_useDefaultPredicateRegistry-No", "id"], + ["css=#root_useDefaultPredicateRegistry-No", "css:finder"], + ["xpath=//input[@id='root_useDefaultPredicateRegistry-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[8]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "8b4bf341-62c0-491f-b775-d2faf55477bc", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.true", + "target": "id=root_satisfyAnyPredicates-Yes", "targets": [ - ["id=/satisfyAnyPredicates.true", "id"], - ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-Yes", "id"], + ["name=root_satisfyAnyPredicates", "name"], + ["css=#root_satisfyAnyPredicates-Yes", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-Yes']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[9]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -285,13 +327,12 @@ "id": "a188bc3e-fd98-4d49-ae35-a0b78a17607c", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -305,14 +346,16 @@ "id": "a159e056-c870-4e02-a7e9-4b3a60d83718", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -326,12 +369,12 @@ "id": "7a72cf6a-c97a-49f6-83d0-cbe42f0fdb7d", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -345,26 +388,29 @@ "id": "820397f5-aabb-46f5-a65a-56747ce29091", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--3", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { "id": "b036a851-4ac9-43cb-8686-8e78ed940d72", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "0.5" }, { @@ -388,13 +434,12 @@ "id": "232da257-962f-4a4b-8213-038ef90c96c3", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div/div/div/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -408,114 +453,114 @@ "id": "b8d999f1-0c59-4a9a-9991-91d222f52b8e", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "8af1abb5-2c7a-4a4c-a8f7-0eb287100dde", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "323a2a02-9111-4064-8bb0-a3da34330e54", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", - "targets": [], + "target": "id=root_metadataFilters_1_certificateFile", + "targets": [ + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] + ], "value": "%{idp.home}/foo.txt" }, { "id": "a125e601-f306-441d-9c8c-e97b95817b46", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "74d696db-3f3b-4ff3-a180-34baceb469a2", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], - "value": "label=SPSSODescriptor" - }, { - "id": "532bf2e5-13fc-48d7-b01b-ff16207a554d", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", - "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "12cf80c9-594c-4c4d-bf26-aa36ba636220", - "comment": "", - "command": "click", - "target": "css=.fa-plus", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=.fa-plus", "css:finder"], - ["xpath=//array-component/div/div/button/i", "xpath:position"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=SPSSODescriptor" }, { - "id": "6cb9854b-293b-482d-8c07-4b7c638d79cb", + "id": "532bf2e5-13fc-48d7-b01b-ff16207a554d", "comment": "", "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", + "target": "css=.array-add-button", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", "css:finder"], - ["xpath=(//option[@value=''])[2]", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "f366c86c-1420-4fb7-86c2-82c49d81208d", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", + "target": "id=root_metadataFilters_2_retainedRoles_1", "targets": [], "value": "label=AttributeAuthorityDescriptor" }, { "id": "5dfac033-ecfd-42e8-aa6f-931d5acd4d89", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "9d5934f0-fe10-4539-9d71-80b454fc8612", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -532,17 +577,23 @@ "id": "79b96f40-2677-438a-9564-62df0ea2c116", "comment": "", "command": "click", - "target": "css=.custom-control-label", - "targets": [], + "target": "id=root_enabled", + "targets": [ + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "" }, { "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], @@ -551,11 +602,11 @@ "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123')]", "xpath:innerText"] ], "value": "123" @@ -569,56 +620,19 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "f72d07d6-e123-4698-a303-62a522ca45a1", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "debd4893-7551-4a7b-9e49-15aa89bf487f", - "comment": "", - "command": "click", - "target": "linkText=Dashboard", - "targets": [ - ["linkText=Dashboard", "linkText"], - ["css=.nav-item > .nav-link", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], - ["xpath=//li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "650390b8-3dac-46fe-b4f3-fbe3784afac9", - "comment": "", - "command": "click", - "target": "linkText=Metadata Providers", - "targets": [ - ["linkText=Metadata Providers", "linkText"], - ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], - ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], - ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], - ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "5886b5f7-440e-4430-910c-9e1c4e4a353f", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", "comment": "", "command": "waitForElementPresent", "target": "linkText=Test Metadata Provider", "targets": [ - ["css=.badge > span", "css:finder"], - ["xpath=//span/span", "xpath:position"] + ["linkText=Test Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/a684d39c-2add-4dad-82cf-dc06a144c623/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "10000" }, { @@ -675,12 +689,13 @@ "id": "67578648-0800-4716-8c0c-27741770249a", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { @@ -690,11 +705,24 @@ "target": "5000", "targets": [], "value": "" + }, { + "id": "dd3be528-b9da-45c4-bbc9-334ff7c05e57", + "comment": "", + "command": "type", + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/input", "xpath:position"] + ], + "value": "" }, { "id": "7d641e58-47ce-4d20-908c-e0002ff73cfa", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field38", "name"], @@ -714,12 +742,13 @@ "id": "247b04c1-e690-42bc-ae15-dfbedb44d2e9", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.false", + "target": "id=root_satisfyAnyPredicates-No", "targets": [ - ["id=/satisfyAnyPredicates.false", "id"], - ["css=#\\/satisfyAnyPredicates\\.false", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.false']", "xpath:attributes"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-No", "id"], + ["css=#root_satisfyAnyPredicates-No", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div[9]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { @@ -729,8 +758,10 @@ "target": "css=.btn-info", "targets": [ ["css=.btn-info", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -797,14 +828,19 @@ "id": "ce328b6a-f6ee-45e9-975c-5a5608f373dc", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "68103f0e-e3f1-419b-903d-5d8c30bc6700", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "targets": [ ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", "css:finder"], ["xpath=//primitive-property[4]/div/span[2]", "xpath:position"], @@ -815,30 +851,33 @@ "id": "a13198b9-7827-47e2-ade3-143b981d34ee", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[4]/div/span[3]", "xpath:position"] + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[3]", "xpath:position"] ], "value": "123" }, { "id": "3d83741c-299e-4fcb-9ce6-4b7291c423a4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", + "target": "css=div:nth-child(12) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[12]/div/span[2]", "xpath:position"] + ["css=div:nth-child(12) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[12]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[12]/div/span[2]", "xpath:position"] ], "value": "false" }, { "id": "190cc157-d427-4046-aff2-180392395ad3", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", + "target": "css=div:nth-child(12) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[12]/div/span[3]", "xpath:position"] + ["css=div:nth-child(12) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[12]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[12]/div/span[3]", "xpath:position"] ], "value": "true" }, { @@ -885,11 +924,12 @@ "id": "c9341f6f-4d13-4378-bb5c-0079e7535008", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(4) .actions span", + "target": "css=.mb-4:nth-child(6) .edit-link", "targets": [ - ["css=.mb-4:nth-child(4) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[4]/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//section[4]/div/div/div/button/span", "xpath:position"] + ["css=.mb-4:nth-child(6) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div/div/button", "xpath:idRelative"], + ["xpath=//section[4]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -903,11 +943,13 @@ "id": "1cde012c-d521-4fd5-a7d5-7a680bba0e7b", "comment": "", "command": "click", - "target": "css=.slider", + "target": "id=custom-switch", "targets": [ - ["css=.slider", "css:finder"], - ["xpath=//toggle-switch[@id='toggle']/label/span", "xpath:idRelative"], - ["xpath=//label/span", "xpath:position"] + ["id=custom-switch", "id"], + ["css=#custom-switch", "css:finder"], + ["xpath=//input[@id='custom-switch']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -921,13 +963,12 @@ "id": "78967fb5-8f61-46ce-9c14-9b6ceb12b03a", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout-container .btn", + "target": "css=.form-group:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/connectionRequestTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.form-group:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -941,14 +982,16 @@ "id": "8ba62572-354d-47f4-bb72-f9309c1cb201", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/connectionRequestTimeout__option--1", + "target": "id=option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "targets": [ - ["id=/httpMetadataResolverAttributes/connectionRequestTimeout__option--1", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout__option--1", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/connectionRequestTimeout__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/connectionRequestTimeout__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -962,12 +1005,12 @@ "id": "d7406190-0bb0-4df8-9c0b-7e393952b6a2", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/connectionTimeout-container .btn", + "target": "css=.form-group:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/connectionTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/connectionTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.form-group:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -981,13 +1024,16 @@ "id": "337ac160-7990-425f-83da-2788d8a0985e", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/connectionTimeout__option--2", + "target": "id=option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "targets": [ - ["id=/httpMetadataResolverAttributes/connectionTimeout__option--2", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/connectionTimeout__option--2", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/connectionTimeout__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/connectionTimeout__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_connectionTimeout']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -1001,12 +1047,12 @@ "id": "19182110-0f86-4601-ae12-0b90967ef68a", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/socketTimeout-container .btn", + "target": "css=.form-group:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/socketTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/socketTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.form-group:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[3]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1020,13 +1066,16 @@ "id": "34693225-4754-4b27-92ee-3e37304a8cd7", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/socketTimeout__option--3", + "target": "id=option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "targets": [ - ["id=/httpMetadataResolverAttributes/socketTimeout__option--3", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/socketTimeout__option--3", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/socketTimeout__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/socketTimeout__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_socketTimeout']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { @@ -1036,8 +1085,10 @@ "target": "css=.btn-info", "targets": [ ["css=.btn-info", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1111,48 +1162,55 @@ "id": "9f1380c3-2b99-4b7d-90b7-f20d4fe431d3", "comment": "", "command": "waitForElementVisible", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(2) .d-block:nth-child(2)", - "targets": [], + "target": "css=.mb-4:nth-child(5) div:nth-child(3) .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(5) div:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"] + ], "value": "10000" }, { "id": "8a2c6435-d77b-4c87-8e0e-e1ae6d4629b9", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(5) div:nth-child(3) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(4) primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[4]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:position"] + ["css=.mb-4:nth-child(5) div:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"] ], "value": "PT30S" }, { "id": "0687fe3f-c1af-4a5a-9708-09b7b92734bc", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(3) .d-block:nth-child(2)", + "target": "css=div:nth-child(1) > div:nth-child(4) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(4) primitive-property:nth-child(3) .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[4]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] + ["css=div:nth-child(1) > div:nth-child(4) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div[4]/div/span[2]", "xpath:position"] ], "value": "PT1M" }, { "id": "a007794f-ab91-47b8-b470-e4294e47a2a7", "comment": "", "command": "assertText", - "target": "css=object-property:nth-child(1) > primitive-property:nth-child(4) .d-block:nth-child(2)", + "target": "css=div:nth-child(1) > div:nth-child(5) .d-block:nth-child(2)", "targets": [ - ["css=object-property:nth-child(1) > primitive-property:nth-child(4) .d-block:nth-child(2)", "css:finder"], - ["xpath=//object-property/object-property/primitive-property[4]/div/span[2]", "xpath:position"] + ["css=div:nth-child(1) > div:nth-child(5) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[5]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div[5]/div/span[2]", "xpath:position"] ], "value": "PT10M" }, { "id": "5279bf64-46c1-4376-a527-e19e217b42fa", "comment": "", "command": "assertText", - "target": "css=object-property:nth-child(1) > primitive-property:nth-child(5) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(5) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=object-property:nth-child(1) > primitive-property:nth-child(5) .d-block:nth-child(2)", "css:finder"], - ["xpath=//object-property/object-property/primitive-property[5]/div/span[2]", "xpath:position"] + ["css=.mb-4:nth-child(5) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:position"] ], "value": "false" }, { diff --git a/backend/src/integration/resources/SHIBUI-1335-1.side b/backend/src/integration/resources/SHIBUI-1335-1.side index db15623ec..e66a063bd 100644 --- a/backend/src/integration/resources/SHIBUI-1335-1.side +++ b/backend/src/integration/resources/SHIBUI-1335-1.side @@ -41,51 +41,80 @@ "id": "358c31ea-fab8-4709-9b25-d9e5e82e123c", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "8ce1cc76-3392-4b5f-8a9f-658f08f19ed1", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "8903ea38-1f44-49a0-be4c-45afa76aea79", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "4e7e2172-a234-414a-90e0-befd3ad65246", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "fdea3214-f0e0-4f13-9d5d-e07ef92d71f1", "comment": "", "command": "click", - "target": "css=#addNewDropdown", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "2c40ac99-5e92-4c1c-923a-5a6100cadf43", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "7a42de04-995f-45aa-ba3f-095900a564ec", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "b2725ef6-b394-4f87-a2a5-031be085cedb", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field4", "name"], @@ -98,15 +127,15 @@ "id": "ca36b018-a4df-43d1-9fbd-973d6653d3e0", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "e5d1d696-3029-4f9d-ad53-2e60b4789935", "comment": "", @@ -121,14 +150,20 @@ "id": "352f066f-c2af-4735-81b1-5440ba7a3432", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "e7462621-f4e4-4512-b200-20afa5685fc6", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field7", "name"], @@ -141,38 +176,39 @@ "id": "7bfaa2a7-c66d-4e36-b1f4-1de30b02ebd0", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=/metadataURL", "id"], - ["name=field8", "name"], - ["css=#\\/metadataURL", "css:finder"], - ["xpath=//input[@id='/metadataURL']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "https://idp.unicon.net/idp/shibboleth" }, { "id": "047e1ea4-e28c-4b1b-86fc-ff19a3c0efcc", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "34124b74-7b90-424a-9219-1f0bfbf06b70", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field10", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo.txt" }, { @@ -186,13 +222,12 @@ "id": "0668032d-608b-4a01-9ac8-e4e2ac058294", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -206,38 +241,43 @@ "id": "35dfa0f8-c0f2-4356-a6b0-18b5dc35337b", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--1", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--1", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "b4d0a551-3bc1-466f-b204-ec7164af44ec", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[7]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "bef80dbb-25a6-4381-8b0e-331faaeb4392", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.true", + "target": "id=root_satisfyAnyPredicates-Yes", "targets": [ - ["id=/satisfyAnyPredicates.true", "id"], - ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-Yes", "id"], + ["name=root_satisfyAnyPredicates", "name"], + ["css=#root_satisfyAnyPredicates-Yes", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-Yes']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[9]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -264,24 +304,16 @@ "target": "1000", "targets": [], "value": "" - }, { - "id": "91c42709-f202-48eb-bd7f-389ec454b86b", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" }, { "id": "824b4515-ae14-436e-a56f-d631ea9e1edc", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -295,14 +327,16 @@ "id": "9ee7065a-823e-4b4a-b212-0582eeaf7a00", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--0", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"], - ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "id"], + ["linkText=PT0S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'PT0S')]", "xpath:innerText"] ], "value": "" }, { @@ -316,12 +350,12 @@ "id": "618cc5f1-417b-4bc6-9388-3238f2304904", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -335,33 +369,36 @@ "id": "a89f1b4d-10bd-48f7-9b97-865710cfe01f", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--2", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { "id": "143b781c-56ae-48c6-a7f5-8c93953f6095", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dcd01c7a-f733-4977-9cc2-e9084903e079", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], ["name=field20", "name"], @@ -391,13 +428,12 @@ "id": "363af92e-0327-47b9-918c-1560adab40cc", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div/div/div/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -411,86 +447,75 @@ "id": "a4470d6f-04a7-4c4b-8c1e-70cff2f35e8a", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "4530c1b4-8f27-4272-9633-c792a3a54f90", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "10cd8cee-fc6a-4e5b-a11b-a7b0a9338f5d", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "target": "id=root_metadataFilters_1_certificateFile", "targets": [ - ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], - ["name=field27", "name"], - ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], - ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo2.txt" - }, { - "id": "a3ce889f-0607-4071-bd39-25b169c30114", - "comment": "", - "command": "click", - "target": "css=div:nth-child(3) > sf-form-element .bg-light", - "targets": [ - ["css=div:nth-child(3) > sf-form-element .bg-light", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/fieldset-object/div/div/fieldset/div", "xpath:position"] - ], - "value": "" }, { "id": "f205ec23-b433-44bb-af80-e72330b4c7a3", "comment": "", "command": "click", - "target": "css=.fa-plus", + "target": "css=.array-add-button", "targets": [ - ["css=.fa-plus", "css:finder"], - ["xpath=//array-component/div/div/button/i", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "4dae6914-ae68-45e2-b332-cc4c1ac71e43", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], - "value": "label=SPSSODescriptor" - }, { - "id": "4b257d69-1948-4c5f-a88d-b1bfa8f2ba72", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=SPSSODescriptor" }, { "id": "d47fc8b5-4062-4813-90a8-cdc91b777f1d", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -500,43 +525,39 @@ "id": "442c5b8d-f108-488e-8779-06171f5081f6", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", - "targets": [], - "value": "label=AttributeAuthorityDescriptor" - }, { - "id": "42eddc22-9eed-41d1-aaee-2d4a1d933fa9", - "comment": "", - "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", + "target": "id=root_metadataFilters_2_retainedRoles_1", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: md:AttributeAuthorityDescriptor'])[2]", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_metadataFilters_2_retainedRoles_1", "id"], + ["css=#root_metadataFilters_2_retainedRoles_1", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_1']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/select", "xpath:position"] ], - "value": "" + "value": "label=AttributeAuthorityDescriptor" }, { "id": "4ebbc08c-ee24-43d8-8c2d-b639a625189c", "comment": "", "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "1c23c527-46e7-4fe6-8f60-37833af073c8", "comment": "", "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeEmptyEntitiesDescriptors.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -553,12 +574,13 @@ "id": "7cd861ea-d86c-4faa-a07b-c1508811b506", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -575,24 +597,42 @@ "id": "daa2d46a-d238-4a48-aca7-0f34c9b93d5f", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", + "target": "linkText=File Backed HTTP Metadata Provider", "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ["linkText=File Backed HTTP Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/06a36938-dcdb-4289-837a-1826b28eef8b/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "eb05cf9c-2ef9-4a0e-837c-655442b82464", + "comment": "", + "command": "click", + "target": "linkText=Add Filter", + "targets": [ + ["linkText=Add Filter", "linkText"], + ["css=#filters .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/34c2d268-3580-4303-9867-c07e7635a353/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" }, { "id": "d86e9a98-a0a1-4696-b454-1bca1d01f9d0", "comment": "", "command": "click", - "target": "css=#filters .actions span", + "target": "name=type", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/div/div/form/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { @@ -602,30 +642,24 @@ "target": "name=type", "targets": [], "value": "label=EntityAttributes" - }, { - "id": "49fe7508-4f42-4eae-a47d-85a0983efb64", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", - "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "" }, { "id": "8a52ad88-b583-41b7-92a6-bdb185b03a06", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "b1c779b1-d3ed-47cc-bc88-e5c280161c32", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field37", "name"], @@ -645,13 +679,14 @@ "id": "a10a6faf-90cd-4713-8ea3-60c768ed935e", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.valuedd", + "target": "id=dropdown-label.filter-target-type", "targets": [ - ["id=/entityAttributesFilterTarget.valuedd", "id"], - ["css=#\\/entityAttributesFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/entityAttributesFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-label.filter-target-type", "id"], + ["css=#dropdown-label\\.filter-target-type", "css:finder"], + ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -665,14 +700,13 @@ "id": "1f2b93b8-23ae-4a9c-b015-96ca890ae150", "comment": "", "command": "click", - "target": "linkText=Regex", + "target": "css=.show > .dropdown-item:nth-child(2)", "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[16]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] ], "value": "" }, { @@ -683,130 +717,147 @@ "targets": [], "value": "" }, { - "id": "5c2ed93d-3630-408c-bb89-0b2baffb73c0", + "id": "6dec176f-0c5a-4982-867e-087342c90987", "comment": "", - "command": "click", - "target": "id=/entityAttributesFilterTarget.target", + "command": "sendKeys", + "target": "id=targetInput", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], + ["id=targetInput", "id"], ["name=script", "name"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], - "value": "" - }, { - "id": "6dec176f-0c5a-4982-867e-087342c90987", - "comment": "", - "command": "sendKeys", - "target": "id=/entityAttributesFilterTarget.target", - "targets": [], "value": "/foo.*/" }, { "id": "f4e6e8a5-0040-4aac-a0f9-9b49abbd9568", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", + "targets": [ + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "86f35854-4979-4f43-97d9-5026d852514c", + "comment": "", + "command": "click", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { "id": "603aff60-cf79-4804-90c5-2ffd0f5ef550", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_signAssertion", "targets": [ - ["css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/signAssertion.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_signAssertion", "id"], + ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "9456ba02-3dd6-4305-a0d3-f031e1e79b16", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_dontSignResponse", "targets": [ - ["css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/dontSignResponse.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ["id=root_relyingPartyOverrides_dontSignResponse", "id"], + ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "a1ce4398-4f95-498c-b01b-2f25e1fd3380", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dcaa766a-3800-4412-9631-0f279e23bf41", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_useSha", "targets": [ - ["css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/useSha.parent']/label", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_useSha", "id"], + ["css=#root_relyingPartyOverrides_useSha", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "c7a9bd88-9198-4ce0-8ae0-618b90fd787a", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/ignoreAuthenticationMethod\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "targets": [ - ["css=#\\/relyingPartyOverrides\\/ignoreAuthenticationMethod\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/ignoreAuthenticationMethod.parent']/label", "xpath:idRelative"], - ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "id"], + ["css=#root_relyingPartyOverrides_ignoreAuthenticationMethod", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_ignoreAuthenticationMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "c806723d-9713-4710-96e2-6410b79895c0", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/omitNotBefore.parent']/label", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "1c7d678e-5b74-4542-bf6c-a64d0117f831", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field50", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "id-123" }, { "id": "027b4448-eaf6-4f24-ae2f-5b592db910ed", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -820,11 +871,12 @@ "id": "fd1af538-1b5b-4d6a-b56b-d56e7f01bb40", "comment": "", "command": "click", - "target": "css=.fa-caret-down", + "target": "css=.toggle-button", "targets": [ - ["css=.fa-caret-down", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[20]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -838,20 +890,23 @@ "id": "cc233154-4159-425b-8ac5-761c26a0de15", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "d8e3df44-0db6-458e-b133-36b7ec08fbb7", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] @@ -868,12 +923,12 @@ "id": "562c7f9f-1e55-432a-8fff-0cae15b23a33", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[22]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -887,20 +942,23 @@ "id": "f5f27af2-b869-4b99-a3d9-3efce014be06", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "4e595806-b2c6-43c6-bd1f-78e659f795e4", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//array-component/div/div/button", "xpath:position"], @@ -918,12 +976,12 @@ "id": "b717af46-a3c1-40f2-ac1a-2c7f84fbf33f", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[24]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -937,20 +995,23 @@ "id": "4655a981-c5d6-4b48-aad2-77295dc37859", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "9902d02a-d7f7-4424-92f4-2a6072916421", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//array-component/div/div/button", "xpath:position"], @@ -968,12 +1029,12 @@ "id": "df07e4c7-8e0f-4eed-ab58-42e2b5bcfc93", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[26]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -987,20 +1048,23 @@ "id": "cd34bc8a-564b-4d15-90c9-f09e12d7e078", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "624fd275-3ee2-4cd0-890a-4ae22b152ed4", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//array-component/div/div/button", "xpath:position"], @@ -1011,23 +1075,31 @@ "id": "e6c3d2db-386e-4b9b-a160-c091b025c1b9", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "nameIdFormat" + }, { + "id": "0c417f2a-a400-4b34-91fc-e73efb92faff", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "82093807-448e-4a25-96bf-ed1dfca77452", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1041,7 +1113,7 @@ "id": "fcd7d891-5ea4-45a6-8554-4298ec5804c9", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1060,20 +1132,23 @@ "id": "9bb8951c-c932-4236-89d8-9d2c8d49a702", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "id"], + ["linkText=https://refeds.org/profile/mfa", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'https://refeds.org/profile/mfa')]", "xpath:innerText"] ], "value": "" }, { "id": "743e6d84-98b7-461a-8fb9-05826abb8e22", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1090,7 +1165,7 @@ "id": "81517bc9-7996-46be-9dfe-9eea57f0e616", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1109,20 +1184,23 @@ "id": "8f00493c-94ef-4182-8423-5d23bd01136f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken')]", "xpath:innerText"] ], "value": "" }, { "id": "7a3a49b4-4348-4318-a35c-ba0a2192e811", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1139,7 +1217,7 @@ "id": "c2f97ae8-fddf-4e48-b961-1d4154ceae9f", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], @@ -1158,20 +1236,23 @@ "id": "3dcbc6b1-2571-4ab8-9014-66b19727fe0a", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport')]", "xpath:innerText"] ], "value": "" }, { "id": "efad42c9-5d79-42f6-a348-54ba5fe59e9d", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1181,25 +1262,45 @@ "id": "9a7b2bfe-8702-40be-a6fe-a76b9a01cdde", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/authenticationMethods/3']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/3-container']/div/input", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[18]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "someOverride" + }, { + "id": "9a850c80-fc21-48c8-b146-a665307c5ac6", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "82bf7075-6128-4471-a631-c8e4c3525eea", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", + "targets": [ + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "e16e4888-e311-4719-9f87-590ddb124dc4", + "comment": "", + "command": "click", + "target": "css=.text-left:nth-child(3)", "targets": [ - ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["css=.text-left:nth-child(3)", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[3]", "xpath:idRelative"], + ["xpath=//button[3]", "xpath:position"], + ["xpath=//button[contains(.,'Attributes')]", "xpath:innerText"] ], "value": "" }, { @@ -1208,21 +1309,20 @@ "command": "click", "target": "css=.fa-check", "targets": [ - ["css=.fa-check", "css:finder"], - ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], - ["xpath=//td[2]/button/i", "xpath:position"] + ["css=.fa-check", "css:finder"] ], "value": "" }, { "id": "2c3908a1-3fbf-4bbe-8611-fb8a87da1a66", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1232,10 +1332,11 @@ "target": "linkText=Add Filter", "targets": [ ["linkText=Add Filter", "linkText"], - ["css=.btn-success", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/d71151a4-a27d-4cb9-bd96-882280454c4a/filter/new')]", "xpath:href"], - ["xpath=//div[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] + ["css=#filters > .numbered-header .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/ba913942-7961-4343-8e93-4f0918a57b88/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" }, { @@ -1261,14 +1362,20 @@ "id": "4a663db9-9f10-4b12-9cb9-61aa01ecc0c0", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "92fdc836-2479-4faa-9e3d-447f5b82cc11", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field65", "name"], @@ -1285,92 +1392,67 @@ "targets": [], "value": "" }, { - "id": "abfa17d5-ebfe-4bb2-b64a-ef5f127bac86", + "id": "bba23377-23a1-46d5-b044-15047a08ee53", "comment": "", - "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", + "command": "type", + "target": "css=.rbt-input-main", "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], - ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["css=.rbt-input-main", "css:finder"], + ["xpath=(//input[@value=''])[2]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], - "value": "" - }, { - "id": "43878e34-28cc-424f-9044-87b8cb61db03", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" + "value": "https://idp.unicon.net/idp/shibboleth" }, { - "id": "6040112e-86c4-4e98-b258-79d7e61dfb6d", + "id": "6fbb57d1-0fc6-42bc-86ca-4a5fe872ea34", "comment": "", "command": "click", - "target": "linkText=Entity ID", + "target": "css=.btn-success", "targets": [ - ["linkText=Entity ID", "linkText"], - ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], - ["xpath=//a[contains(text(),'Entity ID')]", "xpath:link"], - ["xpath=//a[contains(@href, '#')]", "xpath:href"], - ["xpath=//div/div/a", "xpath:position"], - ["xpath=//a[contains(.,'Entity ID')]", "xpath:innerText"] + ["css=.btn-success", "css:finder"], + ["xpath=(//button[@type='button'])[16]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID  ')]", "xpath:innerText"] ], "value": "" }, { - "id": "70eba7e8-d84f-4b65-b5e8-d1523514dd29", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "bba23377-23a1-46d5-b044-15047a08ee53", - "comment": "", - "command": "type", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [ - ["id=/nameIdFormatFilterTarget.target", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/nameIdFormatFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] - ], - "value": "https://idp.unicon.net/idp/shibboleth" - }, { - "id": "6fbb57d1-0fc6-42bc-86ca-4a5fe872ea34", + "id": "fa75b464-10a7-43da-939e-550e88748eb6", "comment": "", "command": "click", - "target": "css=.btn-success:nth-child(1)", + "target": "id=root_filterEnabled", "targets": [ - ["css=.btn-success:nth-child(1)", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "fa75b464-10a7-43da-939e-550e88748eb6", + "id": "56f0e9b6-ee8b-46d4-b40d-b1d4e6dab294", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { "id": "a721538a-5f95-4567-8d7c-5851f67f3ae0", "comment": "", "command": "click", - "target": "css=#\\/removeExistingFormats\\.parent > .custom-control-label", + "target": "id=root_removeExistingFormats", "targets": [ - ["css=#\\/removeExistingFormats\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/removeExistingFormats.parent']/label", "xpath:idRelative"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Existing Formats?')]", "xpath:innerText"] + ["id=root_removeExistingFormats", "id"], + ["css=#root_removeExistingFormats", "css:finder"], + ["xpath=//input[@id='root_removeExistingFormats']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -1395,13 +1477,12 @@ "id": "76b5506e-ebd3-416b-9a2d-391d39b8b282", "comment": "", "command": "click", - "target": "css=.input-group-append > .btn", + "target": "css=.toggle-button", "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1415,13 +1496,16 @@ "id": "ee812306-8d00-4162-9d92-eb598802f4bc", "comment": "", "command": "click", - "target": "id=/formats/0__option--0", + "target": "id=option-selector-root_formats_0-item-0", "targets": [ - ["id=/formats/0__option--0", "id"], - ["css=#\\/formats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/formats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_formats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_formats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { @@ -1445,12 +1529,12 @@ "id": "1f3cca46-1bf0-469f-9ac5-6481c8447633", "comment": "", "command": "click", - "target": "css=#\\/formats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/formats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/formats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1464,13 +1548,16 @@ "id": "aa0cb8e5-a5b5-4956-91dc-d25ea30ff87a", "comment": "", "command": "click", - "target": "id=/formats/1__option--1", + "target": "id=option-selector-root_formats_1-item-1", "targets": [ - ["id=/formats/1__option--1", "id"], - ["css=#\\/formats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/formats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_formats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_formats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { @@ -1495,11 +1582,12 @@ "id": "f313f186-80e1-42ea-9b19-c59efe66a92d", "comment": "", "command": "click", - "target": "css=#\\/formats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/formats\\/2-container .fa", "css:finder"], - ["xpath=//div[@id='/formats/2-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1513,13 +1601,16 @@ "id": "bf10f8f1-f5b8-43f5-b1d8-6e4e67e92621", "comment": "", "command": "click", - "target": "id=/formats/2__option--2", + "target": "id=option-selector-root_formats_2-item-2", "targets": [ - ["id=/formats/2__option--2", "id"], - ["css=#\\/formats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/formats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_formats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_formats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { @@ -1543,11 +1634,12 @@ "id": "823e4972-3bdd-4286-a22d-8805adef4f2c", "comment": "", "command": "click", - "target": "css=#\\/formats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/formats\\/3-container .fa", "css:finder"], - ["xpath=//div[@id='/formats/3-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[19]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1561,13 +1653,16 @@ "id": "3cba2ead-22cd-4bc9-b0ca-bb1f5ebb10a2", "comment": "", "command": "click", - "target": "id=/formats/3__option--3", + "target": "id=option-selector-root_formats_3-item-3", "targets": [ - ["id=/formats/3__option--3", "id"], - ["css=#\\/formats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/formats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_formats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_formats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { @@ -1584,25 +1679,32 @@ "id": "f0ae75e7-b2c0-49fa-9806-23f4f228e3e1", "comment": "", "command": "type", - "target": "id=/formats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/formats/4", "id"], - ["css=#\\/formats\\/4", "css:finder"], - ["xpath=//input[@id='/formats/4']", "xpath:attributes"], - ["xpath=//div[@id='/formats/4-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "name id format" + }, { + "id": "fffef61c-1c28-4180-b337-00b69a0148d3", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "3a97e6c5-badb-45c8-b6e5-a7e8462ee77f", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1616,11 +1718,12 @@ "id": "100902ee-6d6e-4148-a69b-b37746a4ad6e", "comment": "", "command": "assertText", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "target": "css=.list-group-item:nth-child(1) .mx-4", "targets": [ - ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], + ["css=.list-group-item:nth-child(1) .mx-4", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='filters']/ul/li/div/button", "xpath:idRelative"], + ["xpath=//li/div/button", "xpath:position"], ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "Entity Attributes Filter" @@ -1646,11 +1749,13 @@ "id": "c9d498da-9f59-40ae-b5d4-cae397a13766", "comment": "", "command": "assertText", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "target": "css=.list-group-item:nth-child(1) .mx-4", "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'Name ID Format Filter')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) .mx-4", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='filters']/ul/li/div/button", "xpath:idRelative"], + ["xpath=//li/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Name ID Format Filter')]", "xpath:innerText"] ], "value": "Name ID Format Filter" }, { @@ -1674,11 +1779,13 @@ "id": "441608df-24a3-4a60-bfce-50a90ff0ee16", "comment": "", "command": "assertText", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", + "target": "css=.list-group-item:nth-child(1) .mx-4", "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(3)", "css:finder"], - ["xpath=//td[3]", "xpath:position"], - ["xpath=//td[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] + ["css=.list-group-item:nth-child(1) .mx-4", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='filters']/ul/li/div/button", "xpath:idRelative"], + ["xpath=//li/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] ], "value": "Entity Attributes Filter" }, { From 82cba9c1bd8f622668c289015400f9633ce9d55c Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Tue, 22 Jun 2021 21:35:03 -0700 Subject: [PATCH 004/138] NOJIRA Added another ROLE_NONE user for testing. Updated list of selenium tests with comments. Fixed remaining tests (with one exception; see SHIBUI-1974) --- .../admin/ui/SeleniumSIDETest.groovy | 50 +- .../integration/resources/SHIBUI-1335-2.side | 697 ++----- .../integration/resources/SHIBUI-1335-3.side | 783 ++------ .../integration/resources/SHIBUI-1335-4.side | 796 +++++--- .../integration/resources/SHIBUI-1361.side | 815 ++++---- .../integration/resources/SHIBUI-1364-2.side | 834 +------- .../integration/resources/SHIBUI-1364-3.side | 1142 ++--------- .../integration/resources/SHIBUI-1385-1.side | 1764 ++++++++++------- .../integration/resources/SHIBUI-1385-2.side | 900 +++++---- .../integration/resources/SHIBUI-1391.side | 583 +++--- .../integration/resources/SHIBUI-1392.side | 322 +-- .../integration/resources/SHIBUI-1407-1.side | 1607 ++++++++------- .../integration/resources/SHIBUI-1407-2.side | 655 +++--- .../integration/resources/SHIBUI-1503-1.side | 221 ++- .../integration/resources/SHIBUI-1503-2.side | 110 +- .../integration/resources/SHIBUI-1503-3.side | 63 +- .../admin/ui/configuration/DevConfig.groovy | 8 + 17 files changed, 5120 insertions(+), 6230 deletions(-) diff --git a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy index c3549b11e..aa2999f66 100644 --- a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy +++ b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy @@ -101,32 +101,32 @@ class SeleniumSIDETest extends Specification { // TODO: Uncomment the below commented tests once they've been updated to use the new configuration screen where: name | file -// 'SHIBUI-1364: Compare FBHTTPMP with filters' | '/SHIBUI-1364-1.side' -// 'SHIBUI-1364: Compare FSMP with filters' | '/SHIBUI-1364-2.side' // bug -// 'SHIBUI-1364: Compare LDMP with filters' | '/SHIBUI-1364-3.side' // bug -// 'SHIBUI-1364: Compare DHTTPMP with filters' | '/SHIBUI-1364-4.side' -// 'SHIBUI-1281: Metadata Source Dashboard' | '/SHIBUI-1281.side' -// 'SHIBUI-1311: Metadata Provider Dashboard' | '/SHIBUI-1311.side' -// 'SHIBUI-950: Metadata Source from XML w/ digest' | '/SHIBUI-950.side' -// 'SHIBUI-1352: Create LocalDynamic provider' | '/SHIBUI-1352-1.side' -// 'SHIBUI-1352: Create FileSystem provider' | '/SHIBUI-1352-2.side' -// 'SHIBUI-1333: Verify metadata source configuration' | '/SHIBUI-1333.side' -// 'SHIBUI-1334: Verify metadata source versioning' | '/SHIBUI-1334-1.side' -// 'SHIBUI-1334: Verify metadata provider versioning' | '/SHIBUI-1334-2.side' + 'SHIBUI-1364: Compare FBHTTPMP with filters' | '/SHIBUI-1364-1.side' + 'SHIBUI-1364: Compare FSMP with filters' | '/SHIBUI-1364-2.side' // adding filters to this resolver type was removed in the react update. this makes this test somewhat less interesting. + 'SHIBUI-1364: Compare LDMP with filters' | '/SHIBUI-1364-3.side' // adding filters to this resolver type was removed in the react update. this makes this test somewhat less interesting. + 'SHIBUI-1364: Compare DHTTPMP with filters' | '/SHIBUI-1364-4.side' + 'SHIBUI-1281: Metadata Source Dashboard' | '/SHIBUI-1281.side' + 'SHIBUI-1311: Metadata Provider Dashboard' | '/SHIBUI-1311.side' + 'SHIBUI-950: Metadata Source from XML w/ digest' | '/SHIBUI-950.side' + 'SHIBUI-1352: Create LocalDynamic provider' | '/SHIBUI-1352-1.side' + 'SHIBUI-1352: Create FileSystem provider' | '/SHIBUI-1352-2.side' + 'SHIBUI-1333: Verify metadata source configuration' | '/SHIBUI-1333.side' + 'SHIBUI-1334: Verify metadata source versioning' | '/SHIBUI-1334-1.side' + 'SHIBUI-1334: Verify metadata provider versioning' | '/SHIBUI-1334-2.side' 'SHIBUI-1335: Verify File Backed HTTP Metadata Provider Filters' | '/SHIBUI-1335-1.side' -// 'SHIBUI-1335: Verify Filesystem Metadata Provider Filters' | '/SHIBUI-1335-2.side' -// 'SHIBUI-1335: Verify Local Dynamic Metadata Provider Filters' | '/SHIBUI-1335-3.side' -// 'SHIBUI-1335: Verify Dynamic HTTP Metadata Provider Filters' | '/SHIBUI-1335-4.side' -// 'SHIBUI-1392: Verify provider with script filter is persistable' | '/SHIBUI-1392.side' -// 'SHIBUI-1361: Verify dates display in proper format' | '/SHIBUI-1361.side' -// 'SHIBUI-1385: Restore a metadata source version' | '/SHIBUI-1385-1.side' -// 'SHIBUI-1385: Restore a metadata provider version' | '/SHIBUI-1385-2.side' -// 'SHIBUI-1391: Regex Validation' | '/SHIBUI-1391.side' -// 'SHIBUI-1407: Metadata source comparison highlights' | '/SHIBUI-1407-1.side' -// 'SHIBUI-1407: Metadata provider comparison highlights' | '/SHIBUI-1407-2.side' -// 'SHIBUI-1503: Non-admin can create metadata source' | '/SHIBUI-1503-1.side' -// 'SHIBUI-1503: User can be deleted' | '/SHIBUI-1503-2.side' -// 'SHIBUI-1503: User can be enabled' | '/SHIBUI-1503-3.side' + 'SHIBUI-1335: Verify Filesystem Metadata Provider Filters' | '/SHIBUI-1335-2.side' // adding filters to this resolver type was removed in the react update + 'SHIBUI-1335: Verify Local Dynamic Metadata Provider Filters' | '/SHIBUI-1335-3.side' // adding filters to this resolver type was removed in the react update + 'SHIBUI-1335: Verify Dynamic HTTP Metadata Provider Filters' | '/SHIBUI-1335-4.side' + 'SHIBUI-1392: Verify provider with script filter is persistable' | '/SHIBUI-1392.side' + 'SHIBUI-1361: Verify dates display in proper format' | '/SHIBUI-1361.side' // Note that this script WILL NOT PASS in the Selenium IDE. There is a bug where the IDE thinks there is a missing ')'. + 'SHIBUI-1385: Restore a metadata source version' | '/SHIBUI-1385-1.side' + 'SHIBUI-1385: Restore a metadata provider version' | '/SHIBUI-1385-2.side' + 'SHIBUI-1391: Regex Validation' | '/SHIBUI-1391.side' + 'SHIBUI-1407: Metadata source comparison highlights' | '/SHIBUI-1407-1.side' + 'SHIBUI-1407: Metadata provider comparison highlights' | '/SHIBUI-1407-2.side' +// 'SHIBUI-1503: Non-admin can create metadata source' | '/SHIBUI-1503-1.side' // bug, see SHIBUI-1974 + 'SHIBUI-1503: User can be deleted' | '/SHIBUI-1503-2.side' // Note that this script can only be run once successfully (per startup of the app) without first having to add the Bad Robot user back in to the system + 'SHIBUI-1503: User can be enabled' | '/SHIBUI-1503-3.side' // Note that this script cannot be executed after 1503-2 without first adding the Bad Robot user back in to the system } } diff --git a/backend/src/integration/resources/SHIBUI-1335-2.side b/backend/src/integration/resources/SHIBUI-1335-2.side index abc25a75c..18cac7410 100644 --- a/backend/src/integration/resources/SHIBUI-1335-2.side +++ b/backend/src/integration/resources/SHIBUI-1335-2.side @@ -41,51 +41,80 @@ "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "67772da3-94dd-419e-b05c-7ed12927805e", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "315688c9-6e8d-47e9-b98a-b2b35f48a475", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "eb6fccd7-ea92-41ad-ade1-b985244f79d5", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field4", "name"], @@ -98,15 +127,15 @@ "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=FilesystemMetadataProvider" + "value": "label=FilesystemMetadataResolver" }, { "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", "comment": "", @@ -121,14 +150,20 @@ "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field7", "name"], @@ -141,15 +176,28 @@ "id": "e2e3a3e4-196c-483d-ac52-de4027636a05", "comment": "", "command": "type", - "target": "id=/metadataFile", + "target": "id=root_metadataFile", "targets": [ - ["id=/metadataFile", "id"], - ["name=field8", "name"], - ["css=#\\/metadataFile", "css:finder"], - ["xpath=//input[@id='/metadataFile']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataFile", "id"], + ["css=#root_metadataFile", "css:finder"], + ["xpath=//input[@id='root_metadataFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/metadata.txt" + }, { + "id": "6ad23a8b-b13c-48b9-8972-cc20577ed1f1", + "comment": "", + "command": "click", + "target": "id=root_doInitialization-No", + "targets": [ + ["id=root_doInitialization-No", "id"], + ["css=#root_doInitialization-No", "css:finder"], + ["xpath=//input[@id='root_doInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] + ], + "value": "" }, { "id": "5f32dd3f-a1d0-4ca3-9f2d-8a9cc6141004", "comment": "", @@ -171,13 +219,12 @@ "id": "8197c49f-a70f-46dd-919e-58fff0e14075", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -191,14 +238,16 @@ "id": "0f1a7a34-0955-45bb-bd2a-a5e4f246869b", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -212,12 +261,12 @@ "id": "64d0912a-0244-4f5e-818f-17000c01477b", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -231,33 +280,36 @@ "id": "80a08176-de7d-4938-8d49-1d296a8ba27c", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--2", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { "id": "f5d73c96-8567-40da-8c7e-be7524050cb8", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field14", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "85e3eefd-43e7-43b7-b33e-a2c75149ba0c", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], ["name=field14", "name"], @@ -280,12 +332,13 @@ "id": "c5fbaf24-139b-4886-a437-ef41a695bbc9", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -302,14 +355,19 @@ "id": "27c0717e-f477-448b-8091-3bb2f3e6080f", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", - "targets": [], + "target": "css=.align-middle:nth-child(3)", + "targets": [ + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'FilesystemMetadataResolver')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "20f7b832-ec52-450a-8224-399f0d4de0a0", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], @@ -321,492 +379,29 @@ "id": "11d71ffb-3372-41cb-9832-72755ef298b5", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", - "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "b7312cb1-744c-429f-a6fa-58635f7a1fea", - "comment": "", - "command": "click", - "target": "css=#filters .actions span", + "target": "linkText=Filesystem Metadata Provider", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Filesystem Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Filesystem Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/3e6636fa-ea9d-4b85-b4b0-ef25073de02a/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Filesystem Metadata Provider')]", "xpath:innerText"] ], "value": "" }, { - "id": "2ba34b77-bac1-48f4-b2ef-c3a4f93e9b51", - "comment": "", - "command": "select", - "target": "name=type", - "targets": [], - "value": "label=EntityAttributes" - }, { - "id": "73f3151e-9a9f-4f6c-b3d4-93560b3e42bb", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", - "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "a8ee94c0-d4f2-47f1-974e-09308193e6dd", - "comment": "", - "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], - "value": "10000" - }, { - "id": "3edb4fc7-f24c-440b-8403-974304f0b4ac", - "comment": "", - "command": "type", - "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field18", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "Entity Attributes" - }, { - "id": "36dac228-9203-4f2e-a623-db41ef8c019f", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" - }, { - "id": "f2c07797-07f6-4325-8c5f-57a676dc982c", - "comment": "", - "command": "click", - "target": "id=/entityAttributesFilterTarget.valuedd", - "targets": [ - ["id=/entityAttributesFilterTarget.valuedd", "id"], - ["css=#\\/entityAttributesFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/entityAttributesFilterTarget.valuedd']", "xpath:attributes"], - ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "1c424cfa-8201-40df-b8ed-ddec065dfd66", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" - }, { - "id": "bca61e15-7c13-4007-8c90-1a667bbef67d", - "comment": "", - "command": "click", - "target": "linkText=Regex", - "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "98f6eea0-36ff-449c-b042-98b87f0d3a70", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" - }, { - "id": "e0c65de5-d74a-4d87-aca0-9e9f4b37fb36", - "comment": "", - "command": "click", - "target": "id=/entityAttributesFilterTarget.target", - "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], - ["name=script", "name"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "70a43e87-7180-4761-8f64-d69c7c7557e5", - "comment": "", - "command": "sendKeys", - "target": "id=/entityAttributesFilterTarget.target", - "targets": [], - "value": "/foo.*/" - }, { - "id": "ce3cf65a-40bd-43fe-beb7-dc3e1d79927b", - "comment": "", - "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "2eea7d5e-e992-4c85-94da-4537e4863228", - "comment": "", - "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/relyingPartyOverrides\\/signAssertion\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/signAssertion.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "f34181b8-eac5-4ce7-8776-0f87cf938503", - "comment": "", - "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/relyingPartyOverrides\\/dontSignResponse\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/dontSignResponse.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] - ], - "value": "" - }, { - "id": "06699eac-9dcc-46ea-a520-bd8117deab97", - "comment": "", - "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "891515dc-c75b-45f7-b33e-05760891e9aa", - "comment": "", - "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "1c315922-1f5a-43a5-97fd-1767f3392471", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(5) .custom-control-label", - "targets": [ - ["css=tr:nth-child(5) .custom-control-label", "css:finder"], - ["xpath=//tr[5]/td[2]/fieldset/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Toggle givenName')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "9569fc2c-5b8d-4724-bf1c-5a2a9af253bd", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(9) .custom-control-label", - "targets": [ - ["css=tr:nth-child(9) .custom-control-label", "css:finder"], - ["xpath=//tr[9]/td[2]/fieldset/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Toggle eduPersonEntitlement')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "f2cfdab4-af65-45b5-b62a-56935ae15637", - "comment": "", - "command": "click", - "target": "css=.btn-primary", - "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "86d92dcf-e856-4578-8a0d-25b4121ad69e", - "comment": "", - "command": "waitForElementVisible", - "target": "linkText=Add Filter", - "targets": [ - ["linkText=Add Filter", "linkText"], - ["css=.btn-success", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/45943457-0dd0-486b-b111-19ae6dd6896c/filter/new')]", "xpath:href"], - ["xpath=//div[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] - ], - "value": "10000" - }, { - "id": "bc3e5810-89fb-42de-92da-e9336b29ebd3", - "comment": "", - "command": "click", - "target": "linkText=Add Filter", - "targets": [ - ["linkText=Add Filter", "linkText"], - ["css=.btn-success", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/dbc814ac-890b-4f11-b3e0-3a2d667fa5cd/filter/new')]", "xpath:href"], - ["xpath=//div[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "32c13864-5b11-4316-a27b-fd0042328924", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "094ce013-936c-4479-9c5b-ba26db4d05c9", - "comment": "", - "command": "waitForElementVisible", - "target": "name=type", - "targets": [ - ["name=type", "name"], - ["css=.form-control", "css:finder"], - ["xpath=//select[@name='type']", "xpath:attributes"], - ["xpath=//select", "xpath:position"] - ], - "value": "10000" - }, { - "id": "f6d537b3-74ab-430f-9688-b7c90516cfc0", - "comment": "", - "command": "select", - "target": "name=type", - "targets": [], - "value": "label=NameIDFormat" - }, { - "id": "c2598572-19aa-49d9-b336-f486a73e2579", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "471c00e2-52d8-4cf7-a071-00b50c98bf9e", - "comment": "", - "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], - "value": "10000" - }, { - "id": "8b0dfae1-5e58-4943-ae62-cad5d32ea203", - "comment": "", - "command": "type", - "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field37", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "Name ID Filter" - }, { - "id": "4cc11ab2-b8e3-4669-ad58-9c8e9664a8de", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "ec49b089-a390-4cff-904f-363d3a57cb76", - "comment": "", - "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", - "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], - ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "7f746a0d-6006-4749-aa61-56b08b48c4fd", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "56abaabc-0c96-428c-9070-62a79ba90c6c", - "comment": "", - "command": "click", - "target": "css=.show > .dropdown-item:nth-child(1)", - "targets": [ - ["linkText=Entity ID", "linkText"], - ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], - ["xpath=//a[contains(text(),'Entity ID')]", "xpath:link"], - ["xpath=//a[contains(@href, '#')]", "xpath:href"], - ["xpath=//div/div/a", "xpath:position"], - ["xpath=//a[contains(.,'Entity ID')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "3f8bc2f3-ee80-410f-aa5d-33aea08bf991", - "comment": "", - "command": "type", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [ - ["id=/nameIdFormatFilterTarget.target", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/nameIdFormatFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] - ], - "value": "unicon" - }, { - "id": "7129e60b-fecc-436f-b055-0f377ade83f8", - "comment": "", - "command": "click", - "target": "css=.btn-success:nth-child(1)", - "targets": [ - ["css=.btn-success:nth-child(1)", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "93a29942-d580-412b-b151-9961fd1495d0", - "comment": "", - "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "c0ab05f8-13f7-4e4a-bf02-2118629eca43", - "comment": "", - "command": "click", - "target": "css=.btn-success > translate-i18n", - "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] - ], - "value": "" - }, { - "id": "f0b7296b-004d-445e-9ebd-6bbd9052b30f", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "028122a4-7a5c-4ee9-afb9-5f7d491cc9bd", - "comment": "", - "command": "click", - "target": "css=.input-group-append > .btn", - "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "e3c2c21f-408c-48f2-a2dd-9241123f0ead", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "e50612f4-b0e4-4749-99ec-5c67e66cd398", - "comment": "", - "command": "click", - "target": "id=/formats/0__option--1", - "targets": [ - ["id=/formats/0__option--1", "id"], - ["css=#\\/formats\\/0__option--1", "css:finder"], - ["xpath=//li[@id='/formats/0__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/0__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"] - ], - "value": "" - }, { - "id": "952930b1-160e-42cd-9be5-c44f397a1451", - "comment": "", - "command": "click", - "target": "css=.btn-primary", - "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "eca1d3dd-9e47-49d2-b4a1-a45c2b6c8c3a", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "d722902b-5c10-45dc-99df-d96f46e78313", + "id": "91ba0e44-01e0-452c-b232-ed72f673682c", "comment": "", "command": "assertText", - "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", - "targets": [ - ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "EntityAttributes" - }, { - "id": "c8d9bc5a-4b7e-4178-8aba-8b8280506c20", - "comment": "", - "command": "click", - "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "targets": [ - ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], - ["xpath=//button[2]", "xpath:position"] - ], - "value": "" - }, { - "id": "d25400e1-127e-4b8c-b7e2-ade937cfd5a0", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "d7909094-96ce-4532-98b4-446cc013c9c8", - "comment": "", - "command": "assertText", - "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", - "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'NameIDFormat')]", "xpath:innerText"] + ["css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'FilesystemMetadataResolver')]", "xpath:innerText"] ], - "value": "NameIDFormat" + "value": "FilesystemMetadataResolver" }, { "id": "d4c36d2c-c90e-45e6-ae49-a46b3c64a629", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1335-3.side b/backend/src/integration/resources/SHIBUI-1335-3.side index 90ac4f016..bdcd4c244 100644 --- a/backend/src/integration/resources/SHIBUI-1335-3.side +++ b/backend/src/integration/resources/SHIBUI-1335-3.side @@ -41,51 +41,80 @@ "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "e64cf7d1-36eb-483b-b577-0f9daf9793c1", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "82fb2e02-32d9-44f2-b531-162df5a20432", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "b878a3aa-276c-42ee-8651-9b90d2e92c09", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field4", "name"], @@ -98,15 +127,15 @@ "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=LocalDynamicMetadataProvider" + "value": "label=LocalDynamicMetadataResolver" }, { "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", "comment": "", @@ -121,14 +150,20 @@ "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field7", "name"], @@ -141,13 +176,13 @@ "id": "e2e3a3e4-196c-483d-ac52-de4027636a05", "comment": "", "command": "type", - "target": "id=/sourceDirectory", + "target": "id=root_sourceDirectory", "targets": [ - ["id=/sourceDirectory", "id"], - ["name=field8", "name"], - ["css=#\\/sourceDirectory", "css:finder"], - ["xpath=//input[@id='/sourceDirectory']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_sourceDirectory", "id"], + ["css=#root_sourceDirectory", "css:finder"], + ["xpath=//input[@id='root_sourceDirectory']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo" }, { @@ -164,12 +199,12 @@ "id": "0586f02c-c210-4e44-9a86-3e914bc94f3b", "comment": "", "command": "type", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field11", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=.mb-0 > #root_dynamicMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "0.5" @@ -184,13 +219,12 @@ "id": "1a8a9dcf-9c6b-4802-8483-981d14131346", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/minCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -204,14 +238,16 @@ "id": "443a9cfc-17c8-49da-9d87-bfabda8fd0b6", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/minCacheDuration__option--0", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-0", "targets": [ - ["id=/dynamicMetadataResolverAttributes/minCacheDuration__option--0", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration__option--0", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/minCacheDuration__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/minCacheDuration__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"], - ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-0", "id"], + ["linkText=PT0S", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'PT0S')]", "xpath:innerText"] ], "value": "" }, { @@ -225,12 +261,12 @@ "id": "84f35d35-ea9c-4a06-aaec-bee1c1922aec", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", + "target": "css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -244,13 +280,16 @@ "id": "c03be15d-ee34-4cd1-bac9-c52e3baa70a3", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--2", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-2", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--2", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration__option--2", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -264,12 +303,12 @@ "id": "f0cdfbcf-46e2-4013-b085-0730b0127842", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", + "target": "css=.row:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[12]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[4]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -283,25 +322,29 @@ "id": "dd663319-7eef-4301-a0d4-24d9583eab7f", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-1", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData__option--1", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "25ed1d75-be93-4e20-88ba-57d8ae7bf053", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/removeIdleEntityData.false", + "target": "id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "targets": [ - ["id=/dynamicMetadataResolverAttributes/removeIdleEntityData.false", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/removeIdleEntityData\\.false", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/removeIdleEntityData.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "id"], + ["css=#root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_removeIdleEntityData-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[5]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { @@ -315,12 +358,12 @@ "id": "54df6d88-1a85-407f-935a-a016f5952a93", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", + "target": "css=.row:nth-child(6) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(6) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -334,13 +377,16 @@ "id": "e7f2439a-e9a1-4b23-b0b9-d992f5b477d4", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "targets": [ - ["id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval__option--3", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { @@ -357,12 +403,13 @@ "id": "d02ae356-8086-4794-97ba-980fc75cca79", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -379,14 +426,19 @@ "id": "02e53e75-003b-42ce-8522-817d52ad16a3", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", - "targets": [], + "target": "css=.align-middle:nth-child(3)", + "targets": [ + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'LocalDynamicMetadataResolver')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "7d059a57-60f7-4729-95af-b36619b98694", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], @@ -398,534 +450,29 @@ "id": "feb08e76-e553-4505-bffe-07f3e77206d0", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2)", - "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "2afa209b-d09b-468e-8cc3-d549abb3be4a", - "comment": "", - "command": "click", - "target": "css=#filters .actions span", - "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "c4e0394c-ba68-4e75-8d20-174a91fad2f5", - "comment": "", - "command": "select", - "target": "name=type", - "targets": [], - "value": "label=EntityAttributes" - }, { - "id": "5f1229fb-9185-40cf-bd65-76435d93d7df", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", - "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "03f838cb-2aea-40fa-b549-8263aa2046cf", - "comment": "", - "command": "click", - "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field20", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" - }, { - "id": "ad127dfe-2cae-4693-b65f-e35c0655e9eb", - "comment": "", - "command": "type", - "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field20", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "Entity Attributes Filter" - }, { - "id": "0065c161-84c6-4cd0-8b69-b257ec572915", - "comment": "", - "command": "click", - "target": "id=/entityAttributesFilterTarget.target", - "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "15d90ee0-b1cc-4fae-abec-ae80d93db1c1", - "comment": "", - "command": "type", - "target": "id=/entityAttributesFilterTarget.target", - "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] - ], - "value": "unicon" - }, { - "id": "1d754809-177b-47f9-98e6-5e757713d834", - "comment": "", - "command": "click", - "target": "css=.btn-success:nth-child(1)", - "targets": [ - ["css=.btn-success:nth-child(1)", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "72c2bc1d-f96f-497b-bbd8-b2e254fae6b6", - "comment": "", - "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "1e74f318-f78c-4e64-8ac7-fc999df0dd19", - "comment": "", - "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/relyingPartyOverrides\\/turnOffEncryption\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/turnOffEncryption.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "d05f7295-35b2-42ba-98d0-1c9673846190", - "comment": "", - "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", + "target": "linkText=Local Dynamic Metadata Provider", "targets": [ - ["css=#\\/relyingPartyOverrides\\/useSha\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/useSha.parent']/label", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["linkText=Local Dynamic Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Local Dynamic Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/505681e0-c5c2-491e-91ce-c69a00d49127/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Local Dynamic Metadata Provider')]", "xpath:innerText"] ], "value": "" }, { - "id": "82bbe8c4-e66c-470d-bdf6-9cd3337b4a3e", - "comment": "", - "command": "click", - "target": "id=/relyingPartyOverrides/responderId", - "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field33", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "2e4c1077-cd2f-4298-969f-e945e2d68636", - "comment": "", - "command": "type", - "target": "id=/relyingPartyOverrides/responderId", - "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field33", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] - ], - "value": "responder" - }, { - "id": "14785e6f-8ab8-47e0-b16e-8e736638d8c8", - "comment": "", - "command": "click", - "target": "css=div:nth-child(9) .d-flex > .btn", - "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] - ], - "value": "" - }, { - "id": "1e7c0ceb-f555-497d-a465-92df7d67b40a", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "3e162911-9775-4d01-8802-63f5638c7cba", - "comment": "", - "command": "click", - "target": "css=.input-group-append > .btn", - "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/authenticationMethods/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "a9c5ad9d-05ab-4b47-9e0d-c4e81d28c87e", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "ab2594b3-45a8-43f7-885b-270239a46628", - "comment": "", - "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", - "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], - ["xpath=//datalist-component/div/auto-complete/div/ul/li", "xpath:position"] - ], - "value": "" - }, { - "id": "dd4e22ff-aa54-40c0-b5c2-6a5b79845062", - "comment": "", - "command": "click", - "target": "css=.fa-check", - "targets": [ - ["css=.fa-check", "css:finder"], - ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], - ["xpath=//td[2]/button/i", "xpath:position"] - ], - "value": "" - }, { - "id": "1c4c90ac-b644-4033-8ebc-07a8cd1bdbdd", - "comment": "", - "command": "click", - "target": "css=.btn-primary", - "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "af17a3a7-f292-4c22-8f2f-3d3bf1938fc1", - "comment": "", - "command": "waitForElementVisible", - "target": "css=span:nth-child(4)", - "targets": [], - "value": "10000" - }, { - "id": "2b9c0a43-fd7a-4ffa-bfef-a7fc41746e16", + "id": "661604ac-7990-4772-ae36-06d44e5f2f8f", "comment": "", "command": "assertText", - "target": "css=span:nth-child(4)", + "target": "css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "targets": [ - ["css=span:nth-child(4)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "EntityAttributes" - }, { - "id": "a0e16e8d-91c9-416c-b1c1-a2898bfbd185", - "comment": "", - "command": "click", - "target": "linkText=Add Filter", - "targets": [ - ["linkText=Add Filter", "linkText"], - ["css=.btn-success", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/ceb1cfdd-26c1-4134-baab-1438190ae9bd/filter/new')]", "xpath:href"], - ["xpath=//div[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "11fd3e95-ce05-4ad0-8238-c34b696003cd", - "comment": "", - "command": "click", - "target": "name=type", - "targets": [ - ["name=type", "name"], - ["css=.form-control", "css:finder"], - ["xpath=//select[@name='type']", "xpath:attributes"], - ["xpath=//select", "xpath:position"] - ], - "value": "" - }, { - "id": "0b68dd82-e9a5-447f-b062-9f7849529bcc", - "comment": "", - "command": "select", - "target": "name=type", - "targets": [], - "value": "label=NameIDFormat" - }, { - "id": "e85fde4c-cdbf-41c6-89e7-d4b281a16219", - "comment": "", - "command": "click", - "target": "css=option:nth-child(3)", - "targets": [ - ["css=option:nth-child(3)", "css:finder"], - ["xpath=//option[@value='NameIDFormat']", "xpath:attributes"], - ["xpath=//option[3]", "xpath:position"], - ["xpath=//option[contains(.,'NameIDFormat')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "a058bf22-7d07-4850-8004-8a85a2016d25", - "comment": "", - "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], - "value": "10000" - }, { - "id": "8a94f318-76bb-49f1-90d5-b2dcbcb1ff80", - "comment": "", - "command": "click", - "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field40", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" - }, { - "id": "9bd2419e-c4f5-4dd2-9fb8-278d70be987b", - "comment": "", - "command": "type", - "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field40", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "Name ID Format Filter" - }, { - "id": "03d1d74e-efa5-4d0e-a780-900449bb4ac5", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "9b9d7604-7025-4ccb-bb95-862f57f696f1", - "comment": "", - "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", - "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], - ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "5cda2bf9-f169-4e37-8071-a6f8d1d1407d", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "9e84c57f-c33d-48f8-85ac-ed50751eb37b", - "comment": "", - "command": "click", - "target": "linkText=Regex", - "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "82336d07-df2f-416e-b5c3-59eaf64a82d4", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "f3bc22e2-0e3a-4d58-b992-31d687148c57", - "comment": "", - "command": "sendKeys", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [], - "value": "/foo.*/" - }, { - "id": "343b40b9-87df-46ab-b3ef-285e4e5ed784", - "comment": "", - "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "6ce98c83-68b8-45c0-834e-cc40af11fc29", - "comment": "", - "command": "click", - "target": "css=.btn-success", - "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "17f77efb-f64a-4a64-8c48-36830a087dbb", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "a7aa04e7-b909-42cf-85ed-adbff0adefce", - "comment": "", - "command": "click", - "target": "css=.input-group-append > .btn", - "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/formats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "d1fa4a9b-80bd-4ad7-989e-1e5b56893bbc", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "8b7b79fd-2405-4ab6-8f91-4906f663cd1e", - "comment": "", - "command": "click", - "target": "id=/formats/0__option--1", - "targets": [ - ["id=/formats/0__option--1", "id"], - ["css=#\\/formats\\/0__option--1", "css:finder"], - ["xpath=//li[@id='/formats/0__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/formats/0__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"] - ], - "value": "" - }, { - "id": "6d4c2c20-0855-4cdf-8e4d-dbbd6afb328b", - "comment": "", - "command": "click", - "target": "css=.btn-primary", - "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "455e24c1-5093-4da3-a62d-457bbf0cd5db", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "9f7e95cf-4dd5-415f-8577-a6f1bc54a85d", - "comment": "", - "command": "click", - "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", - "targets": [ - ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], - ["xpath=//button[2]", "xpath:position"] - ], - "value": "" - }, { - "id": "afb97ce0-665f-4469-9aad-d17349c491cd", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "4a73b268-7d33-4e8c-8fa4-cb059be9768f", - "comment": "", - "command": "assertText", - "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", - "targets": [ - ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "NameIDFormat" - }, { - "id": "63ac7307-0538-4c0d-8e98-2f05c767baaf", - "comment": "", - "command": "click", - "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", - "targets": [ - ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], - ["xpath=//button[2]/i", "xpath:position"] - ], - "value": "" - }, { - "id": "5037edea-9d8f-496d-aedc-70b8763d5de2", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "ed8e07ff-0dce-47d6-8310-f1920bfe1367", - "comment": "", - "command": "assertText", - "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", - "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'EntityAttributes')]", "xpath:innerText"] + ["css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'LocalDynamicMetadataResolver')]", "xpath:innerText"] ], - "value": "EntityAttributes" + "value": "LocalDynamicMetadataResolver" }, { "id": "3c9a53c4-b56a-4a4b-9fef-12951d198754", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1335-4.side b/backend/src/integration/resources/SHIBUI-1335-4.side index bb7a0d9be..a8c7d3ae6 100644 --- a/backend/src/integration/resources/SHIBUI-1335-4.side +++ b/backend/src/integration/resources/SHIBUI-1335-4.side @@ -41,56 +41,85 @@ "id": "185a1e41-d3a3-4627-aae2-7f05059e9c7d", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "650dbd56-1f7b-4ec9-9400-b32691018e65", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "f6905e37-b515-4578-b931-eae4842bf772", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "e3927a3c-d0b9-47ae-bb81-1d1a80204f4f", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "c65500ae-3b08-4c22-8c88-b4116d6e0c9b", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "c5ec3177-5a66-4901-a644-8c6cfbb99254", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "d093ad38-ab2d-4441-a60b-2c094d6938f9", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field4", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Dynamic Http Metadata Provider" @@ -98,15 +127,15 @@ "id": "aac150b1-6140-476b-8bdb-ebb83a14812d", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=DynamicHttpMetadataProvider" + "value": "label=DynamicHttpMetadataResolver" }, { "id": "7a60cb3c-ed3c-495c-8329-2fe52e72cceb", "comment": "", @@ -121,14 +150,20 @@ "id": "8cbc5dce-126e-4fb6-afcd-9651d9be6ba2", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "c140099c-f6e3-4600-92b3-5b97e07a95ee", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field7", "name"], @@ -141,40 +176,33 @@ "id": "d8716eae-bb36-42ae-b505-2626c5a8c377", "comment": "", "command": "select", - "target": "id=/metadataRequestURLConstructionScheme/type", - "targets": [], - "value": "label=MetadataQueryProtocol" - }, { - "id": "326f3387-12c8-4294-843c-182fd8d06c46", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataRequestURLConstructionScheme_@type", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: MetadataQueryProtocol']", "xpath:attributes"], - ["xpath=//select[@id='/metadataRequestURLConstructionScheme/type']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'MetadataQueryProtocol')]", "xpath:innerText"] + ["id=root_metadataRequestURLConstructionScheme_@type", "id"], + ["css=#root_metadataRequestURLConstructionScheme_\\@type", "css:finder"], + ["xpath=//select[@id='root_metadataRequestURLConstructionScheme_@type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=MetadataQueryProtocol" }, { "id": "516d7e81-3672-4dd7-811b-70ee38c21e52", "comment": "", "command": "click", - "target": "id=/metadataRequestURLConstructionScheme/content", + "target": "id=root_metadataRequestURLConstructionScheme_content", "targets": [ - ["id=/metadataRequestURLConstructionScheme/content", "id"], - ["name=field10", "name"], - ["css=#\\/metadataRequestURLConstructionScheme\\/content", "css:finder"], - ["xpath=//input[@id='/metadataRequestURLConstructionScheme/content']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataRequestURLConstructionScheme_content", "id"], + ["css=#root_metadataRequestURLConstructionScheme_content", "css:finder"], + ["xpath=//input[@id='root_metadataRequestURLConstructionScheme_content']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7b60ce4c-a16c-4bc5-9d9c-999f9fc6b197", "comment": "", "command": "type", - "target": "id=/metadataRequestURLConstructionScheme/content", + "target": "id=root_metadataRequestURLConstructionScheme_content", "targets": [ ["id=/metadataRequestURLConstructionScheme/content", "id"], ["name=field10", "name"], @@ -187,24 +215,26 @@ "id": "cd0d4f15-2193-4814-8e72-f38d9d2221e2", "comment": "", "command": "click", - "target": "id=/requireValidMetadata.false", + "target": "id=root_requireValidMetadata-No", "targets": [ - ["id=/requireValidMetadata.false", "id"], - ["css=#\\/requireValidMetadata\\.false", "css:finder"], - ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_requireValidMetadata-No", "id"], + ["css=#root_requireValidMetadata-No", "css:finder"], + ["xpath=//input[@id='root_requireValidMetadata-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "3b83fa2b-147f-4b7b-9b30-44c28b07576e", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { @@ -221,12 +251,12 @@ "id": "30565900-4c02-4cb0-9d5a-c980349307ea", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field15", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], + ["id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_dynamicMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -234,7 +264,7 @@ "id": "5b6ea5bf-d5c1-4d5e-bc15-ffabf67f74ec", "comment": "", "command": "type", - "target": "id=/dynamicMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_dynamicMetadataResolverAttributes_refreshDelayFactor", "targets": [ ["id=/dynamicMetadataResolverAttributes/refreshDelayFactor", "id"], ["name=field15", "name"], @@ -254,13 +284,12 @@ "id": "a51172e3-792f-4881-8083-efcb34c63e56", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/minCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -274,14 +303,16 @@ "id": "b1ec3405-0d75-45d6-8986-51c2f09c4dc4", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/minCacheDuration__option--1", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "targets": [ - ["id=/dynamicMetadataResolverAttributes/minCacheDuration__option--1", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/minCacheDuration__option--1", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/minCacheDuration__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/minCacheDuration__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_minCacheDuration']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -295,12 +326,12 @@ "id": "2793bf1b-177b-461f-b06c-0a584ab6eaf0", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", + "target": "css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxCacheDuration-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(3) > .col-12 > .form-group .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -314,13 +345,16 @@ "id": "87084a6a-8e89-4c00-a3d9-c104107a3ba2", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--3", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxCacheDuration__option--3", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxCacheDuration__option--3", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxCacheDuration__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxCacheDuration']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { @@ -334,12 +368,12 @@ "id": "4c017bde-e242-4d2f-838e-a2a026e4292b", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", + "target": "css=.row:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[12]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[4]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -353,13 +387,16 @@ "id": "d477fd6a-2c15-4fb6-a199-d49aa495ef94", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-2", "targets": [ - ["id=/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/maxIdleEntityData__option--2", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/maxIdleEntityData__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_maxIdleEntityData']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -373,12 +410,12 @@ "id": "62f7ce3c-5cff-43c6-8ce6-a0e6bf2b2257", "comment": "", "command": "click", - "target": "css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", + "target": "css=.row:nth-child(6) .toggle-button", "targets": [ - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(6) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -392,61 +429,80 @@ "id": "bf855df4-326e-484e-9022-d2c84e09e6f3", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", + "target": "id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", + "targets": [ + ["id=option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_dynamicMetadataResolverAttributes_cleanupTaskInterval']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "44e50478-4b65-420f-8f29-7ecb6c70c856", + "comment": "", + "command": "click", + "target": "id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "targets": [ - ["id=/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/cleanupTaskInterval__option--3", "css:finder"], - ["xpath=//li[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/dynamicMetadataResolverAttributes/cleanupTaskInterval__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "id"], + ["css=#root_dynamicMetadataResolverAttributes_removeIdleEntityData-No", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_removeIdleEntityData-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[5]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "df2a3e70-d7d3-487b-a205-218e9987b060", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", + "target": "id=root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "targets": [ - ["id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", "id"], - ["name=field21", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/persistentCacheManagerDirectory", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "id"], + ["css=#root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b25d9d91-b8f2-46ad-ac79-cbac34fa3f91", "comment": "", "command": "type", - "target": "id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", + "target": "id=root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "targets": [ - ["id=/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory", "id"], - ["name=field21", "name"], - ["css=#\\/dynamicMetadataResolverAttributes\\/persistentCacheManagerDirectory", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/persistentCacheManagerDirectory']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "id"], + ["css=#root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_persistentCacheManagerDirectory']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "%{idp.home}/cache" }, { "id": "5b546b6b-ee98-4852-8ffd-b95f7e68d954", "comment": "", "command": "click", - "target": "id=/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false", + "target": "id=root_dynamicMetadataResolverAttributes_initializeFromPersistentCacheInBackground-No", "targets": [ - ["id=/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false", "id"], - ["css=#\\/dynamicMetadataResolverAttributes\\/initializeFromPersistentCacheInBackground\\.false", "css:finder"], - ["xpath=//input[@id='/dynamicMetadataResolverAttributes/initializeFromPersistentCacheInBackground.false']", "xpath:attributes"], - ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_dynamicMetadataResolverAttributes_initializeFromPersistentCacheInBackground-No", "id"], + ["css=#root_dynamicMetadataResolverAttributes_initializeFromPersistentCacheInBackground-No", "css:finder"], + ["xpath=//input[@id='root_dynamicMetadataResolverAttributes_initializeFromPersistentCacheInBackground-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[8]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "5743cab2-018a-4706-b052-0d26c8e1e963", "comment": "", "command": "click", - "target": "css=.label:nth-child(1)", + "target": "css=.next", "targets": [ - ["css=.label:nth-child(1)", "css:finder"], - ["xpath=//li[3]/button/span", "xpath:position"] + ["css=.next", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/nav/ul/li[3]/button", "xpath:idRelative"], + ["xpath=//li[3]/button", "xpath:position"] ], "value": "" }, { @@ -460,13 +516,12 @@ "id": "b777b343-71a0-4056-a85e-d8d548b993b2", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div/div/div/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -480,95 +535,107 @@ "id": "22f7bf37-718c-4126-867b-67a383eefff5", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-2", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--2", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"], - ["xpath=//li[contains(.,'PT1M')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { "id": "5320f384-0881-4e7a-b89f-33a57efb22ba", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "f60a2a6e-2739-4da6-8e94-a5f0e7cf70de", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "target": "id=root_metadataFilters_1_certificateFile", "targets": [ - ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], - ["name=field30", "name"], - ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], - ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d1402eee-5e5c-4634-ac31-6843ed775bb8", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "target": "id=root_metadataFilters_1_certificateFile", "targets": [ - ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], - ["name=field30", "name"], - ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], - ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "%{idp.home}/cert.key" }, { "id": "581415bb-bd83-4bc8-9417-da0a9781c7bd", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "6e976ed9-98a5-4e5d-8151-13a6c8498155", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], + "target": "id=root_metadataFilters_2_retainedRoles_0", + "targets": [ + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] + ], "value": "label=SPSSODescriptor" }, { - "id": "4c21b4c9-6f8e-4520-b55c-9b945b97de01", + "id": "b027e53b-bdf7-40e5-a296-6f25eae50732", "comment": "", "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { - "id": "b027e53b-bdf7-40e5-a296-6f25eae50732", + "id": "d2495b38-f389-4ce0-a9e3-578266d2dfd1", "comment": "", "command": "click", - "target": "id=/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -585,12 +652,13 @@ "id": "c4d98111-537a-45a1-9bfd-e8d780a0c0b3", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -614,36 +682,41 @@ "id": "8c52471a-70f5-43aa-b670-6f8d22e18668", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'DynamicHttpMetadataResolver')]", "xpath:innerText"] + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'DynamicHttpMetadataResolver')]", "xpath:innerText"] ], "value": "DynamicHttpMetadataResolver" }, { "id": "31a8587f-8ac0-4512-98ec-6cd230dfb0b6", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", + "target": "linkText=Dynamic Http Metadata Provider", "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ["linkText=Dynamic Http Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Dynamic Http Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/91b14905-9e03-4b95-bf19-d4972ded399b/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Dynamic Http Metadata Provider')]", "xpath:innerText"] ], "value": "" }, { "id": "fb7aea4e-7991-482c-b673-de998c20129c", "comment": "", "command": "click", - "target": "css=#filters .actions span", + "target": "linkText=Add Filter", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Add Filter", "linkText"], + ["css=#filters .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/91b14905-9e03-4b95-bf19-d4972ded399b/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" }, { @@ -651,37 +724,37 @@ "comment": "", "command": "select", "target": "name=type", - "targets": [], - "value": "label=EntityAttributes" - }, { - "id": "5d3daf7a-a4e0-4767-a1ef-2416270bfae4", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/div/div/form/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=EntityAttributes" }, { "id": "f013d7b6-96c3-4155-ac1e-cff223e5e547", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "a58e088d-329b-4cfb-949b-eea9fdbdad37", "comment": "", "command": "click", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field39", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -689,12 +762,12 @@ "id": "60177908-3143-407a-8bdf-a045463d5490", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field39", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Entity Attributes Filter" @@ -702,20 +775,19 @@ "id": "67d52837-5e50-487c-a744-9ee0ea39f5b7", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.target", + "target": "css=.rbt-input-main", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] + ["css=.rbt-input-main", "css:finder"], + ["xpath=(//input[@value=''])[2]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "3512eb60-34d4-455b-8a2c-e6c98d382cac", "comment": "", "command": "type", - "target": "id=/entityAttributesFilterTarget.target", + "target": "css=.rbt-input-main", "targets": [ ["id=/entityAttributesFilterTarget.target", "id"], ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], @@ -728,58 +800,78 @@ "id": "a9d49b1c-c794-4c54-83ea-c61bd3011dba", "comment": "", "command": "click", - "target": "css=.btn-success:nth-child(1)", + "target": "css=.btn-success", "targets": [ - ["css=.btn-success:nth-child(1)", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID')]", "xpath:innerText"] + ["css=.btn-success", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add Entity ID  ')]", "xpath:innerText"] ], "value": "" }, { "id": "dff6b5d5-02ae-41a1-bae4-6ce39aeca199", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", + "targets": [ + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" + }, { + "id": "f82a986d-d0e8-433d-8b5c-805e84b76d6e", + "comment": "", + "command": "click", + "target": "css=.nav-link:nth-child(2)", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] ], "value": "" }, { "id": "356339ea-0caf-406a-a2d6-b3eb991b7af6", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=#\\/relyingPartyOverrides\\/omitNotBefore\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/omitNotBefore.parent']/label", "xpath:idRelative"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "fdb64234-9424-4e0d-8be0-dd7c43859de3", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=#\\/relyingPartyOverrides\\/forceAuthn\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/relyingPartyOverrides/forceAuthn.parent']/label", "xpath:idRelative"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "c722da17-b739-4fa6-b731-8b347e3c96e3", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -793,13 +885,12 @@ "id": "93505bd6-8a5e-4ef0-8f50-d2dc9bce71d6", "comment": "", "command": "click", - "target": "css=.input-group-append > .btn", + "target": "css=.toggle-button", "targets": [ - ["css=.input-group-append > .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[20]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -813,58 +904,81 @@ "id": "b269b8f4-8191-47c1-a84a-5b64df6aadcb", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-2", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "f82f3d61-f057-4c8e-96c8-321cc7bb134c", + "comment": "", + "command": "click", + "target": "css=.text-left:nth-child(3)", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[3]", "xpath:position"] + ["css=.text-left:nth-child(3)", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[3]", "xpath:idRelative"], + ["xpath=//button[3]", "xpath:position"], + ["xpath=//button[contains(.,'Attributes')]", "xpath:innerText"] ], "value": "" }, { "id": "c4431fc6-cbd3-4b7b-b1fd-b30141aa2af8", "comment": "", "command": "click", - "target": "css=tr:nth-child(6) .custom-control-label", + "target": "id=root_attributeRelease_6", "targets": [ - ["css=tr:nth-child(6) .custom-control-label", "css:finder"], - ["xpath=//tr[6]/td[2]/fieldset/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Toggle eduPersonAffiliation')]", "xpath:innerText"] + ["id=root_attributeRelease_6", "id"], + ["css=#root_attributeRelease_6", "css:finder"], + ["xpath=//input[@id='root_attributeRelease_6']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/fieldset/table/tbody/tr[7]/td[2]/fieldset/div/div/input", "xpath:idRelative"], + ["xpath=//tr[7]/td[2]/fieldset/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7b22d9b0-81f4-47c6-91f1-713c89cf9dd1", "comment": "", "command": "click", - "target": "css=tr:nth-child(7) .custom-control-label", + "target": "id=root_attributeRelease_7", "targets": [ - ["css=tr:nth-child(7) .custom-control-label", "css:finder"], - ["xpath=//tr[7]/td[2]/fieldset/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Toggle eduPersonScopedAffiliation')]", "xpath:innerText"] + ["id=root_attributeRelease_7", "id"], + ["css=#root_attributeRelease_7", "css:finder"], + ["xpath=//input[@id='root_attributeRelease_7']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/fieldset/table/tbody/tr[8]/td[2]/fieldset/div/div/input", "xpath:idRelative"], + ["xpath=//tr[8]/td[2]/fieldset/div/div/input", "xpath:position"] ], "value": "" }, { "id": "ad3ec36d-6e6a-4650-b7a1-0c8efaaeabe3", "comment": "", "command": "click", - "target": "css=tr:nth-child(8) .custom-control-label", + "target": "id=root_attributeRelease_8", "targets": [ - ["css=tr:nth-child(8) .custom-control-label", "css:finder"], - ["xpath=//tr[8]/td[2]/fieldset/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Toggle eduPersonPrimaryAffiliation')]", "xpath:innerText"] + ["id=root_attributeRelease_8", "id"], + ["css=#root_attributeRelease_8", "css:finder"], + ["xpath=//input[@id='root_attributeRelease_8']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/fieldset/table/tbody/tr[9]/td[2]/fieldset/div/div/input", "xpath:idRelative"], + ["xpath=//tr[9]/td[2]/fieldset/div/div/input", "xpath:position"] ], "value": "" }, { "id": "25090cbb-9e11-4938-b44e-70326857422d", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -872,7 +986,12 @@ "comment": "", "command": "waitForElementVisible", "target": "css=span:nth-child(4)", - "targets": [], + "targets": [ + ["css=span:nth-child(4)", "css:finder"], + ["xpath=//div[@id='filters']/ul/li/div/span[2]", "xpath:idRelative"], + ["xpath=//li/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "e9f4ddf4-db8a-4bda-88cc-66173717986c", @@ -905,30 +1024,24 @@ "comment": "", "command": "select", "target": "name=type", - "targets": [], - "value": "label=NameIDFormat" - }, { - "id": "a0388dc6-4668-48bb-ab21-2ecaaade5ff0", - "comment": "", - "command": "click", - "target": "css=option:nth-child(3)", "targets": [ - ["css=option:nth-child(3)", "css:finder"], - ["xpath=//option[@value='NameIDFormat']", "xpath:attributes"], - ["xpath=//option[3]", "xpath:position"], - ["xpath=//option[contains(.,'NameIDFormat')]", "xpath:innerText"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/div/div/form/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=NameIDFormat" }, { "id": "be76769e-6422-4b1f-a2e4-00a32d394057", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field59", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Name ID Format Filter" @@ -943,13 +1056,14 @@ "id": "81373637-8e36-4736-9b2a-7b8d477dc2c1", "comment": "", "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", + "target": "id=dropdown-", "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-", "id"], + ["css=#dropdown-", "css:finder"], + ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -963,14 +1077,13 @@ "id": "f562c710-39fc-490d-80c9-d3525722397c", "comment": "", "command": "click", - "target": "linkText=Regex", + "target": "css=.show > .dropdown-item:nth-child(2)", "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] ], "value": "" }, { @@ -984,30 +1097,53 @@ "id": "c5dc3e04-eb5a-4885-92ed-3425da3026e6", "comment": "", "command": "sendKeys", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [], + "target": "id=targetInput", + "targets": [ + ["id=targetInput", "id"], + ["name=script", "name"], + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] + ], "value": "/foo.*/" + }, { + "id": "51fb3b80-0f3b-4a54-892f-958f20ddf741", + "comment": "", + "command": "click", + "target": "css=.nav-link:nth-child(2)", + "targets": [ + ["css=.nav-link:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], + ["xpath=//nav/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] + ], + "value": "" }, { "id": "d2cbc813-89e5-4801-a9fe-5e0e775a419f", "comment": "", "command": "click", - "target": "css=#\\/removeExistingFormats\\.parent > .custom-control-label", + "target": "id=root_removeExistingFormats", "targets": [ - ["css=#\\/removeExistingFormats\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/removeExistingFormats.parent']/label", "xpath:idRelative"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Existing Formats?')]", "xpath:innerText"] + ["id=root_removeExistingFormats", "id"], + ["css=#root_removeExistingFormats", "css:finder"], + ["xpath=//input[@id='root_removeExistingFormats']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "77dfeb05-38e3-4ef8-9566-06e7597d464c", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { @@ -1032,7 +1168,7 @@ "id": "6b3ec8f1-8b9a-40f5-816f-3a1e415b9d8d", "comment": "", "command": "pause", - "target": "2000", + "target": "3000", "targets": [], "value": "" }, { @@ -1061,7 +1197,7 @@ "id": "403570ff-e1f0-4db9-925f-f90c5994b60e", "comment": "", "command": "pause", - "target": "2000", + "target": "3000", "targets": [], "value": "" }, { diff --git a/backend/src/integration/resources/SHIBUI-1361.side b/backend/src/integration/resources/SHIBUI-1361.side index 86f1b4bc4..89da8620a 100644 --- a/backend/src/integration/resources/SHIBUI-1361.side +++ b/backend/src/integration/resources/SHIBUI-1361.side @@ -10,9 +10,16 @@ "id": "58401038-5239-4643-b370-d7012a6f9486", "comment": "", "command": "store", - "target": "^[A-Z][a-z]{2} [0-9][0-9]?, [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2}(.*)?$", + "target": "^[A-Z][a-z]{2} [0-9][0-9]?, [0-9]{4}$", "targets": [], "value": "dateRegex" + }, { + "id": "f2d92146-8cf3-4678-a681-cbed4d36871f", + "comment": "", + "command": "store", + "target": "^[A-Z][a-z]{2} [0-9][0-9]?, [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2}(.*)?$", + "targets": [], + "value": "dateTimeRegex" }, { "id": "29bb3186-81c8-4b3e-a9d9-5ff55d225878", "comment": "", @@ -56,40 +63,64 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "554d601e-0128-4f3f-94db-9d8e2b5e5e92", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "aa71a9ac-3050-41c4-a6aa-6dd008938a8b", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "592758cc-3da8-4481-8b73-3489a67d7e47", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "e7a98419-36c7-4b0f-a99d-087144f6a417", "comment": "", "command": "click", - "target": "css=.fa-plus-circle", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=.fa-plus-circle", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/i", "xpath:idRelative"], - ["xpath=//i", "xpath:position"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "74fef022-3979-4bed-9226-b25114514976", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "55a876d6-70b7-46f6-aab1-7efacb79156f", "comment": "", "command": "waitForElementEditable", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field1", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "30000" @@ -97,7 +128,7 @@ "id": "54dc29f7-bbe0-4c2b-a76e-e67a61f57a96", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field1", "name"], @@ -110,12 +141,15 @@ "id": "add874d5-e3b2-4412-8039-2b9d2619ed19", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["css=select-component > .widget", "css:finder"], - ["xpath=//select-component/div", "xpath:position"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "1cc352f4-0d71-4a3e-9399-1d9932816efc", "comment": "", @@ -130,19 +164,25 @@ "id": "79f8f28b-8bcf-464a-850f-eb10552a9390", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "86262eda-4a44-41b0-b7aa-fa46406e2601", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=field7", "id"], - ["name=field7", "name"], - ["css=#field7", "css:finder"], - ["xpath=//input[@id='field7']", "xpath:attributes"], + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "123" @@ -150,38 +190,39 @@ "id": "26cc765d-98c1-414c-97d8-4c7e5c6ab7e2", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=field8", "id"], - ["name=field8", "name"], - ["css=#field8", "css:finder"], - ["xpath=//input[@id='field8']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "https://idp.unicon.net/idp/shibboleth" }, { "id": "f0459917-b2a1-4e3c-8800-25273965129f", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "5b37cf08-77b9-4091-94f9-c0d539c9010d", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field10", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo.txt" }, { @@ -195,11 +236,12 @@ "id": "203d0d3c-d866-422a-8b48-b50181db00e9", "comment": "", "command": "click", - "target": "css=.fa-caret-down", + "target": "css=.toggle-button", "targets": [ - ["css=.fa-caret-down", "css:finder"], - ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div/button/i", "xpath:position"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -213,62 +255,69 @@ "id": "5fc6a348-0533-4d94-bb76-ebb891a0db8f", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--1", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--1", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "bf041d41-5d58-4f69-8fcc-49ec79e5547d", "comment": "", "command": "click", - "target": "id=/requireValidMetadata.false", + "target": "id=root_requireValidMetadata-No", "targets": [ - ["id=/requireValidMetadata.false", "id"], - ["css=#\\/requireValidMetadata\\.false", "css:finder"], - ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_requireValidMetadata-No", "id"], + ["css=#root_requireValidMetadata-No", "css:finder"], + ["xpath=//input[@id='root_requireValidMetadata-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[6]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "fba85c75-e218-4deb-b5e1-888ff75b6a4e", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[7]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "375b8d6e-179b-4f14-8f00-d8a8cad29d7e", "comment": "", "command": "click", - "target": "id=/useDefaultPredicateRegistry.false", + "target": "id=root_useDefaultPredicateRegistry-No", "targets": [ - ["id=/useDefaultPredicateRegistry.false", "id"], - ["css=#\\/useDefaultPredicateRegistry\\.false", "css:finder"], - ["xpath=//input[@id='/useDefaultPredicateRegistry.false']", "xpath:attributes"], - ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_useDefaultPredicateRegistry-No", "id"], + ["css=#root_useDefaultPredicateRegistry-No", "css:finder"], + ["xpath=//input[@id='root_useDefaultPredicateRegistry-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[8]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "8b4bf341-62c0-491f-b775-d2faf55477bc", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.true", + "target": "id=root_satisfyAnyPredicates-Yes", "targets": [ - ["id=/satisfyAnyPredicates.true", "id"], - ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-Yes", "id"], + ["name=root_satisfyAnyPredicates", "name"], + ["css=#root_satisfyAnyPredicates-Yes", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-Yes']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[9]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -292,13 +341,12 @@ "id": "a188bc3e-fd98-4d49-ae35-a0b78a17607c", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -312,14 +360,16 @@ "id": "a159e056-c870-4e02-a7e9-4b3a60d83718", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -333,11 +383,12 @@ "id": "7a72cf6a-c97a-49f6-83d0-cbe42f0fdb7d", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .fa", "css:finder"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -351,26 +402,29 @@ "id": "820397f5-aabb-46f5-a65a-56747ce29091", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--3", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { "id": "b036a851-4ac9-43cb-8686-8e78ed940d72", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "0.5" }, { @@ -384,23 +438,22 @@ ], "value": "" }, { - "id": "0bc204b3-2adb-4446-899b-0665619aaec1", + "id": "f4376824-f72c-40c1-8b78-f1de5d8d9d06", "comment": "", "command": "pause", "target": "500", "targets": [], "value": "" }, { - "id": "232da257-962f-4a4b-8213-038ef90c96c3", + "id": "bb542739-db7f-4386-8d46-3438f7afd4e1", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div/div/div/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -414,114 +467,120 @@ "id": "b8d999f1-0c59-4a9a-9991-91d222f52b8e", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "8af1abb5-2c7a-4a4c-a8f7-0eb287100dde", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "323a2a02-9111-4064-8bb0-a3da34330e54", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", - "targets": [], + "target": "id=root_metadataFilters_1_certificateFile", + "targets": [ + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] + ], "value": "%{idp.home}/foo.txt" }, { "id": "a125e601-f306-441d-9c8c-e97b95817b46", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "74d696db-3f3b-4ff3-a180-34baceb469a2", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], - "value": "label=SPSSODescriptor" - }, { - "id": "532bf2e5-13fc-48d7-b01b-ff16207a554d", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=SPSSODescriptor" }, { "id": "12cf80c9-594c-4c4d-bf26-aa36ba636220", "comment": "", "command": "click", - "target": "css=.fa-plus", + "target": "css=.array-add-button", "targets": [ - ["css=.fa-plus", "css:finder"], - ["xpath=//array-component/div/div/button/i", "xpath:position"] - ], - "value": "" - }, { - "id": "6cb9854b-293b-482d-8c07-4b7c638d79cb", - "comment": "", - "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", - "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", "css:finder"], - ["xpath=(//option[@value=''])[2]", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "f366c86c-1420-4fb7-86c2-82c49d81208d", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", - "targets": [], + "target": "id=root_metadataFilters_2_retainedRoles_1", + "targets": [ + ["id=root_metadataFilters_2_retainedRoles_1", "id"], + ["css=#root_metadataFilters_2_retainedRoles_1", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_1']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/select", "xpath:position"] + ], "value": "label=AttributeAuthorityDescriptor" }, { "id": "5dfac033-ecfd-42e8-aa6f-931d5acd4d89", "comment": "", "command": "click", - "target": "id=/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "9d5934f0-fe10-4539-9d71-80b454fc8612", "comment": "", "command": "click", - "target": "id=/metadataFilters/EntityRoleWhiteList/removeEmptyEntitiesDescriptors", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -538,17 +597,23 @@ "id": "79b96f40-2677-438a-9564-62df0ea2c116", "comment": "", "command": "click", - "target": "css=.custom-control-label", - "targets": [], + "target": "id=root_enabled", + "targets": [ + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "" }, { "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], @@ -557,11 +622,11 @@ "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123')]", "xpath:innerText"] ], "value": "123" @@ -575,64 +640,65 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "5cee98ef-08bf-4eea-940d-9c29ebb241ef", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", "comment": "", "command": "waitForElementPresent", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=.align-middle:nth-child(2)", "targets": [ - ["css=.badge > span", "css:finder"], - ["xpath=//span/span", "xpath:position"] + ["css=.align-middle:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "10000" }, { "id": "f48dd1b5-607a-485b-b1d5-03301f99b9ce", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=.align-middle:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"] + ["css=.align-middle:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "Test Metadata Provider" }, { "id": "5eccd4e9-a451-4ec8-a9e1-1e1f8e771677", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] ], "value": "FileBackedHttpMetadataResolver" }, { "id": "c768c2c1-09d4-46fe-8007-42fb4b3f4aaa", "comment": "", "command": "assertText", - "target": "css=.author", + "target": "css=.align-middle:nth-child(4)", "targets": [ - ["css=.author", "css:finder"], - ["xpath=//div[@id='header']/metadata-header/div/div/h5/span[2]", "xpath:idRelative"], - ["xpath=//span[2]", "xpath:position"], - ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] + ["css=.align-middle:nth-child(4)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[4]", "xpath:idRelative"], + ["xpath=//td[4]", "xpath:position"], + ["xpath=//td[contains(.,'admin')]", "xpath:innerText"] ], "value": "admin" }, { "id": "fe1e9381-048e-4948-8a9a-f58d8afba258", "comment": "", "command": "storeText", - "target": "css=.save-date", - "targets": [], + "target": "css=.align-middle:nth-child(5)", + "targets": [ + ["css=.align-middle:nth-child(5)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[5]", "xpath:idRelative"], + ["xpath=//td[5]", "xpath:position"], + ["xpath=//td[contains(.,'Jun 22, 2021')]", "xpath:innerText"] + ], "value": "saveDate" }, { "id": "a7b73d1f-87bb-4364-944a-5097f981b8c9", @@ -648,43 +714,65 @@ "target": "isDate", "targets": [], "value": "true" + }, { + "id": "748bf353-6658-4c78-a497-d37a160e5a09", + "comment": "", + "command": "click", + "target": "linkText=Test Metadata Provider", + "targets": [ + ["linkText=Test Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/c0c833ef-663f-474b-8c24-27d52dc2acbd/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ], + "value": "" }, { "id": "67578648-0800-4716-8c0c-27741770249a", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { "id": "6a917493-6dfa-4126-ba9b-207f9c670867", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/input", "xpath:position"] + ], "value": "10000" }, { - "id": "0aae114c-3e79-4d57-8f40-e669887a8545", + "id": "875232f2-bfa0-41f8-8de1-b2cc72373373", "comment": "", - "command": "pause", - "target": "2000", + "command": "type", + "target": "id=root_xmlId", "targets": [], "value": "" }, { "id": "7d641e58-47ce-4d20-908c-e0002ff73cfa", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=/xmlId", "id"], - ["name=field38", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/input", "xpath:position"] ], "value": "123 v2" }, { @@ -698,12 +786,13 @@ "id": "247b04c1-e690-42bc-ae15-dfbedb44d2e9", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.false", + "target": "id=root_satisfyAnyPredicates-No", "targets": [ - ["id=/satisfyAnyPredicates.false", "id"], - ["css=#\\/satisfyAnyPredicates\\.false", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.false']", "xpath:attributes"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-No", "id"], + ["css=#root_satisfyAnyPredicates-No", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div[9]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { @@ -727,20 +816,29 @@ }, { "id": "7e42b8b2-cc31-4fb5-bcf8-77d8068e2e04", "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "linkText=Version History", + "targets": [ + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/c0c833ef-663f-474b-8c24-27d52dc2acbd/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] + ], + "value": "30000" }, { "id": "ea880e6a-498a-427a-bc08-8058137d62e0", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/c0c833ef-663f-474b-8c24-27d52dc2acbd/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -754,13 +852,6 @@ ["xpath=//button[contains(.,'  Restore')]", "xpath:innerText"] ], "value": "10000" - }, { - "id": "271939a6-6196-4c14-aa13-e6c31e0373c2", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" }, { "id": "c223e329-733c-41eb-9e85-c6f69a840179", "comment": "", @@ -797,36 +888,58 @@ "id": "ce328b6a-f6ee-45e9-975c-5a5608f373dc", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123 v2')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "68103f0e-e3f1-419b-903d-5d8c30bc6700", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123 v2')]", "xpath:innerText"] + ], "value": "123 v2" }, { "id": "a13198b9-7827-47e2-ade3-143b981d34ee", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", - "targets": [], + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[3]", "xpath:position"] + ], "value": "123" }, { "id": "3d83741c-299e-4fcb-9ce6-4b7291c423a4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(12) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(12) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[12]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[12]/div/span[2]", "xpath:position"] + ], "value": "false" }, { "id": "190cc157-d427-4046-aff2-180392395ad3", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", - "targets": [], + "target": "css=div:nth-child(12) > .bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(12) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[12]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[12]/div/span[3]", "xpath:position"] + ], "value": "true" }, { "id": "f6897c4f-763f-4360-95a2-1d144455fa17", @@ -872,11 +985,12 @@ "id": "c9341f6f-4d13-4378-bb5c-0079e7535008", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(4) .actions span", + "target": "css=.mb-4:nth-child(6) .edit-link", "targets": [ - ["css=.mb-4:nth-child(4) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[4]/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//section[4]/div/div/div/button/span", "xpath:position"] + ["css=.mb-4:nth-child(6) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div/div/button", "xpath:idRelative"], + ["xpath=//section[4]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -890,11 +1004,13 @@ "id": "1cde012c-d521-4fd5-a7d5-7a680bba0e7b", "comment": "", "command": "click", - "target": "css=.slider", + "target": "id=custom-switch", "targets": [ - ["css=.slider", "css:finder"], - ["xpath=//toggle-switch[@id='toggle']/label/span", "xpath:idRelative"], - ["xpath=//label/span", "xpath:position"] + ["id=custom-switch", "id"], + ["css=#custom-switch", "css:finder"], + ["xpath=//input[@id='custom-switch']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -908,13 +1024,12 @@ "id": "d00ecf98-7425-467c-acbb-3b39918e3462", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout-container .btn", + "target": "css=.form-group:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/connectionRequestTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.form-group:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -928,14 +1043,16 @@ "id": "8ba62572-354d-47f4-bb72-f9309c1cb201", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/connectionRequestTimeout__option--1", + "target": "id=option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "targets": [ - ["id=/httpMetadataResolverAttributes/connectionRequestTimeout__option--1", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout__option--1", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/connectionRequestTimeout__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/connectionRequestTimeout__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -949,12 +1066,12 @@ "id": "d7406190-0bb0-4df8-9c0b-7e393952b6a2", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/connectionTimeout-container .btn", + "target": "css=.form-group:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/connectionTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/connectionTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.form-group:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -968,13 +1085,16 @@ "id": "337ac160-7990-425f-83da-2788d8a0985e", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/connectionTimeout__option--2", + "target": "id=option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "targets": [ - ["id=/httpMetadataResolverAttributes/connectionTimeout__option--2", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/connectionTimeout__option--2", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/connectionTimeout__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/connectionTimeout__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_connectionTimeout']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -988,12 +1108,12 @@ "id": "19182110-0f86-4601-ae12-0b90967ef68a", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/socketTimeout-container .btn", + "target": "css=.form-group:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/socketTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/socketTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.form-group:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[3]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1007,13 +1127,16 @@ "id": "34693225-4754-4b27-92ee-3e37304a8cd7", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/socketTimeout__option--3", + "target": "id=option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "targets": [ - ["id=/httpMetadataResolverAttributes/socketTimeout__option--3", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/socketTimeout__option--3", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/socketTimeout__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/socketTimeout__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_socketTimeout']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { @@ -1031,37 +1154,28 @@ "id": "4e2831c6-d1ba-409d-a0cc-7a25dad75421", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "linkText=Version History", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/c0c833ef-663f-474b-8c24-27d52dc2acbd/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "10000" - }, { - "id": "8868c054-2e6a-403e-ba2b-499a56730d71", - "comment": "", - "command": "click", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", - "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/eb0ee617-33e2-4a31-83a5-7c42515c3b4f/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "0092cd5c-a885-4a48-a233-b3af447b02bc", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/c0c833ef-663f-474b-8c24-27d52dc2acbd/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1093,7 +1207,7 @@ "id": "910d8bf9-4875-4946-9ab8-0d3a9b13f020", "comment": "", "command": "executeScript", - "target": "return RegExp(${dateRegex}).test(${saveDate});", + "target": "return RegExp(${dateTimeRegex}).test(${saveDate});", "targets": [], "value": "isDate" }, { @@ -1121,7 +1235,7 @@ "id": "a370624e-a6d6-43d7-a74a-eeb8c577fc06", "comment": "", "command": "executeScript", - "target": "return RegExp(${dateRegex}).test(${saveDate});", + "target": "return RegExp(${dateTimeRegex}).test(${saveDate});", "targets": [], "value": "isDate" }, { @@ -1146,7 +1260,7 @@ "id": "4b305857-0369-4fad-821c-c944e9801395", "comment": "", "command": "executeScript", - "target": "return RegExp(${dateRegex}).test(${saveDate});", + "target": "return RegExp(${dateTimeRegex}).test(${saveDate});", "targets": [], "value": "isDate" }, { @@ -1199,53 +1313,74 @@ "id": "9f1380c3-2b99-4b7d-90b7-f20d4fe431d3", "comment": "", "command": "waitForElementVisible", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(2) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"] + ], "value": "10000" }, { "id": "8a2c6435-d77b-4c87-8e0e-e1ae6d4629b9", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(2) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"] + ], "value": "PT30S" }, { "id": "0687fe3f-c1af-4a5a-9708-09b7b92734bc", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(3) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(1) > div:nth-child(4) > .d-flex > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(1) > div:nth-child(4) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div[4]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] + ], "value": "PT1M" }, { "id": "a007794f-ab91-47b8-b470-e4294e47a2a7", "comment": "", "command": "assertText", - "target": "css=object-property:nth-child(1) > primitive-property:nth-child(4) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(5) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(5) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[5]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div[5]/div/span[2]", "xpath:position"] + ], "value": "PT10M" }, { "id": "5279bf64-46c1-4376-a527-e19e217b42fa", "comment": "", "command": "assertText", - "target": "css=object-property:nth-child(1) > primitive-property:nth-child(5) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:position"] + ], "value": "false" }, { "id": "cc2f6596-d135-48ef-abab-8f2c4bf44a2c", "comment": "", "command": "storeText", - "target": "css=.mb-4:nth-child(1) strong:nth-child(2) > span", + "target": "css=.mb-4:nth-child(5) strong:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(1) strong:nth-child(2) > span", "css:finder"], - ["xpath=//strong[2]/span", "xpath:position"], - ["xpath=//span[contains(.,'Aug 08, 2019 16:10:01')]", "xpath:innerText"] + ["css=.mb-4:nth-child(5) strong:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div/strong[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div/strong[2]", "xpath:position"] ], "value": "leftDate" }, { "id": "c1fda79e-9fa9-4969-92f5-83f9f54b9d3d", "comment": "", "command": "executeScript", - "target": "return RegExp(${dateRegex}).test(${leftDate});", + "target": "return RegExp(${dateTimeRegex}).test(${leftDate});", "targets": [], "value": "leftDateIsDate" }, { @@ -1259,18 +1394,18 @@ "id": "a55513b6-d1dd-4036-9b99-4d03e845d65a", "comment": "", "command": "storeText", - "target": "css=.mb-4:nth-child(1) strong:nth-child(3) > span", + "target": "css=.mb-4:nth-child(5) strong:nth-child(3)", "targets": [ - ["css=.mb-4:nth-child(1) strong:nth-child(3) > span", "css:finder"], - ["xpath=//strong[3]/span", "xpath:position"], - ["xpath=//span[contains(.,'Aug 08, 2019 16:09:55')]", "xpath:innerText"] + ["css=.mb-4:nth-child(5) strong:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div/strong[3]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div/strong[3]", "xpath:position"] ], "value": "rightDate" }, { "id": "dd3a52a4-de8b-4c25-a6e7-81b7ee9f8149", "comment": "", "command": "executeScript", - "target": "return RegExp(${dateRegex}).test(${rightDate});", + "target": "return RegExp(${dateTimeRegex}).test(${rightDate});", "targets": [], "value": "rightDateIsDate" }, { diff --git a/backend/src/integration/resources/SHIBUI-1364-2.side b/backend/src/integration/resources/SHIBUI-1364-2.side index a36fbf058..a0def58fd 100644 --- a/backend/src/integration/resources/SHIBUI-1364-2.side +++ b/backend/src/integration/resources/SHIBUI-1364-2.side @@ -49,6 +49,27 @@ ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "b7783883-d1ad-41c9-a776-361f83e3209f", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "4e044398-c6b1-4899-9ba1-1f9fd57ca434", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "8bc2c7e8-ad9b-4cf4-9dd5-87e4f0225cc3", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", "comment": "", @@ -339,599 +360,6 @@ ["xpath=//a[contains(.,'Filesystem Metadata Provider')]", "xpath:innerText"] ], "value": "" - }, { - "id": "b7312cb1-744c-429f-a6fa-58635f7a1fea", - "comment": "", - "command": "click", - "target": "linkText=Add Filter", - "targets": [ - ["linkText=Add Filter", "linkText"], - ["css=#filters .btn", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '/metadata/provider/e0822374-6322-4f89-be89-8342b633832a/filter/new')]", "xpath:href"], - ["xpath=//div[3]/div/div/a", "xpath:position"], - ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "2ba34b77-bac1-48f4-b2ef-c3a4f93e9b51", - "comment": "", - "command": "select", - "target": "name=type", - "targets": [], - "value": "label=EntityAttributes" - }, { - "id": "73f3151e-9a9f-4f6c-b3d4-93560b3e42bb", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", - "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "a8ee94c0-d4f2-47f1-974e-09308193e6dd", - "comment": "", - "command": "waitForElementVisible", - "target": "id=root_name", - "targets": [ - ["id=root_name", "id"], - ["css=#root_name", "css:finder"], - ["xpath=//input[@id='root_name']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//input", "xpath:position"] - ], - "value": "10000" - }, { - "id": "3edb4fc7-f24c-440b-8403-974304f0b4ac", - "comment": "", - "command": "type", - "target": "id=root_name", - "targets": [ - ["id=/name", "id"], - ["name=field18", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "Entity Attributes" - }, { - "id": "36dac228-9203-4f2e-a623-db41ef8c019f", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" - }, { - "id": "f2c07797-07f6-4325-8c5f-57a676dc982c", - "comment": "", - "command": "click", - "target": "id=dropdown-label.filter-target-type", - "targets": [ - ["id=dropdown-label.filter-target-type", "id"], - ["css=#dropdown-label\\.filter-target-type", "css:finder"], - ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "1c424cfa-8201-40df-b8ed-ddec065dfd66", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" - }, { - "id": "bca61e15-7c13-4007-8c90-1a667bbef67d", - "comment": "", - "command": "click", - "target": "css=.show > .dropdown-item:nth-child(2)", - "targets": [ - ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], - ["xpath=(//button[@type='button'])[16]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], - ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], - ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "98f6eea0-36ff-449c-b042-98b87f0d3a70", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" - }, { - "id": "e0c65de5-d74a-4d87-aca0-9e9f4b37fb36", - "comment": "", - "command": "click", - "target": "id=targetInput", - "targets": [ - ["id=targetInput", "id"], - ["name=script", "name"], - ["css=#targetInput", "css:finder"], - ["xpath=//input[@id='targetInput']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], - ["xpath=//div[2]/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "70a43e87-7180-4761-8f64-d69c7c7557e5", - "comment": "", - "command": "sendKeys", - "target": "id=targetInput", - "targets": [], - "value": "/foo.*/" - }, { - "id": "ce3cf65a-40bd-43fe-beb7-dc3e1d79927b", - "comment": "", - "command": "click", - "target": "id=root_filterEnabled", - "targets": [ - ["id=root_filterEnabled", "id"], - ["css=#root_filterEnabled", "css:finder"], - ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "022802a1-5509-4f0b-a2ab-639bb5eeba2f", - "comment": "", - "command": "click", - "target": "css=.nav-link:nth-child(2)", - "targets": [ - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], - ["xpath=//nav/button[2]", "xpath:position"], - ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "2eea7d5e-e992-4c85-94da-4537e4863228", - "comment": "", - "command": "click", - "target": "id=root_relyingPartyOverrides_signAssertion", - "targets": [ - ["id=root_relyingPartyOverrides_signAssertion", "id"], - ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], - ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//input", "xpath:position"] - ], - "value": "" - }, { - "id": "f34181b8-eac5-4ce7-8776-0f87cf938503", - "comment": "", - "command": "click", - "target": "id=root_relyingPartyOverrides_dontSignResponse", - "targets": [ - ["id=root_relyingPartyOverrides_dontSignResponse", "id"], - ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], - ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "06699eac-9dcc-46ea-a520-bd8117deab97", - "comment": "", - "command": "click", - "target": "id=root_relyingPartyOverrides_turnOffEncryption", - "targets": [ - ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], - ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], - ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "891515dc-c75b-45f7-b33e-05760891e9aa", - "comment": "", - "command": "click", - "target": "id=root_relyingPartyOverrides_forceAuthn", - "targets": [ - ["id=root_relyingPartyOverrides_forceAuthn", "id"], - ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], - ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "04e7dc28-290a-49a3-a65f-fcd6a30e0cb0", - "comment": "", - "command": "click", - "target": "css=.text-left:nth-child(3)", - "targets": [ - ["css=.text-left:nth-child(3)", "css:finder"], - ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[3]", "xpath:idRelative"], - ["xpath=//button[3]", "xpath:position"], - ["xpath=//button[contains(.,'Attributes')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "1c315922-1f5a-43a5-97fd-1767f3392471", - "comment": "", - "command": "click", - "target": "id=root_attributeRelease_4", - "targets": [ - ["id=root_attributeRelease_4", "id"], - ["css=#root_attributeRelease_4", "css:finder"], - ["xpath=//input[@id='root_attributeRelease_4']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/fieldset/table/tbody/tr[5]/td[2]/fieldset/div/div/input", "xpath:idRelative"], - ["xpath=//tr[5]/td[2]/fieldset/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "9569fc2c-5b8d-4724-bf1c-5a2a9af253bd", - "comment": "", - "command": "click", - "target": "id=root_attributeRelease_8", - "targets": [ - ["id=root_attributeRelease_8", "id"], - ["css=#root_attributeRelease_8", "css:finder"], - ["xpath=//input[@id='root_attributeRelease_8']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/fieldset/table/tbody/tr[9]/td[2]/fieldset/div/div/input", "xpath:idRelative"], - ["xpath=//tr[9]/td[2]/fieldset/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "f2cfdab4-af65-45b5-b62a-56935ae15637", - "comment": "", - "command": "click", - "target": "css=.btn-info", - "targets": [ - ["css=.btn-info", "css:finder"], - ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], - ["xpath=//div[2]/div/button", "xpath:position"], - ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "86d92dcf-e856-4578-8a0d-25b4121ad69e", - "comment": "", - "command": "waitForElementVisible", - "target": "linkText=Add Filter", - "targets": [ - ["linkText=Add Filter", "linkText"], - ["css=.btn-success", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/45943457-0dd0-486b-b111-19ae6dd6896c/filter/new')]", "xpath:href"], - ["xpath=//div[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] - ], - "value": "10000" - }, { - "id": "bc3e5810-89fb-42de-92da-e9336b29ebd3", - "comment": "", - "command": "click", - "target": "linkText=Add Filter", - "targets": [ - ["linkText=Add Filter", "linkText"], - ["css=.btn-success", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/dbc814ac-890b-4f11-b3e0-3a2d667fa5cd/filter/new')]", "xpath:href"], - ["xpath=//div[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "eab53a0d-32e6-4cb1-844b-d5fae8106820", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "094ce013-936c-4479-9c5b-ba26db4d05c9", - "comment": "", - "command": "waitForElementVisible", - "target": "name=type", - "targets": [ - ["name=type", "name"], - ["css=.form-control", "css:finder"], - ["xpath=//select[@name='type']", "xpath:attributes"], - ["xpath=//select", "xpath:position"] - ], - "value": "10000" - }, { - "id": "f6d537b3-74ab-430f-9688-b7c90516cfc0", - "comment": "", - "command": "select", - "target": "name=type", - "targets": [], - "value": "label=NameIDFormat" - }, { - "id": "85556730-f474-42bd-8c04-2620c8814202", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "471c00e2-52d8-4cf7-a071-00b50c98bf9e", - "comment": "", - "command": "waitForElementVisible", - "target": "id=root_name", - "targets": [ - ["id=root_name", "id"], - ["css=#root_name", "css:finder"], - ["xpath=//input[@id='root_name']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//input", "xpath:position"] - ], - "value": "10000" - }, { - "id": "8b0dfae1-5e58-4943-ae62-cad5d32ea203", - "comment": "", - "command": "type", - "target": "id=root_name", - "targets": [ - ["id=/name", "id"], - ["name=field37", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "Name ID Filter" - }, { - "id": "ec49b089-a390-4cff-904f-363d3a57cb76", - "comment": "", - "command": "click", - "target": "id=dropdown-", - "targets": [ - ["id=dropdown-", "id"], - ["css=#dropdown-", "css:finder"], - ["xpath=//button[@id='dropdown-']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "56abaabc-0c96-428c-9070-62a79ba90c6c", - "comment": "", - "command": "click", - "target": "css=.show > .dropdown-item:nth-child(1)", - "targets": [ - ["css=.show > .dropdown-item:nth-child(1)", "css:finder"], - ["xpath=(//button[@type='button'])[14]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//fieldset/div/div/div/div/div/button", "xpath:position"] - ], - "value": "" - }, { - "id": "3f8bc2f3-ee80-410f-aa5d-33aea08bf991", - "comment": "", - "command": "type", - "target": "css=.rbt-input-main", - "targets": [ - ["css=.rbt-input-main", "css:finder"], - ["xpath=(//input[@value=''])[2]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] - ], - "value": "unicon" - }, { - "id": "7129e60b-fecc-436f-b055-0f377ade83f8", - "comment": "", - "command": "click", - "target": "css=.btn-success", - "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=(//button[@type='button'])[19]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div[2]/button", "xpath:idRelative"], - ["xpath=//div[2]/div/div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID  ')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "93a29942-d580-412b-b151-9961fd1495d0", - "comment": "", - "command": "click", - "target": "id=root_filterEnabled", - "targets": [ - ["id=root_filterEnabled", "id"], - ["css=#root_filterEnabled", "css:finder"], - ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "c0ab05f8-13f7-4e4a-bf02-2118629eca43", - "comment": "", - "command": "click", - "target": "css=.nav-link:nth-child(2)", - "targets": [ - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], - ["xpath=//nav/button[2]", "xpath:position"], - ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "f0b7296b-004d-445e-9ebd-6bbd9052b30f", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "028122a4-7a5c-4ee9-afb9-5f7d491cc9bd", - "comment": "", - "command": "click", - "target": "css=.array-add-button", - "targets": [ - ["css=.array-add-button", "css:finder"], - ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "e3c2c21f-408c-48f2-a2dd-9241123f0ead", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "ec3cdf6e-0fc8-49b1-a7c4-1a7db14729a3", - "comment": "", - "command": "click", - "target": "css=.toggle-button", - "targets": [ - ["css=.toggle-button", "css:finder"], - ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] - ], - "value": "" - }, { - "id": "e50612f4-b0e4-4749-99ec-5c67e66cd398", - "comment": "", - "command": "click", - "target": "id=option-selector-root_formats_0-item-1", - "targets": [ - ["id=option-selector-root_formats_0-item-1", "id"], - ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], - ["css=#option-selector-root_formats_0-item-1", "css:finder"], - ["xpath=//a[@id='option-selector-root_formats_0-item-1']", "xpath:attributes"], - ["xpath=//div[@id='option-selector-root_formats_0']/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div[2]/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "952930b1-160e-42cd-9be5-c44f397a1451", - "comment": "", - "command": "click", - "target": "css=.btn-info", - "targets": [ - ["css=.btn-info", "css:finder"], - ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], - ["xpath=//div[2]/div/button", "xpath:position"], - ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "eca1d3dd-9e47-49d2-b4a1-a45c2b6c8c3a", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "d722902b-5c10-45dc-99df-d96f46e78313", - "comment": "", - "command": "assertText", - "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", - "targets": [ - ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "EntityAttributes" - }, { - "id": "c8d9bc5a-4b7e-4178-8aba-8b8280506c20", - "comment": "", - "command": "click", - "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", - "targets": [ - ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], - ["xpath=//button[2]", "xpath:position"] - ], - "value": "" - }, { - "id": "d25400e1-127e-4b8c-b7e2-ade937cfd5a0", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "d7909094-96ce-4532-98b4-446cc013c9c8", - "comment": "", - "command": "assertText", - "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", - "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'NameIDFormat')]", "xpath:innerText"] - ], - "value": "NameIDFormat" - }, { - "id": "d49c5a8e-35f3-4498-a53b-2b03fcc79552", - "comment": "", - "command": "click", - "target": "linkText=Dashboard", - "targets": [ - ["linkText=Dashboard", "linkText"], - ["css=.nav-link:nth-child(3)", "css:finder"], - ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], - ["xpath=//div[@id='basic-navbar-nav']/div/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], - ["xpath=//nav/div/div/a", "xpath:position"], - ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "fc58a8d5-f526-4a7c-8475-dbfbeae5cec4", - "comment": "", - "command": "click", - "target": "linkText=Metadata Providers", - "targets": [ - ["linkText=Metadata Providers", "linkText"], - ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], - ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], - ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], - ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "fbdf6b10-dd49-402c-8a2f-c8b837505b05", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "1d36be5e-e705-4528-bd80-ae3566cb9b6a", - "comment": "", - "command": "click", - "target": "linkText=Filesystem Metadata Provider", - "targets": [ - ["linkText=Filesystem Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Filesystem Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/c90805c1-6468-4164-b9f1-fad547d31232/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Filesystem Metadata Provider')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "465f12fa-e547-4a1b-bea7-7998efca7f85", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "73335934-98c5-4427-9e05-13ddc7f00432", "comment": "", @@ -985,6 +413,13 @@ "target": "id=root_xmlId", "targets": [], "value": "" + }, { + "id": "b4d5835a-f830-46b7-9b0b-039fc1ca86f3", + "comment": "", + "command": "type", + "target": "id=root_xmlId", + "targets": [], + "value": "" }, { "id": "9d0539c7-e34c-4229-bbcf-d2c9fd499db4", "comment": "", @@ -1033,105 +468,27 @@ "id": "23281755-0ef4-404d-bf3f-626bcc495710", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(3) .text-truncate", + "target": "css=div:nth-child(2) > div:nth-child(3) .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(3) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[3]/div/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[3]/div/div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(3) .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[3]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123456')]", "xpath:innerText"] ], "value": "123456" - }, { - "id": "39bf8d48-8a95-42fa-8e9e-fe76584f05d1", - "comment": "", - "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", - "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "642991a1-3ab6-4941-a524-62b9d6307cd1", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "c7163d8a-e960-4156-a41c-7d1ce46ad815", - "comment": "", - "command": "click", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", - "targets": [ - ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Name ID Filter')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "75e9b3fa-b677-4a8d-8175-cbb76c59beb5", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "b24c91ba-4b08-4467-abef-8b5a9f02da8f", - "comment": "", - "command": "click", - "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", - "targets": [ - ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "ea24e7e6-4580-4875-b56f-f965765b4c86", - "comment": "", - "command": "type", - "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field68", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] - ], - "value": "Name ID Filter V2" - }, { - "id": "094f38d5-ed9f-4d23-9ad2-c25c0c8befc0", - "comment": "", - "command": "click", - "target": "css=.btn-primary > translate-i18n", - "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//div[2]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "4ff30289-7e28-4402-bc9d-df75864fed75", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "3b5e6867-ef70-4e49-9a47-f560c76b7959", "comment": "", "command": "click", - "target": "css=.nav-item translate-i18n", + "target": "linkText=Dashboard", "targets": [ - ["css=.nav-item translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] + ["linkText=Dashboard", "linkText"], + ["css=.nav-link:nth-child(3)", "css:finder"], + ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//nav/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] ], "value": "" }, { @@ -1187,12 +544,14 @@ "id": "d1645987-c4a3-473a-b830-48559708d23a", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/bc5546b8-ca7f-46ed-b0f8-0cc41deeb48b/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1227,69 +586,96 @@ "id": "00c205c8-aa6d-4627-b063-ea8f8a02c7e9", "comment": "", "command": "click", - "target": "css=.btn-primary > translate-i18n", + "target": "css=.btn-primary", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//history-list/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ["css=.btn-primary", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] ], "value": "" }, { - "id": "c5f5881d-c6e3-4392-a1c1-6889b4b548b8", + "id": "d0daca95-3b1b-4bb9-9479-354fe1772b3d", "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "30000" }, { - "id": "78d01216-5d2b-4067-a830-95eae9356738", + "id": "b7a0200a-a5d2-45a4-85f0-f296bdcf6f19", "comment": "", - "command": "click", - "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", + "command": "assertText", + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], - ["xpath=//div[2]/div/button/i", "xpath:position"] + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], - "value": "" + "value": "Filesystem Metadata Provider V2" }, { - "id": "2cd5f1b5-f20d-44b9-b9aa-bd9079766088", + "id": "5949a120-cb3d-4511-b984-15cbca2d9479", "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] + ], + "value": "30000" + }, { + "id": "21107eab-53b5-49ad-8206-ed759b545253", + "comment": "", + "command": "assertText", + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] + ], + "value": "Filesystem Metadata Provider" }, { - "id": "dd7b9b74-ebf1-45b8-a91a-627f06f83996", + "id": "3f6d78dc-bddd-4b59-a39b-1b2f303c380d", "comment": "", "command": "click", - "target": "css=.btn-primary > translate-i18n", + "target": "id=toggleLimited", "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//div[3]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] + ["id=toggleLimited", "id"], + ["name=toggleLimited", "name"], + ["css=#toggleLimited", "css:finder"], + ["xpath=//input[@id='toggleLimited']", "xpath:attributes"], + ["xpath=//div[@id='navigation']/div[2]/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { - "id": "08c5c802-f699-4eca-a727-8130db305f43", + "id": "6cb2ac52-6f75-4de3-9fad-4b077af33e4b", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'Name ID Filter V2')]", "xpath:innerText"] + ["css=div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123456')]", "xpath:innerText"] ], - "value": "Name ID Filter V2" + "value": "123456" }, { - "id": "974ef62f-ae68-4c32-b439-b4ca8666aaa5", + "id": "3ba534bc-308f-4844-b8bf-a18f3ef61ea6", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .d-block:nth-child(3)", + "target": "css=div:nth-child(2) > .d-flex > .d-block:nth-child(3)", "targets": [ - ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] + ["css=div:nth-child(2) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[3]", "xpath:position"] ], - "value": "Name ID Filter" + "value": "12345" }, { "id": "5a4e74b2-fe33-462a-9739-37b2ffb099f0", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1364-3.side b/backend/src/integration/resources/SHIBUI-1364-3.side index b5ba454f3..01d0ab58b 100644 --- a/backend/src/integration/resources/SHIBUI-1364-3.side +++ b/backend/src/integration/resources/SHIBUI-1364-3.side @@ -49,6 +49,27 @@ ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "d16b90c9-d127-49d1-bf8b-8b83731ba1a5", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "ea082b0b-1208-4dc5-b0a8-0a8591ddf9f5", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "d71bf880-6a80-4cce-bcdd-ecc34e86cea8", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "94e01321-ac2d-427f-89a5-7f816cea0f00", "comment": "", @@ -417,1087 +438,264 @@ ], "value": "" }, { - "id": "2afa209b-d09b-468e-8cc3-d549abb3be4a", + "id": "45fe6404-6af7-4be0-8f21-2dcf378d0060", "comment": "", "command": "click", - "target": "linkText=Add Filter", + "target": "linkText=Dashboard", "targets": [ - ["linkText=Add Filter", "linkText"], - ["css=#filters .btn", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '/metadata/provider/2895bcd1-615c-4fa7-9e47-e2c2284014dd/filter/new')]", "xpath:href"], - ["xpath=//div[3]/div/div/a", "xpath:position"], - ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] + ["linkText=Dashboard", "linkText"], + ["css=.nav-link:nth-child(3)", "css:finder"], + ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//nav/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] ], "value": "" }, { - "id": "c4e0394c-ba68-4e75-8d20-174a91fad2f5", + "id": "beb584cd-c6a8-440e-bf38-b5bd2be71e9e", "comment": "", - "command": "select", - "target": "name=type", + "command": "click", + "target": "linkText=Metadata Providers", "targets": [ - ["name=type", "name"], - ["css=.custom-select", "css:finder"], - ["xpath=//select[@name='type']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/div/div/form/div/select", "xpath:idRelative"], - ["xpath=//select", "xpath:position"] + ["linkText=Metadata Providers", "linkText"], + ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], + ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], + ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] ], - "value": "label=EntityAttributes" + "value": "" }, { - "id": "5f1229fb-9185-40cf-bd65-76435d93d7df", + "id": "29e8f9ac-e02f-46e1-9765-5d7003e37f26", "comment": "", - "command": "//click", - "target": "css=option:nth-child(2)", + "command": "pause", + "target": "2000", "targets": [], "value": "" }, { - "id": "03f838cb-2aea-40fa-b549-8263aa2046cf", + "id": "7c1fbdb4-1739-4b5b-86b9-231884a81e71", "comment": "", "command": "click", - "target": "id=root_name", + "target": "linkText=Local Dynamic Metadata Provider", "targets": [ - ["id=root_name", "id"], - ["css=#root_name", "css:finder"], - ["xpath=//input[@id='root_name']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//input", "xpath:position"] + ["linkText=Local Dynamic Metadata Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Local Dynamic Metadata Provider')]", "xpath:link"], + ["xpath=//a[contains(@href, '/metadata/provider/b76c6aaf-4b5b-464b-8aa6-98d1125989b8/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Local Dynamic Metadata Provider')]", "xpath:innerText"] ], "value": "" }, { - "id": "ad127dfe-2cae-4693-b65f-e35c0655e9eb", - "comment": "", - "command": "type", - "target": "id=root_name", - "targets": [ - ["id=/name", "id"], - ["name=field20", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "Entity Attributes Filter" - }, { - "id": "0065c161-84c6-4cd0-8b69-b257ec572915", + "id": "329a0f30-2aca-4a4b-8b6b-5ba61d73427b", "comment": "", - "command": "click", - "target": "css=.rbt-input-main", - "targets": [ - ["css=.rbt-input-main", "css:finder"], - ["xpath=(//input[@value=''])[2]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] - ], + "command": "pause", + "target": "2000", + "targets": [], "value": "" }, { - "id": "15d90ee0-b1cc-4fae-abec-ae80d93db1c1", - "comment": "", - "command": "type", - "target": "css=.rbt-input-main", - "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div[@id='-container']/div/input", "xpath:idRelative"], - ["xpath=//div/div/input", "xpath:position"] - ], - "value": "unicon" - }, { - "id": "1d754809-177b-47f9-98e6-5e757713d834", + "id": "547788c6-8ba2-4edc-8add-8ff24d6805b8", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div[2]/button", "xpath:idRelative"], - ["xpath=//div[2]/div/div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Add Entity ID  ')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { - "id": "72c2bc1d-f96f-497b-bbd8-b2e254fae6b6", + "id": "98f8bc48-2251-4314-9157-3dd98cd79c5d", "comment": "", - "command": "click", - "target": "id=root_filterEnabled", - "targets": [ - ["id=root_filterEnabled", "id"], - ["css=#root_filterEnabled", "css:finder"], - ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] - ], + "command": "pause", + "target": "3000", + "targets": [], "value": "" }, { - "id": "8048dafc-6cfe-4370-8742-786d3457eccc", + "id": "01acf33e-4693-40ea-8217-7c275806d5ef", "comment": "", - "command": "click", - "target": "css=.nav-link:nth-child(2)", - "targets": [ - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], - ["xpath=//nav/button[2]", "xpath:position"], - ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] - ], + "command": "type", + "target": "id=root_name", + "targets": [], "value": "" }, { - "id": "1e74f318-f78c-4e64-8ac7-fc999df0dd19", + "id": "2383637f-14ad-407d-82cd-49d36f218ee0", "comment": "", - "command": "click", - "target": "id=root_relyingPartyOverrides_turnOffEncryption", + "command": "type", + "target": "id=root_name", "targets": [ - ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], - ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], - ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] + ["id=root_name", "id"], + ["css=.mb-0 > #root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], - "value": "" + "value": "Local Dynamic Metadata Provider V2" }, { - "id": "d05f7295-35b2-42ba-98d0-1c9673846190", + "id": "a9ce8daa-ce77-48b6-8f6e-2dce2f1e468c", "comment": "", - "command": "click", - "target": "id=root_relyingPartyOverrides_useSha", - "targets": [ - ["id=root_relyingPartyOverrides_useSha", "id"], - ["css=#root_relyingPartyOverrides_useSha", "css:finder"], - ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] - ], + "command": "type", + "target": "id=root_xmlId", + "targets": [], "value": "" }, { - "id": "2e4c1077-cd2f-4298-969f-e945e2d68636", + "id": "31561081-f7d8-4fc5-90a2-a216da79b8a6", "comment": "", "command": "type", - "target": "id=root_relyingPartyOverrides_responderId", + "target": "id=root_xmlId", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field33", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/input", "xpath:position"] ], - "value": "responder" + "value": "123456" }, { - "id": "3e162911-9775-4d01-8802-63f5638c7cba", + "id": "c988660e-6608-4ca4-814a-f1e3bd6a4347", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.btn-info", "targets": [ - ["css=.row:nth-child(9) .array-add-button", "css:finder"], - ["xpath=(//button[@type='button'])[20]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] + ["css=.btn-info", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { - "id": "a9c5ad9d-05ab-4b47-9e0d-c4e81d28c87e", + "id": "78258e16-b2c5-45bb-834f-f566da4a49b3", "comment": "", "command": "pause", - "target": "500", + "target": "2000", "targets": [], "value": "" }, { - "id": "17e961f9-8e47-434b-a0a8-e023e20cf4c8", - "comment": "", - "command": "click", - "target": "css=.toggle-button", - "targets": [ - ["css=.toggle-button", "css:finder"], - ["xpath=(//button[@type='button'])[22]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] - ], - "value": "" - }, { - "id": "ab2594b3-45a8-43f7-885b-270239a46628", + "id": "add10378-ed96-4fc2-bd50-5ace327bb698", "comment": "", "command": "click", - "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", + "target": "linkText=Version History", "targets": [ - ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "id"], - ["linkText=https://refeds.org/profile/mfa", "linkText"], - ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "css:finder"], - ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0']", "xpath:attributes"], - ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0']/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '#')]", "xpath:href"], - ["xpath=//div[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'https://refeds.org/profile/mfa')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/e6527f5e-ac1c-4490-ac9e-f07603248b91/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { - "id": "dd4e22ff-aa54-40c0-b5c2-6a5b79845062", + "id": "39228609-8a84-40e7-8101-36a0849cb2ba", "comment": "", - "command": "click", - "target": "id=root_relyingPartyOverrides_forceAuthn", - "targets": [ - ["id=root_relyingPartyOverrides_forceAuthn", "id"], - ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], - ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] - ], + "command": "pause", + "target": "2000", + "targets": [], "value": "" }, { - "id": "1c4c90ac-b644-4033-8ebc-07a8cd1bdbdd", + "id": "fc4a8e99-fa0c-410b-9a5a-07097a131234", "comment": "", "command": "click", - "target": "css=.btn-info", + "target": "css=tr:nth-child(1) .custom-control-label", "targets": [ - ["css=.btn-info", "css:finder"], - ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], - ["xpath=//div[2]/div/button", "xpath:position"], - ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] + ["css=tr:nth-child(1) .custom-control-label", "css:finder"], + ["xpath=//label", "xpath:position"], + ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] ], "value": "" }, { - "id": "af17a3a7-f292-4c22-8f2f-3d3bf1938fc1", - "comment": "", - "command": "waitForElementVisible", - "target": "css=span:nth-child(4)", - "targets": [], - "value": "10000" - }, { - "id": "2b9c0a43-fd7a-4ffa-bfef-a7fc41746e16", - "comment": "", - "command": "assertText", - "target": "css=span:nth-child(4)", - "targets": [ - ["css=span:nth-child(4)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "EntityAttributes" - }, { - "id": "a0e16e8d-91c9-416c-b1c1-a2898bfbd185", + "id": "45f5cf56-587a-4e9b-ba41-333b34f4206c", "comment": "", "command": "click", - "target": "linkText=Add Filter", + "target": "css=tr:nth-child(2) .custom-control-label", "targets": [ - ["linkText=Add Filter", "linkText"], - ["css=.btn-success", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/ceb1cfdd-26c1-4134-baab-1438190ae9bd/filter/new')]", "xpath:href"], - ["xpath=//div[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] + ["css=tr:nth-child(2) .custom-control-label", "css:finder"], + ["xpath=//tr[2]/td/div/label", "xpath:position"] ], "value": "" }, { - "id": "11fd3e95-ce05-4ad0-8238-c34b696003cd", + "id": "e0aa8d5c-d81c-4d4a-ac51-1d3511065d97", "comment": "", "command": "click", - "target": "name=type", + "target": "css=.btn-primary", "targets": [ - ["name=type", "name"], - ["css=.form-control", "css:finder"], - ["xpath=//select[@name='type']", "xpath:attributes"], - ["xpath=//select", "xpath:position"] + ["css=.btn-primary", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] ], "value": "" }, { - "id": "0b68dd82-e9a5-447f-b062-9f7849529bcc", - "comment": "", - "command": "select", - "target": "name=type", - "targets": [], - "value": "label=NameIDFormat" - }, { - "id": "e85fde4c-cdbf-41c6-89e7-d4b281a16219", + "id": "627ca87e-e3d5-4cf6-ae53-ac095238f23a", "comment": "", - "command": "click", - "target": "css=option:nth-child(3)", + "command": "waitForElementVisible", + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=option:nth-child(3)", "css:finder"], - ["xpath=//option[@value='NameIDFormat']", "xpath:attributes"], - ["xpath=//option[3]", "xpath:position"], - ["xpath=//option[contains(.,'NameIDFormat')]", "xpath:innerText"] + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], - "value": "" + "value": "30000" }, { - "id": "a058bf22-7d07-4850-8004-8a85a2016d25", + "id": "f3dc8bd0-e8da-48e5-b9bd-d442471a4005", "comment": "", - "command": "waitForElementVisible", - "target": "id=root_name", + "command": "assertText", + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["id=root_name", "id"], - ["css=#root_name", "css:finder"], - ["xpath=//input[@id='root_name']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//input", "xpath:position"] + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], - "value": "10000" + "value": "Local Dynamic Metadata Provider V2" }, { - "id": "8a94f318-76bb-49f1-90d5-b2dcbcb1ff80", + "id": "1103565a-1f1c-44f1-bfa9-91f6469a7723", "comment": "", - "command": "click", - "target": "id=root_name", + "command": "assertText", + "target": "css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["id=/name", "id"], - ["name=field40", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] + ["css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[3]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123456')]", "xpath:innerText"] ], - "value": "" + "value": "123456" }, { - "id": "9bd2419e-c4f5-4dd2-9fb8-278d70be987b", + "id": "d2bff59f-32cd-438d-816d-db8ad199b443", "comment": "", - "command": "type", - "target": "id=root_name", + "command": "waitForElementVisible", + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["id=/name", "id"], - ["name=field40", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] ], - "value": "Name ID Format Filter" - }, { - "id": "03d1d74e-efa5-4d0e-a780-900449bb4ac5", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" + "value": "30000" }, { - "id": "9b9d7604-7025-4ccb-bb95-862f57f696f1", + "id": "b0a15457-afc8-45e7-848e-876071ce15e4", "comment": "", - "command": "click", - "target": "id=dropdown-", + "command": "assertText", + "target": "css=div:nth-child(1) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["id=dropdown-", "id"], - ["css=#dropdown-", "css:finder"], - ["xpath=//button[@id='dropdown-']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] + ["css=div:nth-child(1) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] ], - "value": "" - }, { - "id": "5cda2bf9-f169-4e37-8071-a6f8d1d1407d", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" + "value": "Local Dynamic Metadata Provider" }, { - "id": "9e84c57f-c33d-48f8-85ac-ed50751eb37b", + "id": "244b66e8-18ca-424b-a399-42df5671d554", "comment": "", - "command": "click", - "target": "css=.show > .dropdown-item:nth-child(2)", + "command": "assertText", + "target": "css=div:nth-child(3) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], - ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], - ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], - ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "82336d07-df2f-416e-b5c3-59eaf64a82d4", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "f3bc22e2-0e3a-4d58-b992-31d687148c57", - "comment": "", - "command": "sendKeys", - "target": "id=targetInput", - "targets": [ - ["id=targetInput", "id"], - ["name=script", "name"], - ["css=#targetInput", "css:finder"], - ["xpath=//input[@id='targetInput']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], - ["xpath=//div[2]/div/div/input", "xpath:position"] - ], - "value": "/foo.*/" - }, { - "id": "343b40b9-87df-46ab-b3ef-285e4e5ed784", - "comment": "", - "command": "click", - "target": "id=root_filterEnabled", - "targets": [ - ["id=root_filterEnabled", "id"], - ["css=#root_filterEnabled", "css:finder"], - ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] - ], - "value": "" - }, { - "id": "6ce98c83-68b8-45c0-834e-cc40af11fc29", - "comment": "", - "command": "click", - "target": "css=.nav-link:nth-child(2)", - "targets": [ - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div/nav/button[2]", "xpath:idRelative"], - ["xpath=//nav/button[2]", "xpath:position"], - ["xpath=//button[contains(.,'Options')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "17f77efb-f64a-4a64-8c48-36830a087dbb", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "a7aa04e7-b909-42cf-85ed-adbff0adefce", - "comment": "", - "command": "click", - "target": "css=.array-add-button", - "targets": [ - ["css=.array-add-button", "css:finder"], - ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//div[8]/div/div/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "fff5a62d-900b-4025-9c54-d4bf974fe8e0", - "comment": "", - "command": "click", - "target": "css=.toggle-button", - "targets": [ - ["css=.toggle-button", "css:finder"], - ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] - ], - "value": "" - }, { - "id": "d1fa4a9b-80bd-4ad7-989e-1e5b56893bbc", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "8b7b79fd-2405-4ab6-8f91-4906f663cd1e", - "comment": "", - "command": "click", - "target": "id=option-selector-root_formats_0-item-1", - "targets": [ - ["id=option-selector-root_formats_0-item-1", "id"], - ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], - ["css=#option-selector-root_formats_0-item-1", "css:finder"], - ["xpath=//a[@id='option-selector-root_formats_0-item-1']", "xpath:attributes"], - ["xpath=//div[@id='option-selector-root_formats_0']/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div[2]/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "6d4c2c20-0855-4cdf-8e4d-dbbd6afb328b", - "comment": "", - "command": "click", - "target": "css=.btn-info", - "targets": [ - ["css=.btn-info", "css:finder"], - ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div/div[2]/div/button", "xpath:idRelative"], - ["xpath=//div[2]/div/button", "xpath:position"], - ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "455e24c1-5093-4da3-a62d-457bbf0cd5db", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" - }, { - "id": "9f7e95cf-4dd5-415f-8577-a6f1bc54a85d", - "comment": "", - "command": "click", - "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", - "targets": [ - ["css=.list-group-item:nth-child(1) .btn:nth-child(2)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/div/button[2]", "xpath:idRelative"], - ["xpath=//button[2]", "xpath:position"] - ], - "value": "" - }, { - "id": "afb97ce0-665f-4469-9aad-d17349c491cd", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "4a73b268-7d33-4e8c-8fa4-cb059be9768f", - "comment": "", - "command": "assertText", - "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", - "targets": [ - ["css=.list-group-item:nth-child(1) span:nth-child(4)", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/span[2]", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "NameIDFormat" - }, { - "id": "63ac7307-0538-4c0d-8e98-2f05c767baaf", - "comment": "", - "command": "click", - "target": "css=.list-group-item:nth-child(1) .btn:nth-child(2)", - "targets": [ - ["css=tr:nth-child(1) .fa-arrow-circle-down", "css:finder"], - ["xpath=//button[2]/i", "xpath:position"] - ], - "value": "" - }, { - "id": "5037edea-9d8f-496d-aedc-70b8763d5de2", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "ed8e07ff-0dce-47d6-8310-f1920bfe1367", - "comment": "", - "command": "assertText", - "target": "css=.list-group-item:nth-child(1) span:nth-child(4)", - "targets": [ - ["css=tr:nth-child(1) > .td-lg:nth-child(4)", "css:finder"], - ["xpath=//td[4]", "xpath:position"], - ["xpath=//td[contains(.,'EntityAttributes')]", "xpath:innerText"] - ], - "value": "EntityAttributes" - }, { - "id": "45fe6404-6af7-4be0-8f21-2dcf378d0060", - "comment": "", - "command": "click", - "target": "linkText=Dashboard", - "targets": [ - ["linkText=Dashboard", "linkText"], - ["css=.nav-link:nth-child(3)", "css:finder"], - ["xpath=//a[contains(text(),'Dashboard')]", "xpath:link"], - ["xpath=//div[@id='basic-navbar-nav']/div/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], - ["xpath=//nav/div/div/a", "xpath:position"], - ["xpath=//a[contains(.,'Dashboard')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "beb584cd-c6a8-440e-bf38-b5bd2be71e9e", - "comment": "", - "command": "click", - "target": "linkText=Metadata Providers", - "targets": [ - ["linkText=Metadata Providers", "linkText"], - ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], - ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], - ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], - ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "29e8f9ac-e02f-46e1-9765-5d7003e37f26", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "7c1fbdb4-1739-4b5b-86b9-231884a81e71", - "comment": "", - "command": "click", - "target": "linkText=Local Dynamic Metadata Provider", - "targets": [ - ["linkText=Local Dynamic Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Local Dynamic Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/b76c6aaf-4b5b-464b-8aa6-98d1125989b8/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Local Dynamic Metadata Provider')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "329a0f30-2aca-4a4b-8b6b-5ba61d73427b", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "547788c6-8ba2-4edc-8add-8ff24d6805b8", - "comment": "", - "command": "click", - "target": "css=.mb-4:nth-child(3) .edit-link", - "targets": [ - ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], - ["xpath=//section/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "98f8bc48-2251-4314-9157-3dd98cd79c5d", - "comment": "", - "command": "pause", - "target": "3000", - "targets": [], - "value": "" - }, { - "id": "01acf33e-4693-40ea-8217-7c275806d5ef", - "comment": "", - "command": "type", - "target": "id=root_name", - "targets": [], - "value": "" - }, { - "id": "2383637f-14ad-407d-82cd-49d36f218ee0", - "comment": "", - "command": "type", - "target": "id=root_name", - "targets": [ - ["id=root_name", "id"], - ["css=.mb-0 > #root_name", "css:finder"], - ["xpath=//input[@id='root_name']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//input", "xpath:position"] - ], - "value": "Local Dynamic Metadata Provider V2" - }, { - "id": "a9ce8daa-ce77-48b6-8f6e-2dce2f1e468c", - "comment": "", - "command": "type", - "target": "id=root_xmlId", - "targets": [], - "value": "" - }, { - "id": "31561081-f7d8-4fc5-90a2-a216da79b8a6", - "comment": "", - "command": "type", - "target": "id=root_xmlId", - "targets": [ - ["id=root_xmlId", "id"], - ["css=#root_xmlId", "css:finder"], - ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[3]/div/div/div/input", "xpath:position"] - ], - "value": "123456" - }, { - "id": "c988660e-6608-4ca4-814a-f1e3bd6a4347", - "comment": "", - "command": "click", - "target": "css=.btn-info", - "targets": [ - ["css=.btn-info", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], - ["xpath=//div[2]/div/div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "78258e16-b2c5-45bb-834f-f566da4a49b3", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "add10378-ed96-4fc2-bd50-5ace327bb698", - "comment": "", - "command": "click", - "target": "linkText=Version History", - "targets": [ - ["linkText=Version History", "linkText"], - ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], - ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], - ["xpath=//a[contains(@href, '/metadata/provider/e6527f5e-ac1c-4490-ac9e-f07603248b91/configuration/history')]", "xpath:href"], - ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], - ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "39228609-8a84-40e7-8101-36a0849cb2ba", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "fc4a8e99-fa0c-410b-9a5a-07097a131234", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(1) .custom-control-label", - "targets": [ - ["css=tr:nth-child(1) .custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "45f5cf56-587a-4e9b-ba41-333b34f4206c", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(2) .custom-control-label", - "targets": [ - ["css=tr:nth-child(2) .custom-control-label", "css:finder"], - ["xpath=//tr[2]/td/div/label", "xpath:position"] - ], - "value": "" - }, { - "id": "e0aa8d5c-d81c-4d4a-ac51-1d3511065d97", - "comment": "", - "command": "click", - "target": "css=.btn-primary", - "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], - ["xpath=//section/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "627ca87e-e3d5-4cf6-ae53-ac095238f23a", - "comment": "", - "command": "waitForElementVisible", - "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", - "targets": [], - "value": "30000" - }, { - "id": "f3dc8bd0-e8da-48e5-b9bd-d442471a4005", - "comment": "", - "command": "assertText", - "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", - "targets": [ - ["css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(2)", "css:finder"], - ["xpath=//div/span[2]", "xpath:position"] - ], - "value": "Local Dynamic Metadata Provider V2" - }, { - "id": "1103565a-1f1c-44f1-bfa9-91f6469a7723", - "comment": "", - "command": "assertText", - "target": "css=primitive-property:nth-child(3) .bg-diff > .d-block:nth-child(2)", - "targets": [ - ["css=primitive-property:nth-child(3) .bg-diff > .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[3]/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'123456')]", "xpath:innerText"] - ], - "value": "123456" - }, { - "id": "b0a15457-afc8-45e7-848e-876071ce15e4", - "comment": "", - "command": "assertText", - "target": "css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(3)", - "targets": [ - ["css=primitive-property:nth-child(1) .bg-diff > .d-block:nth-child(3)", "css:finder"], - ["xpath=//span[3]", "xpath:position"] - ], - "value": "Local Dynamic Metadata Provider" - }, { - "id": "244b66e8-18ca-424b-a399-42df5671d554", - "comment": "", - "command": "assertText", - "target": "css=primitive-property:nth-child(3) .bg-diff > .d-block:nth-child(3)", - "targets": [ - ["css=primitive-property:nth-child(3) .bg-diff > .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[3]/div/div/span[3]", "xpath:position"] + ["css=div:nth-child(3) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[3]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[3]/div/span[3]", "xpath:position"] ], "value": "12345" - }, { - "id": "a0411281-4bd1-4a25-a13c-31881f16381f", - "comment": "", - "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", - "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "e9c3e5d9-1418-4f24-80b5-5d2ea2f50570", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "82d0dbd1-6d39-4213-a169-ffd169ddb800", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(1) a", - "targets": [ - ["linkText=Sep 25, 2019 23:00:04 (Current)", "linkText"], - ["css=tr:nth-child(1) a", "css:finder"], - ["xpath=//a[contains(@href, '/metadata/provider/b76c6aaf-4b5b-464b-8aa6-98d1125989b8/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Sep 25, 2019 23:00:04 (Current)')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "c40890c3-7077-4951-a62e-fd7f5fa3c78f", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "c9047379-4634-4d7c-9649-505437ccc4a8", - "comment": "", - "command": "click", - "target": "css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", - "targets": [ - ["css=.list-group-item:nth-child(1) > filter-configuration-list-item > .d-flex > .btn", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div/button", "xpath:idRelative"], - ["xpath=//filter-configuration-list-item/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity Attributes Filter')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "9a4e24c2-c536-46bf-ada1-6158fbaa8163", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "6ce85361-3225-40b2-ab3e-dda53647733c", - "comment": "", - "command": "click", - "target": "css=.justify-content-between > .btn:nth-child(1) > translate-i18n", - "targets": [ - ["css=.justify-content-between > .btn:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='filters']/filter-configuration-list/ul/li/filter-configuration-list-item/div[2]/div/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div[2]/div/div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Edit')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "7a41b3c7-cae5-4135-95ed-ba45fa4932f2", - "comment": "", - "command": "waitForElementEditable", - "target": "id=/name", - "targets": [], - "value": "30000" - }, { - "id": "52f4e177-c20c-4775-a973-b7b79c67bb96", - "comment": "", - "command": "type", - "target": "id=/name", - "targets": [ - ["id=/name", "id"], - ["name=field68", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] - ], - "value": "Entity Attributes Filter V2" - }, { - "id": "3c8b4ac8-f3ef-4a02-82e3-735c382d3b09", - "comment": "", - "command": "click", - "target": "css=.btn-primary", - "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[@type='submit']", "xpath:attributes"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "0d44ec51-2979-437c-9d1d-cccf719e44f8", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "8a35aa02-3c14-4068-b92c-6d3f89d0e249", - "comment": "", - "command": "click", - "target": "css=.nav-item translate-i18n", - "targets": [ - ["css=.nav-item translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[2]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Dashboard')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "e5bc1b13-a4bf-4957-90d6-d687c945c732", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "d14a78bc-a8bc-4d79-abf5-4f91954008b8", - "comment": "", - "command": "click", - "target": "linkText=Metadata Providers", - "targets": [ - ["linkText=Metadata Providers", "linkText"], - ["css=.nav > .nav-item:nth-child(2) > .nav-link", "css:finder"], - ["xpath=//a[contains(text(),'Metadata Providers')]", "xpath:link"], - ["xpath=//a[contains(@href, '/dashboard/metadata/manager/providers')]", "xpath:href"], - ["xpath=//dashboard-page/div/ul/li[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "3144718e-3bb6-4e88-8571-b3fca31d432d", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "764605a3-d47d-4dd0-a117-2a5d8b662ec7", - "comment": "", - "command": "click", - "target": "linkText=Local Dynamic Metadata Provider V2", - "targets": [ - ["linkText=Local Dynamic Metadata Provider V2", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Local Dynamic Metadata Provider V2')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/b76c6aaf-4b5b-464b-8aa6-98d1125989b8/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Local Dynamic Metadata Provider V2')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "521a00d0-68cb-48ba-aa7a-28478af22174", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "3423ee08-377a-43a9-a608-1581eef0ce2e", - "comment": "", - "command": "click", - "target": "css=.btn-link:nth-child(1) > translate-i18n", - "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "8f91f629-8715-44a8-8895-f271d3c77547", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "293e15d9-de41-45ef-9fa8-94599c9b1f36", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(1) .custom-control-label", - "targets": [ - ["css=tr:nth-child(1) .custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Check to select')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "7810f774-045f-4841-80e7-2c061a5377a3", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(2) .custom-control-label", - "targets": [ - ["css=tr:nth-child(2) .custom-control-label", "css:finder"], - ["xpath=//tr[2]/td/div/label", "xpath:position"] - ], - "value": "" - }, { - "id": "77b0759a-f41e-4ebc-99bc-24ee7a793f6d", - "comment": "", - "command": "click", - "target": "css=.btn-primary > translate-i18n", - "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//history-list/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "12aa48b1-da07-456e-84a6-b1db2a72bc3c", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "c864f2b7-2da3-48ee-9d12-6e3deb69c451", - "comment": "", - "command": "click", - "target": "css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", - "targets": [ - ["css=.d-flex:nth-child(1) > .border-primary:nth-child(2) .fa", "css:finder"], - ["xpath=//div[2]/div/button/i", "xpath:position"] - ], - "value": "" - }, { - "id": "00209590-e55a-4559-a4f3-67e926d9e366", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" - }, { - "id": "4eb17560-540b-435e-b99e-759d59435902", - "comment": "", - "command": "click", - "target": "css=.btn-primary > translate-i18n", - "targets": [ - ["css=.btn-primary > translate-i18n", "css:finder"], - ["xpath=//div[3]/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Compare Selected')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "3ad7ca88-e2e9-47af-a4de-6c35828b26d3", - "comment": "", - "command": "waitForElementVisible", - "target": "css=.bg-diff > .d-block:nth-child(2)", - "targets": [], - "value": "30000" - }, { - "id": "50f9b213-6291-4b1a-b778-3db8e38e80da", - "comment": "", - "command": "assertText", - "target": "css=.bg-diff > .d-block:nth-child(2)", - "targets": [ - ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'Entity Attributes Filter V2')]", "xpath:innerText"] - ], - "value": "Entity Attributes Filter V2" - }, { - "id": "4c5111e9-4f0f-4b96-9c62-20bba8aac910", - "comment": "", - "command": "assertText", - "target": "css=.bg-diff > .d-block:nth-child(3)", - "targets": [ - ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[3]", "xpath:position"] - ], - "value": "Entity Attributes Filter" }, { "id": "5bf7126d-9dfb-4b97-8685-fd00778423eb", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1385-1.side b/backend/src/integration/resources/SHIBUI-1385-1.side index e9827df33..887056773 100644 --- a/backend/src/integration/resources/SHIBUI-1385-1.side +++ b/backend/src/integration/resources/SHIBUI-1385-1.side @@ -49,43 +49,72 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "f3bb93b7-b6ff-41e3-9057-029250b3cc38", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "ead2f875-0685-445b-a11e-94f98858df95", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "560f074a-d125-4586-8959-830fa8d15ab0", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "ad3811ad-f95b-4cca-a5d9-63a10063a652", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "1caf8be6-a4d9-4b3b-ace1-0f76d3600d62", "comment": "", "command": "click", - "target": "linkText=Metadata Source", + "target": "linkText=Add a new metadata source", "targets": [ - ["linkText=Metadata Source", "linkText"], - ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], - ["xpath=//div/a", "xpath:position"] + ["linkText=Add a new metadata source", "linkText"], + ["css=.text-primary:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata source')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/new')]", "xpath:href"], + ["xpath=//div/a", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata source')]", "xpath:innerText"] ], "value": "" }, { "id": "295789cf-0603-4fd2-9971-c2ed21d2fc81", "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "id=root_serviceProviderName", + "targets": [ + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], + "value": "30000" }, { "id": "218e51fd-49e6-400b-9d7f-61bcd8e0c074", "comment": "", "command": "click", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ ["id=/serviceProviderName", "id"], ["name=field1", "name"], @@ -98,7 +127,7 @@ "id": "9ee43e46-ab9e-46b1-8eb2-9718fb98bda2", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ ["id=field1", "id"], ["name=field1", "name"], @@ -111,13 +140,13 @@ "id": "7fe7298b-275c-4797-8d1b-f4547b63eb02", "comment": "", "command": "type", - "target": "id=/entityId", + "target": "id=root_entityId", "targets": [ - ["id=/entityId", "id"], - ["name=field2", "name"], - ["css=#\\/entityId", "css:finder"], - ["xpath=//input[@id='/entityId']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_entityId", "id"], + ["css=#root_entityId", "css:finder"], + ["xpath=//input[@id='root_entityId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "test-1234" }, { @@ -134,12 +163,12 @@ "id": "4d88e469-df2f-40ee-a557-b5eafbc24ef3", "comment": "", "command": "click", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ - ["id=/organization/name", "id"], - ["name=field5", "name"], - ["css=#\\/organization\\/name", "css:finder"], - ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["id=root_organization_name", "id"], + ["css=#root_organization_name", "css:finder"], + ["xpath=//input[@id='root_organization_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -147,7 +176,7 @@ "id": "e0168286-af90-4c0a-a0ba-0dd97d64849b", "comment": "", "command": "type", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ ["id=field5", "id"], ["name=field5", "name"], @@ -160,75 +189,77 @@ "id": "8f6dcf95-41e4-446a-a7fb-a064d928e1bc", "comment": "", "command": "type", - "target": "id=/organization/displayName", + "target": "id=root_organization_displayName", "targets": [ - ["id=/organization/displayName", "id"], - ["name=field6", "name"], - ["css=#\\/organization\\/displayName", "css:finder"], - ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_displayName", "id"], + ["css=#root_organization_displayName", "css:finder"], + ["xpath=//input[@id='root_organization_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "Test Org Name" }, { "id": "7cc2068e-3fa3-4f1c-ac97-c63e78911b9e", "comment": "", "command": "type", - "target": "id=/organization/url", + "target": "id=root_organization_url", "targets": [ - ["id=/organization/url", "id"], - ["name=field7", "name"], - ["css=#\\/organization\\/url", "css:finder"], - ["xpath=//input[@id='/organization/url']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_url", "id"], + ["css=#root_organization_url", "css:finder"], + ["xpath=//input[@id='root_organization_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org" }, { "id": "1da05567-4f8d-4fd8-957a-bfddb2380bfb", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "5379b245-cd77-43c1-b424-3b6595c74174", "comment": "", "command": "click", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=/contacts/0/name", "id"], - ["name=field10", "name"], - ["css=#\\/contacts\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b658cae2-ba5a-406b-a48c-87d110ff4ed0", "comment": "", "command": "type", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=field10", "id"], - ["name=field10", "name"], - ["css=#field10", "css:finder"], - ["xpath=//input[@id='field10']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Test User" }, { "id": "3a2de62d-c1c1-43a7-a484-8a0d23bf301e", "comment": "", "command": "click", - "target": "id=/contacts/0/type", + "target": "id=root_contacts_0_type", "targets": [ - ["id=/contacts/0/type", "id"], - ["name=field11", "name"], - ["css=#\\/contacts\\/0\\/type", "css:finder"], - ["xpath=//select[@id='/contacts/0/type']", "xpath:attributes"], + ["id=root_contacts_0_type", "id"], + ["css=#root_contacts_0_type", "css:finder"], + ["xpath=//select[@id='root_contacts_0_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "" @@ -236,121 +267,130 @@ "id": "86e4e429-2a72-496a-add8-df2fc079d157", "comment": "", "command": "select", - "target": "id=/contacts/0/type", - "targets": [], - "value": "label=Technical" + "target": "id=root_contacts_0_type", + "targets": [ + ["id=root_contacts_0_type", "id"], + ["css=#root_contacts_0_type", "css:finder"], + ["xpath=//select[@id='root_contacts_0_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=technical" }, { "id": "95531b0b-c084-422d-bac9-60ee7e7a9f16", "comment": "", "command": "click", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ - ["id=/contacts/0/emailAddress", "id"], - ["name=field12", "name"], - ["css=#\\/contacts\\/0\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/0/emailAddress']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_emailAddress", "id"], + ["css=#root_contacts_0_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_0_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "e5d6662e-38d4-479f-b76b-c0c05fcabe15", "comment": "", "command": "type", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ - ["id=field12", "id"], - ["name=field12", "name"], - ["css=#field12", "css:finder"], - ["xpath=//input[@id='field12']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_emailAddress", "id"], + ["css=#root_contacts_0_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_0_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "user@test.org" }, { "id": "b4e3ea55-b4c0-4585-99fe-ac1534efadd8", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "234de758-df6d-47d7-af74-83aee3fa1e72", "comment": "", "command": "click", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ - ["id=/contacts/1/name", "id"], - ["name=field14", "name"], - ["css=#\\/contacts\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_name", "id"], + ["css=#root_contacts_1_name", "css:finder"], + ["xpath=//input[@id='root_contacts_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "02819e27-7aed-4a1a-867f-f8131c3897d8", "comment": "", "command": "type", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ - ["id=field14", "id"], - ["name=field14", "name"], - ["css=#field14", "css:finder"], - ["xpath=//input[@id='field14']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_name", "id"], + ["css=#root_contacts_1_name", "css:finder"], + ["xpath=//input[@id='root_contacts_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Test User 2" }, { "id": "1d478856-8742-4627-acbe-daed2bb83abe", "comment": "", "command": "click", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ - ["css=#field15 > option:nth-child(2)", "css:finder"], - ["xpath=(//option[@value='1: support'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field15']/option[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[2]", "xpath:position"] + ["id=root_contacts_1_type", "id"], + ["css=#root_contacts_1_type", "css:finder"], + ["xpath=//select[@id='root_contacts_1_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "9b4c76b4-3851-4aac-a9f5-67e20c36f174", "comment": "", "command": "select", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ - ["id=/contacts/1/type", "id"], - ["name=field15", "name"], - ["css=#\\/contacts\\/1\\/type", "css:finder"], - ["xpath=//select[@id='/contacts/1/type']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ["id=root_contacts_1_type", "id"], + ["css=#root_contacts_1_type", "css:finder"], + ["xpath=//select[@id='root_contacts_1_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], - "value": "label=Support" + "value": "label=support" }, { "id": "5e3fddc1-786d-4040-8351-2f553e3c8811", "comment": "", "command": "click", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ - ["id=/contacts/1/emailAddress", "id"], - ["name=field16", "name"], - ["css=#\\/contacts\\/1\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/1/emailAddress']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_emailAddress", "id"], + ["css=#root_contacts_1_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_1_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "700d8907-6a65-43d5-aebf-60a392379534", "comment": "", "command": "type", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ - ["id=field16", "id"], - ["name=field16", "name"], - ["css=#field16", "css:finder"], - ["xpath=//input[@id='field16']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_emailAddress", "id"], + ["css=#root_contacts_1_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_1_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "user2@test.org" }, { @@ -367,12 +407,12 @@ "id": "f38b7fca-0c0c-4658-9df6-10a26881c6a5", "comment": "", "command": "click", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=/mdui/displayName", "id"], - ["name=field19", "name"], - ["css=#\\/mdui\\/displayName", "css:finder"], - ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -380,12 +420,12 @@ "id": "c03c4582-e1f1-449f-9a79-300d48ad69d8", "comment": "", "command": "type", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=field19", "id"], - ["name=field19", "name"], - ["css=#field19", "css:finder"], - ["xpath=//input[@id='field19']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Display Name" @@ -393,25 +433,25 @@ "id": "5098507c-fa51-4c13-b9a3-381034e0fa52", "comment": "", "command": "type", - "target": "id=/mdui/informationUrl", + "target": "id=root_mdui_informationUrl", "targets": [ - ["id=/mdui/informationUrl", "id"], - ["name=field20", "name"], - ["css=#\\/mdui\\/informationUrl", "css:finder"], - ["xpath=//input[@id='/mdui/informationUrl']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_informationUrl", "id"], + ["css=#root_mdui_informationUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_informationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/info" }, { "id": "d5de3699-5a18-4abe-a2ea-0a2b7565c525", "comment": "", "command": "type", - "target": "id=/mdui/description", + "target": "id=root_mdui_description", "targets": [ - ["id=/mdui/description", "id"], - ["name=field21", "name"], - ["css=#\\/mdui\\/description", "css:finder"], - ["xpath=//textarea[@id='/mdui/description']", "xpath:attributes"], + ["id=root_mdui_description", "id"], + ["css=#root_mdui_description", "css:finder"], + ["xpath=//textarea[@id='root_mdui_description']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[3]/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "This is a description." @@ -419,65 +459,65 @@ "id": "115bb9a9-e991-4cf0-8bcb-363d9dc3c269", "comment": "", "command": "click", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ - ["id=/mdui/privacyStatementUrl", "id"], - ["name=field22", "name"], - ["css=#\\/mdui\\/privacyStatementUrl", "css:finder"], - ["xpath=//input[@id='/mdui/privacyStatementUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_privacyStatementUrl", "id"], + ["css=#root_mdui_privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_privacyStatementUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "df623bef-a1fc-48ff-aa93-05e0da85ef51", "comment": "", "command": "type", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ - ["id=field22", "id"], - ["name=field22", "name"], - ["css=#field22", "css:finder"], - ["xpath=//input[@id='field22']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_privacyStatementUrl", "id"], + ["css=#root_mdui_privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_privacyStatementUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "http://test.org/privacy" }, { "id": "ed17408b-a763-4e5d-86cd-efe575df8d08", "comment": "", "command": "type", - "target": "id=/mdui/logoUrl", + "target": "id=root_mdui_logoUrl", "targets": [ - ["id=/mdui/logoUrl", "id"], - ["name=field23", "name"], - ["css=#\\/mdui\\/logoUrl", "css:finder"], - ["xpath=//input[@id='/mdui/logoUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_logoUrl", "id"], + ["css=#root_mdui_logoUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_logoUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/logo" }, { "id": "2946a968-7289-43e5-820d-b1aee442ce96", "comment": "", "command": "type", - "target": "id=/mdui/logoWidth", + "target": "id=root_mdui_logoWidth", "targets": [ - ["id=/mdui/logoWidth", "id"], - ["name=field24", "name"], - ["css=#\\/mdui\\/logoWidth", "css:finder"], - ["xpath=//input[@id='/mdui/logoWidth']", "xpath:attributes"], - ["xpath=//integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoWidth", "id"], + ["css=#root_mdui_logoWidth", "css:finder"], + ["xpath=//input[@id='root_mdui_logoWidth']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "200" }, { "id": "ceec5477-13d4-4ab4-944e-a2a34a9b4510", "comment": "", "command": "type", - "target": "id=/mdui/logoHeight", + "target": "id=root_mdui_logoHeight", "targets": [ - ["id=/mdui/logoHeight", "id"], - ["name=field25", "name"], - ["css=#\\/mdui\\/logoHeight", "css:finder"], - ["xpath=//input[@id='/mdui/logoHeight']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoHeight", "id"], + ["css=#root_mdui_logoHeight", "css:finder"], + ["xpath=//input[@id='root_mdui_logoHeight']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[3]/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/input", "xpath:position"] ], "value": "300" }, { @@ -494,25 +534,25 @@ "id": "88054c63-d468-4340-b4d3-c69fb6ed6f96", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: SAML 2']", "xpath:attributes"], - ["xpath=//select[@id='field28']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SAML 2')]", "xpath:innerText"] + ["id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "id"], + ["css=#root_serviceProviderSsoDescriptor_protocolSupportEnum", "css:finder"], + ["xpath=//select[@id='root_serviceProviderSsoDescriptor_protocolSupportEnum']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "c77b3648-fce1-46f9-aec9-ca88c90d4c92", "comment": "", "command": "select", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ - ["id=/serviceProviderSsoDescriptor/protocolSupportEnum", "id"], - ["name=field28", "name"], - ["css=#\\/serviceProviderSsoDescriptor\\/protocolSupportEnum", "css:finder"], - ["xpath=//select[@id='/serviceProviderSsoDescriptor/protocolSupportEnum']", "xpath:attributes"], + ["id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "id"], + ["css=#root_serviceProviderSsoDescriptor_protocolSupportEnum", "css:finder"], + ["xpath=//select[@id='root_serviceProviderSsoDescriptor_protocolSupportEnum']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "label=SAML 2" @@ -520,11 +560,13 @@ "id": "aec93dce-3142-4df3-b09d-735c70d1197b", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -538,13 +580,12 @@ "id": "a0102f51-f1d8-4c38-9170-482022ea7397", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", + "target": "css=.toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -558,23 +599,29 @@ "id": "9033e5ad-4255-4aa7-a878-c7beab69ee8e", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "c21b1d7a-9325-4d70-887d-387c7a042c08", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -588,12 +635,12 @@ "id": "c1534880-c4e5-4fbd-b200-c28f9f556ab9", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -607,24 +654,29 @@ "id": "d07b2d83-3699-4f48-90e8-6fc883d3a02a", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "2c77ecbc-45cc-471c-9e39-f87ec06a9385", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -638,12 +690,12 @@ "id": "97a98737-862d-4567-8b20-c5c991444ed0", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -657,24 +709,29 @@ "id": "686e004c-2b0f-4308-8622-b04bc05a50a9", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "104367d3-f250-4439-8721-32dcf9f25e0c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -688,12 +745,12 @@ "id": "e2e8d5d4-8b6a-42d5-9fe7-abb8a84216e3", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -707,38 +764,50 @@ "id": "b6ac5230-772b-44bc-b9d1-6ae8a58e0368", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "d135ef80-69d8-4cd1-b581-5e1973342082", "comment": "", "command": "click", - "target": "css=.btn-success > translate-i18n", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=field34", "id"], - ["css=#field34", "css:finder"], - ["xpath=//input[@id='field34']", "xpath:attributes"], - ["xpath=//div[@id='field34-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "ac842b8d-4596-4749-85c6-4657cb499b83", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -753,23 +822,25 @@ "id": "0de0345e-c9d2-4904-b797-a36965c5d82c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "62ade28b-19d4-4c54-b179-0d36312c578f", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ - ["id=/logoutEndpoints/0/url", "id"], - ["name=field38", "name"], - ["css=#\\/logoutEndpoints\\/0\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/0/url']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_url", "id"], + ["css=#root_logoutEndpoints_0_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_0_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -777,12 +848,12 @@ "id": "517e5991-197d-42fd-86ff-4da5fd04949b", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ - ["id=field38", "id"], - ["name=field38", "name"], - ["css=#field38", "css:finder"], - ["xpath=//input[@id='field38']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_url", "id"], + ["css=#root_logoutEndpoints_0_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_0_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "http://test.org/logout" @@ -790,25 +861,25 @@ "id": "034f6a60-6b2d-42f1-adb4-515c8a750953", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field39']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_logoutEndpoints_0_bindingType", "id"], + ["css=#root_logoutEndpoints_0_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_0_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "6967d0bb-dbf7-4f57-9e55-6de71abd69c1", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ - ["id=/logoutEndpoints/0/bindingType", "id"], - ["name=field39", "name"], - ["css=#\\/logoutEndpoints\\/0\\/bindingType", "css:finder"], - ["xpath=//select[@id='/logoutEndpoints/0/bindingType']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_bindingType", "id"], + ["css=#root_logoutEndpoints_0_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_0_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" @@ -816,61 +887,65 @@ "id": "542f9b37-a63d-4acb-ba3e-2ac3706b6667", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "39dedb16-bcd2-496a-af85-7d20a129593b", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ - ["id=/logoutEndpoints/1/url", "id"], - ["name=field41", "name"], - ["css=#\\/logoutEndpoints\\/1\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/1/url']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_logoutEndpoints_1_url", "id"], + ["css=#root_logoutEndpoints_1_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_1_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d25f708c-f72a-4fb7-88c1-a25a61d9f72a", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ - ["id=field41", "id"], - ["name=field41", "name"], - ["css=#field41", "css:finder"], - ["xpath=//input[@id='field41']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_logoutEndpoints_1_url", "id"], + ["css=#root_logoutEndpoints_1_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_1_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org/logout2" }, { "id": "bee9600e-b6db-484a-9b87-d7c657911108", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ - ["css=#field42 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redir'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field42']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_logoutEndpoints_1_bindingType", "id"], + ["css=#root_logoutEndpoints_1_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_1_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "e0e7ef9b-4ed1-4df2-b501-9cbb855baa7f", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ - ["id=/logoutEndpoints/1/bindingType", "id"], - ["name=field42", "name"], - ["css=#\\/logoutEndpoints\\/1\\/bindingType", "css:finder"], - ["xpath=//select[@id='/logoutEndpoints/1/bindingType']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ["id=root_logoutEndpoints_1_bindingType", "id"], + ["css=#root_logoutEndpoints_1_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_1_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" }, { @@ -883,91 +958,84 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "6c794e94-9c64-4683-816a-380432f2ed79", - "comment": "", - "command": "click", - "target": "id=/securityInfo/x509CertificateAvailable.true", - "targets": [ - ["id=/securityInfo/x509CertificateAvailable.true", "id"], - ["css=#\\/securityInfo\\/x509CertificateAvailable\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509CertificateAvailable.true']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" }, { "id": "f0ade90e-2c31-4a77-b936-3b2a00388477", "comment": "", "command": "click", - "target": "id=/securityInfo/authenticationRequestsSigned.true", + "target": "id=root_securityInfo_authenticationRequestsSigned-value.true", "targets": [ - ["id=/securityInfo/authenticationRequestsSigned.true", "id"], - ["css=#\\/securityInfo\\/authenticationRequestsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/authenticationRequestsSigned.true']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_authenticationRequestsSigned-value.true", "id"], + ["name=root_securityInfo_authenticationRequestsSigned", "name"], + ["css=#root_securityInfo_authenticationRequestsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_authenticationRequestsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "e26eda6f-1897-42e2-9ea9-671b1ff88874", "comment": "", "command": "click", - "target": "id=/securityInfo/wantAssertionsSigned.true", + "target": "id=root_securityInfo_wantAssertionsSigned-value.true", "targets": [ - ["id=/securityInfo/wantAssertionsSigned.true", "id"], - ["css=#\\/securityInfo\\/wantAssertionsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/wantAssertionsSigned.true']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_wantAssertionsSigned-value.true", "id"], + ["name=root_securityInfo_wantAssertionsSigned", "name"], + ["css=#root_securityInfo_wantAssertionsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_wantAssertionsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "3e11e54a-1b36-43ed-a8e5-d91f1fbed991", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ - ["id=/securityInfo/x509Certificates/0/name", "id"], - ["name=field50", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/name']", "xpath:attributes"], - ["xpath=//div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5acb8e19-16a3-4139-a961-1b58c11c4681", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ - ["id=field50", "id"], - ["name=field50", "name"], - ["css=#field50", "css:finder"], - ["xpath=//input[@id='field50']", "xpath:attributes"], - ["xpath=//div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Cert 1 Name" }, { "id": "23ff8b87-ac6c-4f82-a779-aa91be11f49c", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/type.0", + "target": "id=root_securityInfo_x509Certificates_0_type-signing", "targets": [ - ["id=/securityInfo/x509Certificates/0/type.0", "id"], - ["name=field55", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/type\\.0", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/type.0']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_type-signing", "id"], + ["name=root_securityInfo_x509Certificates_0_type", "name"], + ["css=#root_securityInfo_x509Certificates_0_type-signing", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_type-signing']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dd15088c-ddc9-42fd-8f8d-f73338be71b6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ - ["id=/securityInfo/x509Certificates/0/value", "id"], - ["name=field52", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/0/value']", "xpath:attributes"], + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "" @@ -975,11 +1043,12 @@ "id": "813bf709-6c73-41ac-837a-5be076fa43c7", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ - ["name=field52", "name"], - ["css=.text-widget", "css:finder"], - ["xpath=//textarea[@name='field52']", "xpath:attributes"], + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "This is cert 1." @@ -987,73 +1056,78 @@ "id": "fcf4cc15-54f4-4add-a093-e7ba5f2dc556", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "cbe577f6-3d18-49d9-95ab-2e597e5308a6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ - ["id=/securityInfo/x509Certificates/1/name", "id"], - ["name=field54", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_name", "id"], + ["css=#root_securityInfo_x509Certificates_1_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "ae98e813-77f4-424e-9141-d48e6127d9b6", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ - ["id=field54", "id"], - ["name=field54", "name"], - ["css=#field54", "css:finder"], - ["xpath=//input[@id='field54']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_name", "id"], + ["css=#root_securityInfo_x509Certificates_1_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Cert 2 Name" }, { "id": "835ad053-0a10-4606-a148-c7ba36be316f", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/type.1", + "target": "id=root_securityInfo_x509Certificates_1_type-encryption", "targets": [ - ["id=/securityInfo/x509Certificates/1/type.1", "id"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/type\\.1", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/type.1']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-radio-widget/div/div[2]/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_type-encryption", "id"], + ["css=#root_securityInfo_x509Certificates_1_type-encryption", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_1_type-encryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "e272cafa-3aba-4aff-972e-b1d45e627b88", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ - ["id=/securityInfo/x509Certificates/1/value", "id"], - ["name=field56", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/1/value']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_value", "id"], + ["css=#root_securityInfo_x509Certificates_1_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_1_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:position"] ], "value": "" }, { "id": "ae42d668-92ba-4cb8-9daf-a2a64ac18404", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ - ["name=field56", "name"], - ["css=.ng-untouched:nth-child(3)", "css:finder"], - ["xpath=//textarea[@name='field56']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ["id=root_securityInfo_x509Certificates_1_value", "id"], + ["css=#root_securityInfo_x509Certificates_1_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_1_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:position"] ], "value": "This is cert 2." }, { @@ -1070,23 +1144,25 @@ "id": "573c9f4c-c677-4175-96c5-3aaaf86e5ac1", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "50c1a3a1-b51c-41f9-81ff-d3d2894861ad", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ - ["id=/assertionConsumerServices/0/locationUrl", "id"], - ["name=field60", "name"], - ["css=#\\/assertionConsumerServices\\/0\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/0/locationUrl']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_locationUrl", "id"], + ["css=#root_assertionConsumerServices_0_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -1094,12 +1170,12 @@ "id": "6ff4002a-1c57-4778-b402-f917efaa5194", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ - ["id=field60", "id"], - ["name=field60", "name"], - ["css=#field60", "css:finder"], - ["xpath=//input[@id='field60']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_locationUrl", "id"], + ["css=#root_assertionConsumerServices_0_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "http://test.org/assert" @@ -1107,25 +1183,25 @@ "id": "e81c5045-98c3-499c-bff5-2645efa4c55d", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field61']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_binding", "id"], + ["css=#root_assertionConsumerServices_0_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_0_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "24c810c8-747a-4ae2-91e5-16685d589f21", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ - ["id=/assertionConsumerServices/0/binding", "id"], - ["name=field61", "name"], - ["css=#\\/assertionConsumerServices\\/0\\/binding", "css:finder"], - ["xpath=//select[@id='/assertionConsumerServices/0/binding']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_binding", "id"], + ["css=#root_assertionConsumerServices_0_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_0_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" @@ -1133,72 +1209,78 @@ "id": "c221b1f5-2961-4cbd-a545-1e34a09b8153", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_assertionConsumerServices_0_makeDefault", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Mark as Default')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_makeDefault", "id"], + ["css=#root_assertionConsumerServices_0_makeDefault", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_makeDefault']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "cb058717-f20f-4a54-81e5-9a7dcf66ec0e", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "f9998203-830b-44d3-8392-45b737544177", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ - ["id=/assertionConsumerServices/1/locationUrl", "id"], - ["name=field64", "name"], - ["css=#\\/assertionConsumerServices\\/1\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/1/locationUrl']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_assertionConsumerServices_1_locationUrl", "id"], + ["css=#root_assertionConsumerServices_1_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_1_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d5cbf5e8-7c5b-45f7-8645-dd9f9d39922e", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ - ["id=field64", "id"], - ["name=field64", "name"], - ["css=#field64", "css:finder"], - ["xpath=//input[@id='field64']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_assertionConsumerServices_1_locationUrl", "id"], + ["css=#root_assertionConsumerServices_1_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_1_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org/assert2" }, { "id": "74de4187-3d1e-4a4d-af8e-966f00649ab8", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ - ["css=#field65 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:1.0:profiles:browser-po'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field65']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_assertionConsumerServices_1_binding", "id"], + ["css=#root_assertionConsumerServices_1_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_1_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "929c1047-f455-418b-b23e-a383d681f028", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ - ["id=/assertionConsumerServices/1/binding", "id"], - ["name=field65", "name"], - ["css=#\\/assertionConsumerServices\\/1\\/binding", "css:finder"], - ["xpath=//select[@id='/assertionConsumerServices/1/binding']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ["id=root_assertionConsumerServices_1_binding", "id"], + ["css=#root_assertionConsumerServices_1_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_1_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "label=urn:oasis:names:tc:SAML:1.0:profiles:browser-post" }, { @@ -1215,101 +1297,117 @@ "id": "134bf1f3-1e86-49e7-91de-185e513b02be", "comment": "", "command": "click", - "target": "css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", + "target": "id=root_relyingPartyOverrides_signAssertion", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_signAssertion", "id"], + ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "5cd1ae5f-678a-4be8-a03f-b290006e52fe", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_dontSignResponse", "targets": [ - ["css=div:nth-child(2) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ["id=root_relyingPartyOverrides_dontSignResponse", "id"], + ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5895d555-6ef5-4344-b177-00e905f9007c", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=div:nth-child(3) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "8d834380-e312-494d-9b4b-c5b798cc9b15", "comment": "", "command": "click", - "target": "css=div:nth-child(4) .custom-control-label", + "target": "id=root_relyingPartyOverrides_useSha", "targets": [ - ["css=div:nth-child(4) .custom-control-label", "css:finder"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_useSha", "id"], + ["css=#root_relyingPartyOverrides_useSha", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "bcf532a9-ba5a-4ca1-a342-dde53bc4a592", "comment": "", "command": "click", - "target": "css=div:nth-child(5) .custom-control-label", + "target": "id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "targets": [ - ["css=div:nth-child(5) .custom-control-label", "css:finder"], - ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "id"], + ["css=#root_relyingPartyOverrides_ignoreAuthenticationMethod", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_ignoreAuthenticationMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "45f3df44-1c34-4649-aedb-14207e9ce999", "comment": "", "command": "click", - "target": "css=div:nth-child(6) .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=div:nth-child(6) .custom-control-label", "css:finder"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7ccb7d88-b113-4ee9-8582-b3d781fa8846", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field121", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "afe1b839-3421-4816-bf69-c804add681ba", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=field75", "id"], - ["name=field75", "name"], - ["css=#field75", "css:finder"], - ["xpath=//input[@id='field75']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "responder-id-123" }, { "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1323,13 +1421,12 @@ "id": "2a91666b-5453-4064-8923-c3384835b6fd", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1343,24 +1440,29 @@ "id": "6e8718ef-e053-48d8-91e5-f5128e371f56", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1374,12 +1476,12 @@ "id": "fd33610c-dbca-410d-b2a4-117a1b2b6a79", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1393,24 +1495,29 @@ "id": "3cd47415-5e57-4148-a40b-9571e6791f3f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1424,12 +1531,12 @@ "id": "208b33cf-f983-4a82-9b1b-19cdf2a937fc", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[19]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1443,24 +1550,29 @@ "id": "b4beb2b3-8481-4431-9299-a39a4107f17f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1474,12 +1586,12 @@ "id": "788a5b63-a75f-4aeb-9a5d-17c41e8f718e", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[21]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1493,43 +1605,48 @@ "id": "c82d6951-13e2-4d32-9e19-eac52bfdc188", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/nameIdFormats/4']", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/4-container']/div/input", "xpath:idRelative"], - ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] + ["css=.focus", "css:finder"], + ["xpath=(//input[@value=''])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1538,12 +1655,24 @@ ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "d378468f-965e-4d99-8429-2e4100b3a161", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", - "targets": [], + "target": "css=.row:nth-child(9) .array-add-button", + "targets": [ + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] + ], "value": "" }, { "id": "0b950018-bd12-433a-b198-682d4ea55a90", @@ -1556,7 +1685,7 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], @@ -1575,7 +1704,7 @@ "id": "6c62d514-0143-49d9-97b3-6b7cb443df9d", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "targets": [ ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], @@ -1588,10 +1717,12 @@ "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1605,7 +1736,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1624,7 +1755,7 @@ "id": "5a32d59b-1ac3-4cd0-a2d8-0e934f8182fd", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "targets": [ ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], @@ -1637,10 +1768,12 @@ "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1654,7 +1787,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1673,30 +1806,35 @@ "id": "6a7bce1a-34be-4d4c-b732-d2f198e8b8a1", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport')]", "xpath:innerText"] ], "value": "" }, { "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], @@ -1709,7 +1847,7 @@ "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1718,15 +1856,24 @@ ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "otherThings" + }, { + "id": "e9e0639e-2f65-43eb-af05-e0565591dbdc", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", "command": "click", - "target": "css=div:nth-child(10) .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=div:nth-child(10) .custom-control-label", "css:finder"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -1745,9 +1892,7 @@ "command": "click", "target": "css=.fa-check", "targets": [ - ["css=.fa-check", "css:finder"], - ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], - ["xpath=//td[2]/button/i", "xpath:position"] + ["css=.fa-check", "css:finder"] ], "value": "" }, { @@ -1764,22 +1909,24 @@ "id": "14ca713a-313d-4cda-82ca-a0b814ce81dc", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_serviceEnabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ["id=root_serviceEnabled", "id"], + ["css=#root_serviceEnabled", "css:finder"], + ["xpath=//input[@id='root_serviceEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[11]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=div:nth-child(2) > div:nth-child(2) > .border-bottom > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .border-bottom > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1787,33 +1934,34 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert2')]", "xpath:innerText"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(8) .border-0", + "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "targets": [ - ["css=array-property:nth-child(8) .border-0", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], - ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] + ["css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]", "xpath:idRelative"], + ["xpath=//div[8]/ul/li[5]", "xpath:position"] ], "value": "somethingElse" }, { "id": "18636780-2feb-458f-97be-cf4a625b22e1", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(5) > .py-2 > span", + "target": "css=.d-flex:nth-child(4) > .py-2", "targets": [ - ["css=.d-flex:nth-child(5) > .py-2 > span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[9]/div/div[2]/object-property/array-property/div/div[5]/div/span", "xpath:idRelative"], - ["xpath=//div/div[5]/div/span", "xpath:position"] + ["css=.d-flex:nth-child(4) > .py-2", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[9]/div/div[2]/div[2]/div[4]/div", "xpath:idRelative"], + ["xpath=//div[2]/div[4]/div", "xpath:position"] ], "value": "True" }, { @@ -1830,11 +1978,15 @@ "id": "4e0fa4f5-817f-41fb-9885-60f37b699436", "comment": "", "command": "waitForElementVisible", - "target": "css=tr > .text-right", + "target": "linkText=Test Provider", "targets": [ - ["css=tr > .text-right", "css:finder"], - ["xpath=//td[5]", "xpath:position"], - ["xpath=//td[contains(.,'Enabled')]", "xpath:innerText"] + ["linkText=Test Provider", "linkText"], + ["css=td > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/18b88eef-18ea-4b30-9704-73194460c1f4/configuration/options')]", "xpath:href"], + ["xpath=//td/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Provider')]", "xpath:innerText"] ], "value": "10000" }, { @@ -1843,12 +1995,10 @@ "command": "assertText", "target": "css=td:nth-child(1)", "targets": [ - ["linkText=Test Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/resolver/ee3aedc4-b56a-46c4-b8db-09603dd5b473/configuration/options')]", "xpath:href"], - ["xpath=//td/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Provider')]", "xpath:innerText"] + ["css=td:nth-child(1)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td", "xpath:idRelative"], + ["xpath=//td", "xpath:position"], + ["xpath=//td[contains(.,'Test Provider')]", "xpath:innerText"] ], "value": "Test Provider" }, { @@ -1858,6 +2008,7 @@ "target": "css=td:nth-child(2)", "targets": [ ["css=td:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], ["xpath=//td[2]", "xpath:position"], ["xpath=//td[contains(.,'test-1234')]", "xpath:innerText"] ], @@ -1955,11 +2106,12 @@ "id": "01da89d4-e043-4f99-9d98-dcb42b9b4777", "comment": "", "command": "click", - "target": "css=.btn-link", + "target": "css=.px-3", "targets": [ - ["css=.btn-link", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], + ["css=.px-3", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/form/div/div/div/button", "xpath:idRelative"], + ["xpath=//form/div/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Clear')]", "xpath:innerText"] ], "value": "" @@ -1982,7 +2134,12 @@ "comment": "", "command": "waitForElementPresent", "target": "css=.author", - "targets": [], + "targets": [ + ["css=.author", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/div/div/div/h5/span[2]", "xpath:idRelative"], + ["xpath=//span[2]", "xpath:position"], + ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "c9ea2708-7c12-43ce-b827-f0f34d2f2831", @@ -2000,11 +2157,11 @@ "id": "16271513-203c-4528-870f-dcf73f4d81cb", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -2012,22 +2169,23 @@ "id": "3f2c3eab-ecbf-45f3-bcdc-a5cad766b27c", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", + "target": "css=div:nth-child(5) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "targets": [ - ["css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/array-property/div/div[2]/div[3]/div[2]", "xpath:idRelative"], - ["xpath=//div[3]/div[2]", "xpath:position"] + ["css=div:nth-child(5) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div[3]/span", "xpath:idRelative"], + ["xpath=//div[3]/span", "xpath:position"], + ["xpath=//span[contains(.,'user@test.org')]", "xpath:innerText"] ], "value": "user@test.org" }, { "id": "467409c7-1007-4c45-80d2-0b4eea5199a0", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(4) div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(4) div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'http://test.org/info')]", "xpath:innerText"] ], "value": "http://test.org/info" @@ -2035,56 +2193,58 @@ "id": "eaaf9d59-1466-4736-924c-56c9b3f7522f", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(2) .text-truncate:nth-child(2)", + "target": "css=.d-flex:nth-child(2) .d-flex:nth-child(2) > .d-block", "targets": [ - ["css=array-property:nth-child(2) .text-truncate:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[3]/div/div[2]/object-property/object-property/array-property/div/div/ul/li[2]", "xpath:idRelative"], - ["xpath=//div/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] + ["css=.d-flex:nth-child(2) .d-flex:nth-child(2) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[3]/div/div[2]/div[2]/div/div[2]/ul/li[2]/span", "xpath:idRelative"], + ["xpath=//ul/li[2]/span", "xpath:position"], + ["xpath=//span[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" }, { "id": "2a23096f-d5cd-4727-af1b-130388117aa0", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(6) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(6) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/logout2')]", "xpath:innerText"] ], "value": "http://test.org/logout2" }, { "id": "fe47ffd2-d2a0-4264-90fe-31b998f81ac2", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(7) .p-2 > div > div > div:nth-child(2) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:position"] + ["css=.mb-4:nth-child(7) .p-2 > div > div > div:nth-child(2) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[5]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[5]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:position"] ], "value": "true" }, { "id": "7300785c-b83e-49b8-97a6-d66516f6c133", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(8) .py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(8) .py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[6]/div/div[2]/div[2]/div/div[2]/div/span", "xpath:idRelative"], + ["xpath=//section[6]/div/div[2]/div[2]/div/div[2]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert')]", "xpath:innerText"] ], "value": "http://test.org/assert" }, { "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] ], "value": "responder-id-123" @@ -2092,23 +2252,24 @@ "id": "e8b794fc-20e2-4317-8bdd-73eee8e94951", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(3) > .py-2 > span", + "target": "css=.d-flex:nth-child(4) > .py-2", "targets": [ - ["css=.d-flex:nth-child(3) > .py-2 > span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/array-property/div/div/div[3]/div/span", "xpath:idRelative"], - ["xpath=//section[8]/div/div[2]/object-property/array-property/div/div/div[3]/div/span", "xpath:position"] + ["css=.d-flex:nth-child(4) > .py-2", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[8]/div/div[2]/div[2]/div[4]/div", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/div[2]/div[4]/div", "xpath:position"] ], "value": "True" }, { "id": "2c46cdcd-d5a5-47fe-aa7b-0120fd2fcfc9", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { @@ -2118,24 +2279,44 @@ "target": "5000", "targets": [], "value": "" + }, { + "id": "21dcd554-a579-4182-9bd0-3c9979b10cd5", + "comment": "", + "command": "type", + "target": "id=root_serviceProviderName", + "targets": [], + "value": "" }, { "id": "99731068-2016-4a7f-8a38-febfb711d027", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ - ["id=/serviceProviderName", "id"], - ["name=field93", "name"], - ["css=#\\/serviceProviderName", "css:finder"], - ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Service Provider v2" + }, { + "id": "0c0fbefb-efd7-43dd-a719-18e9e6a0c6f7", + "comment": "", + "command": "type", + "target": "id=root_contacts_0_name", + "targets": [ + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] + ], + "value": "" }, { "id": "c6484ff1-8bf2-4442-8f73-13c7af38634a", "comment": "", "command": "type", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ ["id=/contacts/0/name", "id"], ["name=field102", "name"], @@ -2151,20 +2332,24 @@ "target": "css=.btn-info", "targets": [ ["css=.btn-info", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { "id": "c5985278-503e-4258-bba9-de7d2f157db0", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/18b88eef-18ea-4b30-9704-73194460c1f4/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -2195,56 +2380,77 @@ "target": "css=.btn-primary", "targets": [ ["css=.btn-primary", "css:finder"], - ["xpath=//history-list/button", "xpath:position"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Compare Selected(2)')]", "xpath:innerText"] ], "value": "" }, { - "id": "978829e9-fa70-4548-9a55-0e2ffa0df9a4", + "id": "2e91c30c-20dc-4023-96a9-b835bfebc77e", "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "30000" }, { "id": "1c0b7514-92b7-4e07-b462-467113f4a8cd", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[2]/div/span[2]", "xpath:position"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "Service Provider v2" + }, { + "id": "a870af31-cc79-4140-a9aa-0e714a5fc23e", + "comment": "", + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] + ], + "value": "30000" }, { "id": "fc7c4e1e-03c7-4108-9a8d-f469e7679ae4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[2]/div/span[3]", "xpath:position"], - ["xpath=//span[contains(.,'Test Provider')]", "xpath:innerText"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] ], "value": "Test Provider" }, { "id": "138ad58b-f0a2-436b-a8b0-43484f4180e6", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(3)", + "target": "css=.bg-diff:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(3)", "targets": [ - ["css=.bg-diff > .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(3)", "css:finder"], - ["xpath=//div[2]/div/div[2]", "xpath:position"] + ["css=.bg-diff:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[5]/div[2]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Test User v2')]", "xpath:innerText"] ], "value": "Test User v2" }, { "id": "17049c95-4724-4521-ac47-6b64bde822aa", "comment": "", "command": "assertText", - "target": "css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(4)", + "target": "css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(4)", "targets": [ - ["css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(4)", "css:finder"], - ["xpath=//div/div[3]", "xpath:position"] + ["css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(4)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[5]/div[2]/div/span[3]", "xpath:position"] ], "value": "Test User" }, { @@ -2259,6 +2465,18 @@ ["xpath=//ol/li/a", "xpath:position"] ], "value": "" + }, { + "id": "011c8375-5973-4702-89e2-cacc9c4de9aa", + "comment": "", + "command": "waitForElementVisible", + "target": "linkText=Service Provider v2", + "targets": [ + ["css=td:nth-child(1)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td", "xpath:idRelative"], + ["xpath=//td", "xpath:position"], + ["xpath=//td[contains(.,'Test Provider')]", "xpath:innerText"] + ], + "value": "30000" }, { "id": "dcee0b69-0da6-4434-b1b0-6917e6cfb4b0", "comment": "", @@ -2277,37 +2495,44 @@ "id": "8ff1a53e-948a-4732-8414-2f371e410c7d", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(2) .actions span", + "target": "css=.mb-4:nth-child(4) .edit-link", "targets": [ - ["css=.mb-4:nth-child(2) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//section[2]/div/div/div/button/span", "xpath:position"] + ["css=.mb-4:nth-child(4) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div/div/button", "xpath:idRelative"], + ["xpath=//section[2]/div/div/div/button", "xpath:position"] ], "value": "" - }, { - "id": "e1748ca6-18b9-4195-8f09-5c18d317fc88", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "3e8d20f4-879c-4105-8797-17afd60ba34b", "comment": "", "command": "waitForElementEditable", - "target": "id=/mdui/displayName", - "targets": [], + "target": "id=root_mdui_displayName", + "targets": [ + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "30000" + }, { + "id": "b4ab191c-f637-4816-99fe-9781a9d4d773", + "comment": "", + "command": "type", + "target": "id=root_mdui_displayName", + "targets": [], + "value": "" }, { "id": "6f422a9d-6c2f-4200-bdd3-411ed44773a3", "comment": "", "command": "type", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=/mdui/displayName", "id"], - ["name=field111", "name"], - ["css=#\\/mdui\\/displayName", "css:finder"], - ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Display Name v3" @@ -2326,12 +2551,14 @@ "id": "f2e3d420-5cf5-4165-94da-41688839cf82", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/18b88eef-18ea-4b30-9704-73194460c1f4/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -2367,42 +2594,61 @@ ], "value": "" }, { - "id": "98aafaee-a430-4a2d-9aa5-b4c9ce0c4908", + "id": "56094f6e-45b7-42f6-9102-e4e19673240d", "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", + "targets": [ + ["css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:position"] + ], + "value": "30000" }, { "id": "5a976e2c-dc5f-4021-9cc6-3cad12e771ea", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'Display Name v3')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:position"] ], "value": "Display Name v3" + }, { + "id": "c2ebc46c-e443-47b9-b17b-0ac6d23b882c", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(3)", + "targets": [ + ["css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div/div/span[3]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/div/span[3]", "xpath:position"] + ], + "value": "30000" }, { "id": "72328587-fe8d-4dc8-bc3d-a163f91a1ad6", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(3)", + "target": "css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(3)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property/div/span[3]", "xpath:position"] + ["css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div/div/span[3]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/div/span[3]", "xpath:position"] ], "value": "Display Name" }, { "id": "04275c4f-c243-46d4-8179-e6aa913ee5f7", "comment": "", "command": "click", - "target": "css=.btn-link", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link > translate-i18n", "css:finder"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=.btn-link", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/18b88eef-18ea-4b30-9704-73194460c1f4/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -2411,34 +2657,39 @@ "command": "click", "target": "css=tr:nth-child(2) .btn", "targets": [ + ["linkText=Restore", "linkText"], ["css=tr:nth-child(2) .btn", "css:finder"], - ["xpath=//td[4]/button", "xpath:position"], - ["xpath=//button[contains(.,'  Restore')]", "xpath:innerText"] + ["xpath=//div[@id='root']/div/main/div/section/div/div/table/tbody/tr[2]/td[4]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/18b88eef-18ea-4b30-9704-73194460c1f4/restore/160/common')]", "xpath:href"], + ["xpath=//td[4]/a", "xpath:position"], + ["xpath=//a[contains(.,' Restore')]", "xpath:innerText"] ], "value": "" }, { - "id": "1a4ed03b-cc8d-4bb2-9b4c-2152d7a577c0", + "id": "5bb3c6c8-4bb0-43b1-8b9f-f189ccb31f50", "comment": "", - "command": "click", - "target": "css=.btn-primary", + "command": "waitForElementVisible", + "target": "id=root_serviceProviderName", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[2]", "xpath:position"], - ["xpath=//button[contains(.,'Restore')]", "xpath:innerText"] + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], - "value": "" + "value": "30000" }, { - "id": "0e3e455b-e44c-41ee-8b6e-b50df56e7946", + "id": "6307f710-1115-4b04-902a-b1ba14e1f877", "comment": "", - "command": "pause", - "target": "5000", + "command": "type", + "target": "id=root_serviceProviderName", "targets": [], "value": "" }, { "id": "db39c891-73da-4ad9-9360-00dd8b845f60", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ ["id=/serviceProviderName", "id"], ["name=field197", "name"], @@ -2511,45 +2762,70 @@ "target": "5000", "targets": [], "value": "" + }, { + "id": "bf094932-1233-48a0-a303-962d1dbd2fdb", + "comment": "", + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "30000" }, { "id": "18918b08-9ae1-4bc3-836c-73feb1812cde", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[2]/div/span[2]", "xpath:position"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "Service Provider - Restored" + }, { + "id": "d8e9601b-8759-40ac-accd-dc317476f3f9", + "comment": "", + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] + ], + "value": "30000" }, { "id": "e3dc2662-98da-46ad-a25e-fc8f57d29983", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[2]/div/span[3]", "xpath:position"], - ["xpath=//span[contains(.,'Service Provider v2')]", "xpath:innerText"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] ], "value": "Service Provider v2" }, { "id": "8bf73f7f-def2-4044-835d-695fb701de8d", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property/div/span[2]", "xpath:position"] + ["css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:position"] ], "value": "Display Name" }, { "id": "50732e8a-e89d-447a-b9b2-96c218e7e284", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(3)", + "target": "css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(3)", "css:finder"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property/div/span[3]", "xpath:position"] + ["css=.mb-4:nth-child(3) div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div/div/span[3]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/div/span[3]", "xpath:position"] ], "value": "Display Name" }, { diff --git a/backend/src/integration/resources/SHIBUI-1385-2.side b/backend/src/integration/resources/SHIBUI-1385-2.side index 549d6840d..7a392bff7 100644 --- a/backend/src/integration/resources/SHIBUI-1385-2.side +++ b/backend/src/integration/resources/SHIBUI-1385-2.side @@ -49,40 +49,77 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "a81efadb-6076-4a3e-b7ab-0cc097fb0820", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "6beb290f-d295-44dc-818d-267bbcf58904", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "e3fac66a-0ae5-453f-bb14-55cb6c490a59", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "e7a98419-36c7-4b0f-a99d-087144f6a417", "comment": "", "command": "click", - "target": "css=.fa-plus-circle", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=.fa-plus-circle", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/i", "xpath:idRelative"], - ["xpath=//i", "xpath:position"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "74fef022-3979-4bed-9226-b25114514976", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" + }, { + "id": "93dd88c6-a2c1-44c6-a18c-90d2929b7530", + "comment": "", + "command": "waitForElementEditable", + "target": "name=type", + "targets": [ + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] + ], + "value": "30000" }, { "id": "b49d6ed7-75ea-4be8-9a79-c7fd83287aa0", "comment": "", "command": "click", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field1", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -90,7 +127,7 @@ "id": "54dc29f7-bbe0-4c2b-a76e-e67a61f57a96", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field1", "name"], @@ -103,12 +140,15 @@ "id": "add874d5-e3b2-4412-8039-2b9d2619ed19", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["css=select-component > .widget", "css:finder"], - ["xpath=//select-component/div", "xpath:position"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "1cc352f4-0d71-4a3e-9399-1d9932816efc", "comment": "", @@ -123,19 +163,25 @@ "id": "d072327c-78b4-4bdb-8020-b825cd26592d", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "86262eda-4a44-41b0-b7aa-fa46406e2601", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=field7", "id"], - ["name=field7", "name"], - ["css=#field7", "css:finder"], - ["xpath=//input[@id='field7']", "xpath:attributes"], + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "123" @@ -143,38 +189,39 @@ "id": "26cc765d-98c1-414c-97d8-4c7e5c6ab7e2", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=field8", "id"], - ["name=field8", "name"], - ["css=#field8", "css:finder"], - ["xpath=//input[@id='field8']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "https://idp.unicon.net/idp/shibboleth" }, { "id": "f0459917-b2a1-4e3c-8800-25273965129f", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "5b37cf08-77b9-4091-94f9-c0d539c9010d", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field10", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo.txt" }, { @@ -188,11 +235,12 @@ "id": "203d0d3c-d866-422a-8b48-b50181db00e9", "comment": "", "command": "click", - "target": "css=.fa-caret-down", + "target": "css=.toggle-button", "targets": [ - ["css=.fa-caret-down", "css:finder"], - ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div/button/i", "xpath:position"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -206,62 +254,69 @@ "id": "5fc6a348-0533-4d94-bb76-ebb891a0db8f", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--1", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--1", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "bf041d41-5d58-4f69-8fcc-49ec79e5547d", "comment": "", "command": "click", - "target": "id=/requireValidMetadata.false", + "target": "id=root_requireValidMetadata-No", "targets": [ - ["id=/requireValidMetadata.false", "id"], - ["css=#\\/requireValidMetadata\\.false", "css:finder"], - ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_requireValidMetadata-No", "id"], + ["css=#root_requireValidMetadata-No", "css:finder"], + ["xpath=//input[@id='root_requireValidMetadata-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[6]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "fba85c75-e218-4deb-b5e1-888ff75b6a4e", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[7]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "375b8d6e-179b-4f14-8f00-d8a8cad29d7e", "comment": "", "command": "click", - "target": "id=/useDefaultPredicateRegistry.false", + "target": "id=root_useDefaultPredicateRegistry-No", "targets": [ - ["id=/useDefaultPredicateRegistry.false", "id"], - ["css=#\\/useDefaultPredicateRegistry\\.false", "css:finder"], - ["xpath=//input[@id='/useDefaultPredicateRegistry.false']", "xpath:attributes"], - ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_useDefaultPredicateRegistry-No", "id"], + ["css=#root_useDefaultPredicateRegistry-No", "css:finder"], + ["xpath=//input[@id='root_useDefaultPredicateRegistry-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[8]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "8b4bf341-62c0-491f-b775-d2faf55477bc", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.true", + "target": "id=root_satisfyAnyPredicates-Yes", "targets": [ - ["id=/satisfyAnyPredicates.true", "id"], - ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-Yes", "id"], + ["name=root_satisfyAnyPredicates", "name"], + ["css=#root_satisfyAnyPredicates-Yes", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-Yes']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[9]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -285,13 +340,12 @@ "id": "a188bc3e-fd98-4d49-ae35-a0b78a17607c", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -305,14 +359,16 @@ "id": "a159e056-c870-4e02-a7e9-4b3a60d83718", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -326,11 +382,12 @@ "id": "7a72cf6a-c97a-49f6-83d0-cbe42f0fdb7d", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .fa", "css:finder"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -344,26 +401,29 @@ "id": "820397f5-aabb-46f5-a65a-56747ce29091", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--3", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { "id": "b036a851-4ac9-43cb-8686-8e78ed940d72", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "0.5" }, { @@ -387,13 +447,12 @@ "id": "232da257-962f-4a4b-8213-038ef90c96c3", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div/div/div/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -407,114 +466,120 @@ "id": "b8d999f1-0c59-4a9a-9991-91d222f52b8e", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "8af1abb5-2c7a-4a4c-a8f7-0eb287100dde", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "323a2a02-9111-4064-8bb0-a3da34330e54", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", - "targets": [], + "target": "id=root_metadataFilters_1_certificateFile", + "targets": [ + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] + ], "value": "%{idp.home}/foo.txt" }, { "id": "a125e601-f306-441d-9c8c-e97b95817b46", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "74d696db-3f3b-4ff3-a180-34baceb469a2", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], - "value": "label=SPSSODescriptor" - }, { - "id": "532bf2e5-13fc-48d7-b01b-ff16207a554d", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=SPSSODescriptor" }, { "id": "12cf80c9-594c-4c4d-bf26-aa36ba636220", "comment": "", "command": "click", - "target": "css=.fa-plus", + "target": "css=.array-add-button", "targets": [ - ["css=.fa-plus", "css:finder"], - ["xpath=//array-component/div/div/button/i", "xpath:position"] - ], - "value": "" - }, { - "id": "6cb9854b-293b-482d-8c07-4b7c638d79cb", - "comment": "", - "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", - "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", "css:finder"], - ["xpath=(//option[@value=''])[2]", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "f366c86c-1420-4fb7-86c2-82c49d81208d", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", - "targets": [], + "target": "id=root_metadataFilters_2_retainedRoles_1", + "targets": [ + ["id=root_metadataFilters_2_retainedRoles_1", "id"], + ["css=#root_metadataFilters_2_retainedRoles_1", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_1']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/select", "xpath:position"] + ], "value": "label=AttributeAuthorityDescriptor" }, { "id": "5dfac033-ecfd-42e8-aa6f-931d5acd4d89", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "9d5934f0-fe10-4539-9d71-80b454fc8612", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -531,17 +596,23 @@ "id": "79b96f40-2677-438a-9564-62df0ea2c116", "comment": "", "command": "click", - "target": "css=.custom-control-label", - "targets": [], + "target": "id=root_enabled", + "targets": [ + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "" }, { "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], @@ -550,11 +621,11 @@ "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123')]", "xpath:innerText"] ], "value": "123" @@ -568,93 +639,107 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "c5371051-48e0-4afd-9661-2db2ad0b22f0", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", "comment": "", "command": "waitForElementPresent", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=.align-middle:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"] + ["css=.align-middle:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "10000" }, { "id": "f48dd1b5-607a-485b-b1d5-03301f99b9ce", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=.align-middle:nth-child(2)", "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/4cc9924f-fd9e-4ef3-bf57-3b24eec9f27f/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ["css=.align-middle:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "Test Metadata Provider" }, { "id": "5eccd4e9-a451-4ec8-a9e1-1e1f8e771677", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] ], "value": "FileBackedHttpMetadataResolver" - }, { - "id": "67beda7f-7568-443b-9a60-03face9d936b", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "c768c2c1-09d4-46fe-8007-42fb4b3f4aaa", "comment": "", "command": "assertText", - "target": "css=.author", + "target": "css=.align-middle:nth-child(4)", "targets": [ - ["css=.author", "css:finder"], - ["xpath=//div[@id='header']/metadata-header/div/div/h5/span[2]", "xpath:idRelative"], - ["xpath=//span[2]", "xpath:position"], - ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] + ["css=.align-middle:nth-child(4)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[4]", "xpath:idRelative"], + ["xpath=//td[4]", "xpath:position"], + ["xpath=//td[contains(.,'admin')]", "xpath:innerText"] ], "value": "admin" }, { "id": "67578648-0800-4716-8c0c-27741770249a", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "linkText=Test Metadata Provider", + "targets": [ + ["linkText=Test Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/595c1bdf-dd64-46ef-b731-46af5f704ef6/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5f96ff8c-2ff5-4736-9248-e9e7e948e1eb", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { "id": "5636ef67-71fb-4bca-ba58-7ecf926c7bf0", "comment": "", - "command": "pause", - "target": "5000", + "command": "waitForElementVisible", + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/input", "xpath:position"] + ], + "value": "30000" + }, { + "id": "b08acf09-9f27-48da-8fc8-d9a66935f627", + "comment": "", + "command": "type", + "target": "id=root_xmlId", "targets": [], "value": "" }, { "id": "7d641e58-47ce-4d20-908c-e0002ff73cfa", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field38", "name"], @@ -663,23 +748,17 @@ ["xpath=//custom-string/div/input", "xpath:position"] ], "value": "123 version 2" - }, { - "id": "b78c81e9-41ac-41db-837a-0db6bd4f77eb", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" }, { "id": "247b04c1-e690-42bc-ae15-dfbedb44d2e9", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.false", + "target": "id=root_satisfyAnyPredicates-No", "targets": [ - ["id=/satisfyAnyPredicates.false", "id"], - ["css=#\\/satisfyAnyPredicates\\.false", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.false']", "xpath:attributes"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-No", "id"], + ["css=#root_satisfyAnyPredicates-No", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div[9]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { @@ -696,20 +775,29 @@ }, { "id": "eb08417b-b8f0-46dc-9e32-e8daf3bc205d", "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "linkText=Version History", + "targets": [ + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/595c1bdf-dd64-46ef-b731-46af5f704ef6/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] + ], + "value": "30000" }, { "id": "ea880e6a-498a-427a-bc08-8058137d62e0", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/595c1bdf-dd64-46ef-b731-46af5f704ef6/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -748,48 +836,68 @@ "id": "ce328b6a-f6ee-45e9-975c-5a5608f373dc", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "68103f0e-e3f1-419b-903d-5d8c30bc6700", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[4]/div/span[2]", "xpath:position"], + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] ], "value": "123 version 2" + }, { + "id": "7c42f2aa-9628-43e0-8eda-92105288270c", + "comment": "", + "command": "waitForElementVisible", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[3]", "xpath:position"] + ], + "value": "30000" }, { "id": "a13198b9-7827-47e2-ade3-143b981d34ee", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[4]/div/span[3]", "xpath:position"] + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[3]", "xpath:position"] ], "value": "123" }, { "id": "3d83741c-299e-4fcb-9ce6-4b7291c423a4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", + "target": "css=div:nth-child(12) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[12]/div/span[2]", "xpath:position"] + ["css=div:nth-child(12) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[12]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[12]/div/span[2]", "xpath:position"] ], "value": "false" }, { "id": "190cc157-d427-4046-aff2-180392395ad3", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", + "target": "css=div:nth-child(12) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[12]/div/span[3]", "xpath:position"] + ["css=div:nth-child(12) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[12]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[12]/div/span[3]", "xpath:position"] ], "value": "true" }, { @@ -836,11 +944,12 @@ "id": "c9341f6f-4d13-4378-bb5c-0079e7535008", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(4) .actions span", + "target": "css=.mb-4:nth-child(6) .edit-link", "targets": [ - ["css=.mb-4:nth-child(4) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[4]/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//section[4]/div/div/div/button/span", "xpath:position"] + ["css=.mb-4:nth-child(6) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div/div/button", "xpath:idRelative"], + ["xpath=//section[4]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -854,11 +963,13 @@ "id": "1cde012c-d521-4fd5-a7d5-7a680bba0e7b", "comment": "", "command": "click", - "target": "css=.slider", + "target": "id=custom-switch", "targets": [ - ["css=.slider", "css:finder"], - ["xpath=//toggle-switch[@id='toggle']/label/span", "xpath:idRelative"], - ["xpath=//label/span", "xpath:position"] + ["id=custom-switch", "id"], + ["css=#custom-switch", "css:finder"], + ["xpath=//input[@id='custom-switch']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -872,13 +983,12 @@ "id": "78967fb5-8f61-46ce-9c14-9b6ceb12b03a", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout-container .btn", + "target": "css=.form-group:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/connectionRequestTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//auto-complete/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.form-group:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -892,14 +1002,16 @@ "id": "8ba62572-354d-47f4-bb72-f9309c1cb201", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/connectionRequestTimeout__option--1", + "target": "id=option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "targets": [ - ["id=/httpMetadataResolverAttributes/connectionRequestTimeout__option--1", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/connectionRequestTimeout__option--1", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/connectionRequestTimeout__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/connectionRequestTimeout__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_connectionRequestTimeout']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -913,12 +1025,12 @@ "id": "d7406190-0bb0-4df8-9c0b-7e393952b6a2", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/connectionTimeout-container .btn", + "target": "css=.form-group:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/connectionTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/connectionTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.form-group:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -932,13 +1044,16 @@ "id": "337ac160-7990-425f-83da-2788d8a0985e", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/connectionTimeout__option--2", + "target": "id=option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "targets": [ - ["id=/httpMetadataResolverAttributes/connectionTimeout__option--2", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/connectionTimeout__option--2", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/connectionTimeout__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/connectionTimeout__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_connectionTimeout-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_connectionTimeout']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { @@ -952,12 +1067,12 @@ "id": "19182110-0f86-4601-ae12-0b90967ef68a", "comment": "", "command": "click", - "target": "css=#\\/httpMetadataResolverAttributes\\/socketTimeout-container .btn", + "target": "css=.form-group:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/httpMetadataResolverAttributes\\/socketTimeout-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/httpMetadataResolverAttributes/socketTimeout-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.form-group:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[17]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div[2]/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[3]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -971,13 +1086,16 @@ "id": "34693225-4754-4b27-92ee-3e37304a8cd7", "comment": "", "command": "click", - "target": "id=/httpMetadataResolverAttributes/socketTimeout__option--3", + "target": "id=option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "targets": [ - ["id=/httpMetadataResolverAttributes/socketTimeout__option--3", "id"], - ["css=#\\/httpMetadataResolverAttributes\\/socketTimeout__option--3", "css:finder"], - ["xpath=//li[@id='/httpMetadataResolverAttributes/socketTimeout__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/httpMetadataResolverAttributes/socketTimeout__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_httpMetadataResolverAttributes_socketTimeout-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_httpMetadataResolverAttributes_socketTimeout']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { @@ -995,37 +1113,28 @@ "id": "c3ad6c24-736a-492a-8952-b368e123d8e1", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "linkText=Version History", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/595c1bdf-dd64-46ef-b731-46af5f704ef6/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "10000" - }, { - "id": "8868c054-2e6a-403e-ba2b-499a56730d71", - "comment": "", - "command": "click", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", - "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/eb0ee617-33e2-4a31-83a5-7c42515c3b4f/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] - ], - "value": "" }, { "id": "0092cd5c-a885-4a48-a233-b3af447b02bc", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/595c1bdf-dd64-46ef-b731-46af5f704ef6/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1064,27 +1173,33 @@ "id": "9f1380c3-2b99-4b7d-90b7-f20d4fe431d3", "comment": "", "command": "waitForElementVisible", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(2) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"] + ], "value": "10000" }, { "id": "8a2c6435-d77b-4c87-8e0e-e1ae6d4629b9", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(4) primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[4]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:position"] + ["css=div:nth-child(3) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"] ], "value": "PT30S" }, { "id": "0687fe3f-c1af-4a5a-9708-09b7b92734bc", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) primitive-property:nth-child(3) .d-block:nth-child(2)", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(4) primitive-property:nth-child(3) .d-block:nth-child(2)", "css:finder"], - ["xpath=//section[4]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:position"], + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div[4]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "PT1M" @@ -1092,31 +1207,36 @@ "id": "a007794f-ab91-47b8-b470-e4294e47a2a7", "comment": "", "command": "assertText", - "target": "css=object-property:nth-child(1) > primitive-property:nth-child(4) .d-block:nth-child(2)", + "target": "css=div:nth-child(5) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=object-property:nth-child(1) > primitive-property:nth-child(4) .d-block:nth-child(2)", "css:finder"], - ["xpath=//object-property/object-property/primitive-property[4]/div/span[2]", "xpath:position"] + ["css=div:nth-child(5) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[5]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div[5]/div/span[2]", "xpath:position"] ], "value": "PT10M" }, { "id": "5279bf64-46c1-4376-a527-e19e217b42fa", "comment": "", "command": "assertText", - "target": "css=object-property:nth-child(1) > primitive-property:nth-child(5) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(5) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=object-property:nth-child(1) > primitive-property:nth-child(5) .d-block:nth-child(2)", "css:finder"], - ["xpath=//object-property/object-property/primitive-property[5]/div/span[2]", "xpath:position"] + ["css=.mb-4:nth-child(5) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div/div/span[2]", "xpath:position"] ], "value": "false" }, { "id": "ce9e6e24-d05a-41ee-ba62-6b7199503a2e", "comment": "", "command": "click", - "target": "css=.btn-link", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link > translate-i18n", "css:finder"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=.btn-link", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/595c1bdf-dd64-46ef-b731-46af5f704ef6/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1138,28 +1258,30 @@ ], "value": "" }, { - "id": "9d0c944b-99ac-44ed-b199-d859bfbe50bb", + "id": "e58a9927-7292-4f25-97da-e478dd9bfc22", "comment": "", - "command": "click", - "target": "css=.btn-primary", + "command": "waitForElementVisible", + "target": "id=root_name", "targets": [ - ["css=.btn-primary", "css:finder"], - ["xpath=//button[2]", "xpath:position"], - ["xpath=//button[contains(.,'Restore')]", "xpath:innerText"] + ["id=root_name", "id"], + ["css=.mb-0 > #root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], - "value": "" + "value": "30000" }, { - "id": "e58a9927-7292-4f25-97da-e478dd9bfc22", + "id": "5fb05087-2c4c-476d-b96b-243a12e9d2dd", "comment": "", - "command": "pause", - "target": "3000", + "command": "type", + "target": "id=root_name", "targets": [], "value": "" }, { "id": "5cc819ab-5673-476a-9cc4-b0bfb95b5944", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ ["id=/name", "id"], ["name=field144", "name"], @@ -1182,18 +1304,22 @@ }, { "id": "1efd6980-3e1c-4d9a-974e-d4e36cffbf73", "comment": "", - "command": "pause", - "target": "3000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .text-truncate", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "30000" }, { "id": "de88473e-4c7c-4769-80d8-8552562c47f2", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/span[2]", "xpath:idRelative"], + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"] ], "value": "Test Metadata Provider - Restored" @@ -1201,11 +1327,11 @@ "id": "30aae338-393c-4312-8ccc-f3fd8acb3aad", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(4) .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[4]/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[4]/div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(4) .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] ], "value": "123 version 2" @@ -1213,12 +1339,14 @@ "id": "9a8a3d25-0adf-4e20-81fd-cbce85a5d3d5", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/595c1bdf-dd64-46ef-b731-46af5f704ef6/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -1264,37 +1392,56 @@ "id": "20bfdc06-e12b-4287-ad14-3ca578d84de1", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(2) > div:nth-child(4) .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(4) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "a6c78ab6-5584-490f-9bfd-b1eda70b864b", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(4) .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[4]/div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(4) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] ], "value": "123 version 2" + }, { + "id": "e84a86f4-7ff4-423c-a941-52641274c276", + "comment": "", + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(4) .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(4) .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[3]", "xpath:position"] + ], + "value": "30000" }, { "id": "17832263-6fd7-4df8-86ba-f3e2fdc5d8ce", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", + "target": "css=div:nth-child(2) > div:nth-child(4) .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[4]/div/span[3]", "xpath:position"] + ["css=div:nth-child(2) > div:nth-child(4) .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[3]", "xpath:position"] ], "value": "123 version 2" }, { "id": "f0923b86-0cdd-44af-b24e-8d09a65710d6", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], + ["css=.bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"] ], "value": "Test Metadata Provider - Restored" @@ -1302,9 +1449,10 @@ "id": "aecb6372-976e-4a6e-ba97-88afc017db68", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(3)", + "target": "css=.bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(3)", "css:finder"], + ["css=.bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], ["xpath=//span[3]", "xpath:position"] ], "value": "Test Metadata Provider" diff --git a/backend/src/integration/resources/SHIBUI-1391.side b/backend/src/integration/resources/SHIBUI-1391.side index 77aef6107..fb1fd87d3 100644 --- a/backend/src/integration/resources/SHIBUI-1391.side +++ b/backend/src/integration/resources/SHIBUI-1391.side @@ -41,51 +41,80 @@ "id": "358c31ea-fab8-4709-9b25-d9e5e82e123c", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "4e6e0e31-5b73-4ff3-95fd-db29ee329512", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "73195747-e96c-4b7b-8969-de1036a4c023", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "1131a200-6ce5-41ea-9ed7-1509a7a84d46", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "fdea3214-f0e0-4f13-9d5d-e07ef92d71f1", "comment": "", "command": "click", - "target": "css=#addNewDropdown", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "2c40ac99-5e92-4c1c-923a-5a6100cadf43", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "7a42de04-995f-45aa-ba3f-095900a564ec", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "b2725ef6-b394-4f87-a2a5-031be085cedb", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ ["id=/name", "id"], ["name=field4", "name"], @@ -98,15 +127,15 @@ "id": "ca36b018-a4df-43d1-9fbd-973d6653d3e0", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["id=/type", "id"], - ["name=field2", "name"], - ["css=#\\/type", "css:finder"], - ["xpath=//select[@id='/type']", "xpath:attributes"], + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "e5d1d696-3029-4f9d-ad53-2e60b4789935", "comment": "", @@ -121,19 +150,25 @@ "id": "352f066f-c2af-4735-81b1-5440ba7a3432", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "e7462621-f4e4-4512-b200-20afa5685fc6", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=/xmlId", "id"], - ["name=field7", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "12345" @@ -141,96 +176,94 @@ "id": "7bfaa2a7-c66d-4e36-b1f4-1de30b02ebd0", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=/metadataURL", "id"], - ["name=field8", "name"], - ["css=#\\/metadataURL", "css:finder"], - ["xpath=//input[@id='/metadataURL']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "https://idp.unicon.net/idp/shibboleth" }, { "id": "047e1ea4-e28c-4b1b-86fc-ff19a3c0efcc", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "34124b74-7b90-424a-9219-1f0bfbf06b70", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field10", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo.txt" }, { "id": "0668032d-608b-4a01-9ac8-e4e2ac058294", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" - }, { - "id": "5aa1d849-42b9-45e8-ac74-d3df1f9458db", - "comment": "", - "command": "waitForElementVisible", - "target": "id=/backupFileInitNextRefreshDelay__option--1", - "targets": [], - "value": "10000" }, { "id": "35dfa0f8-c0f2-4356-a6b0-18b5dc35337b", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--1", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--1", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "b4d0a551-3bc1-466f-b204-ec7164af44ec", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[7]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "bef80dbb-25a6-4381-8b0e-331faaeb4392", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.true", + "target": "id=root_satisfyAnyPredicates-Yes", "targets": [ - ["id=/satisfyAnyPredicates.true", "id"], - ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-Yes", "id"], + ["name=root_satisfyAnyPredicates", "name"], + ["css=#root_satisfyAnyPredicates-Yes", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-Yes']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[9]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -250,43 +283,6 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "44e705a1-f284-4303-a0b6-c4bc9896c78d", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "347b93b2-2fc6-43fb-b674-f3ef40d0adab", - "comment": "", - "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", - "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] - ], - "value": "" - }, { - "id": "f78882a2-fd36-444f-b502-045b5ffb26e1", - "comment": "", - "command": "pause", - "target": "500", - "targets": [], - "value": "" - }, { - "id": "07b46683-5914-4795-9f2a-b8f5316858d7", - "comment": "", - "command": "click", - "target": "css=.section-body", - "targets": [ - ["css=.section-body", "css:finder"], - ["xpath=//section/div[2]", "xpath:position"] - ], - "value": "" }, { "id": "ab04d081-59ad-4dab-8af4-ff313def82c0", "comment": "", @@ -298,13 +294,12 @@ "id": "239b5688-ecdd-4530-ba5c-379ea7490f04", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -318,14 +313,16 @@ "id": "d5bc189f-eb4f-4378-9507-c82d98d8ecb4", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--0", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--0", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"], - ["xpath=//li[contains(.,'PT0S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "id"], + ["linkText=PT0S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'PT0S')]", "xpath:innerText"] ], "value": "" }, { @@ -339,12 +336,12 @@ "id": "618cc5f1-417b-4bc6-9388-3238f2304904", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -358,39 +355,42 @@ "id": "a89f1b4d-10bd-48f7-9b97-865710cfe01f", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--2", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "id"], + ["linkText=PT1M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'PT1M')]", "xpath:innerText"] ], "value": "" }, { "id": "143b781c-56ae-48c6-a7f5-8c93953f6095", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dcd01c7a-f733-4977-9cc2-e9084903e079", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "0.5" }, { @@ -407,145 +407,132 @@ "id": "363af92e-0327-47b9-918c-1560adab40cc", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div/div/div/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { "id": "a4470d6f-04a7-4c4b-8c1e-70cff2f35e8a", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "4530c1b4-8f27-4272-9633-c792a3a54f90", "comment": "", "command": "click", - "target": "css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "10cd8cee-fc6a-4e5b-a11b-a7b0a9338f5d", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", + "target": "id=root_metadataFilters_1_certificateFile", "targets": [ - ["id=/metadataFilters/SignatureValidation/certificateFile", "id"], - ["name=field27", "name"], - ["css=#\\/metadataFilters\\/SignatureValidation\\/certificateFile", "css:finder"], - ["xpath=//input[@id='/metadataFilters/SignatureValidation/certificateFile']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo2.txt" - }, { - "id": "a3ce889f-0607-4071-bd39-25b169c30114", - "comment": "", - "command": "click", - "target": "css=div:nth-child(3) > sf-form-element .bg-light", - "targets": [ - ["css=div:nth-child(3) > sf-form-element .bg-light", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/fieldset-object/div/div/fieldset/div", "xpath:position"] - ], - "value": "" }, { "id": "f205ec23-b433-44bb-af80-e72330b4c7a3", "comment": "", "command": "click", - "target": "css=.fa-plus", + "target": "css=.array-add-button", "targets": [ - ["css=.fa-plus", "css:finder"], - ["xpath=//array-component/div/div/button/i", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "4dae6914-ae68-45e2-b332-cc4c1ac71e43", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], - "value": "label=SPSSODescriptor" - }, { - "id": "4b257d69-1948-4c5f-a88d-b1bfa8f2ba72", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=SPSSODescriptor" }, { "id": "d47fc8b5-4062-4813-90a8-cdc91b777f1d", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "442c5b8d-f108-488e-8779-06171f5081f6", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", - "targets": [], - "value": "label=AttributeAuthorityDescriptor" - }, { - "id": "42eddc22-9eed-41d1-aaee-2d4a1d933fa9", - "comment": "", - "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", + "target": "id=root_metadataFilters_2_retainedRoles_1", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: md:AttributeAuthorityDescriptor'])[2]", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_metadataFilters_2_retainedRoles_1", "id"], + ["css=#root_metadataFilters_2_retainedRoles_1", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_1']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/select", "xpath:position"] ], - "value": "" + "value": "label=AttributeAuthorityDescriptor" }, { "id": "4ebbc08c-ee24-43d8-8c2d-b639a625189c", "comment": "", "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeRolelessEntityDescriptors\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeRolelessEntityDescriptors.parent']/label", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "1c23c527-46e7-4fe6-8f60-37833af073c8", "comment": "", "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/removeEmptyEntitiesDescriptors\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/EntityRoleWhiteList/removeEmptyEntitiesDescriptors.parent']/label", "xpath:idRelative"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -562,12 +549,13 @@ "id": "7cd861ea-d86c-4faa-a07b-c1508811b506", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -584,24 +572,29 @@ "id": "daa2d46a-d238-4a48-aca7-0f34c9b93d5f", "comment": "", "command": "click", - "target": "css=.btn:nth-child(2) > translate-i18n", + "target": "linkText=File Backed HTTP Metadata Provider", "targets": [ - ["css=.btn:nth-child(2) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/button/translate-i18n", "xpath:idRelative"], - ["xpath=//div/button/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Filters')]", "xpath:innerText"] + ["linkText=File Backed HTTP Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'File Backed HTTP Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/74a8d3a0-6482-41c4-8f5a-8c00f5ce43d1/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'File Backed HTTP Metadata Provider')]", "xpath:innerText"] ], "value": "" }, { "id": "d86e9a98-a0a1-4696-b454-1bca1d01f9d0", "comment": "", "command": "click", - "target": "css=#filters .actions span", + "target": "linkText=Add Filter", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Add Filter", "linkText"], + ["css=#filters .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/74a8d3a0-6482-41c4-8f5a-8c00f5ce43d1/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" }, { @@ -609,37 +602,37 @@ "comment": "", "command": "select", "target": "name=type", - "targets": [], - "value": "label=EntityAttributes" - }, { - "id": "49fe7508-4f42-4eae-a47d-85a0983efb64", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='EntityAttributes']", "xpath:attributes"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'EntityAttributes')]", "xpath:innerText"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/div/div/form/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=EntityAttributes" }, { "id": "8a52ad88-b583-41b7-92a6-bdb185b03a06", "comment": "", "command": "waitForElementVisible", - "target": "id=/name", - "targets": [], + "target": "id=root_name", + "targets": [ + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "b1c779b1-d3ed-47cc-bc88-e5c280161c32", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field37", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Entity Attributes Filter" @@ -654,13 +647,14 @@ "id": "a10a6faf-90cd-4713-8ea3-60c768ed935e", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.valuedd", + "target": "id=dropdown-label.filter-target-type", "targets": [ - ["id=/entityAttributesFilterTarget.valuedd", "id"], - ["css=#\\/entityAttributesFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/entityAttributesFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-label.filter-target-type", "id"], + ["css=#dropdown-label\\.filter-target-type", "css:finder"], + ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -674,14 +668,13 @@ "id": "1f2b93b8-23ae-4a9c-b015-96ca890ae150", "comment": "", "command": "click", - "target": "linkText=Regex", + "target": "css=.show > .dropdown-item:nth-child(2)", "targets": [ - ["linkText=Regex", "linkText"], - ["css=.dropdown-item:nth-child(2)", "css:finder"], - ["xpath=//a[contains(text(),'Regex')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], - ["xpath=//div/div/a[2]", "xpath:position"], - ["xpath=//a[contains(.,'Regex')]", "xpath:innerText"] + ["css=.show > .dropdown-item:nth-child(2)", "css:finder"], + ["xpath=(//button[@type='button'])[16]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div/div/div/button[2]", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div/div/div/button[2]", "xpath:position"], + ["xpath=//button[contains(.,'Regex')]", "xpath:innerText"] ], "value": "" }, { @@ -695,36 +688,39 @@ "id": "5c2ed93d-3630-408c-bb89-0b2baffb73c0", "comment": "", "command": "click", - "target": "id=/entityAttributesFilterTarget.target", + "target": "id=targetInput", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], + ["id=targetInput", "id"], ["name=script", "name"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "" }, { "id": "66601358-e37c-417b-a174-827037d56969", "comment": "", "command": "type", - "target": "id=/entityAttributesFilterTarget.target", + "target": "id=targetInput", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], + ["id=targetInput", "id"], ["name=script", "name"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "*" }, { "id": "f4a74feb-0372-4452-a085-64ae37a059cb", "comment": "", "command": "assertText", - "target": "css=.form-text:nth-child(2)", + "target": "css=.form-text", "targets": [ - ["css=.form-text:nth-child(2)", "css:finder"], - ["xpath=//div/div/small", "xpath:position"], + ["css=.form-text", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/small", "xpath:idRelative"], + ["xpath=//div/small", "xpath:position"], ["xpath=//small[contains(.,'Invalid Regular Expression')]", "xpath:innerText"] ], "value": "Invalid Regular Expression" @@ -732,13 +728,14 @@ "id": "0280c7b8-5714-43b8-89cc-f1260037bd44", "comment": "", "command": "type", - "target": "id=/entityAttributesFilterTarget.target", + "target": "id=targetInput", "targets": [ - ["id=/entityAttributesFilterTarget.target", "id"], + ["id=targetInput", "id"], ["name=script", "name"], - ["css=#\\/entityAttributesFilterTarget\\.target", "css:finder"], - ["xpath=//input[@id='/entityAttributesFilterTarget.target']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["css=#targetInput", "css:finder"], + ["xpath=//input[@id='targetInput']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[6]/div/div/div/fieldset/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": ".*" }, { diff --git a/backend/src/integration/resources/SHIBUI-1392.side b/backend/src/integration/resources/SHIBUI-1392.side index 0056a4dd6..22a4e481d 100644 --- a/backend/src/integration/resources/SHIBUI-1392.side +++ b/backend/src/integration/resources/SHIBUI-1392.side @@ -41,56 +41,85 @@ "id": "993b1b6d-5eac-426c-b6fe-89cef25ebc91", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "a16aa726-a8d3-488b-b1ce-7a3d33d4cfa5", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "dada3956-de82-4cdb-b3cc-68ac8025280c", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "ea85d06f-024a-4cae-bf06-1900a00b685e", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "db2bbd13-3808-4b40-a236-3fe82c1afece", "comment": "", "command": "click", - "target": "css=#addNewDropdown", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "32133aaa-76a4-4dd4-8ee6-a9fc5af25ded", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" }, { "id": "ea32c92b-9487-499a-8f7a-242ab6fd196f", "comment": "", "command": "waitForElementEditable", - "target": "id=/name", - "targets": [], + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "845b34e9-fd90-45de-a38a-469405915292", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field1", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Test Provider with Script Filter" @@ -98,9 +127,15 @@ "id": "6daa658d-2560-4448-a522-233ed88e1ad0", "comment": "", "command": "select", - "target": "id=/type", - "targets": [], - "value": "label=DynamicHttpMetadataProvider" + "target": "name=type", + "targets": [ + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=DynamicHttpMetadataResolver" }, { "id": "fb561471-270c-4633-8fe9-ad457ef38459", "comment": "", @@ -115,19 +150,25 @@ "id": "ba2c6633-3813-42e4-95fc-b1b22da875fa", "comment": "", "command": "waitForElementEditable", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "09c4adf4-0142-4931-8ffc-ff6ff821e78e", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=/xmlId", "id"], - ["name=field7", "name"], - ["css=#\\/xmlId", "css:finder"], - ["xpath=//input[@id='/xmlId']", "xpath:attributes"], + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "12345" @@ -135,68 +176,65 @@ "id": "b18627a3-0487-42c0-b3bb-44aa53da8ba3", "comment": "", "command": "select", - "target": "id=/metadataRequestURLConstructionScheme/type", - "targets": [], - "value": "label=MetadataQueryProtocol" - }, { - "id": "6548ef95-6862-49ce-82e0-024502aeb9eb", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataRequestURLConstructionScheme_@type", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: MetadataQueryProtocol']", "xpath:attributes"], - ["xpath=//select[@id='/metadataRequestURLConstructionScheme/type']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'MetadataQueryProtocol')]", "xpath:innerText"] + ["id=root_metadataRequestURLConstructionScheme_@type", "id"], + ["css=#root_metadataRequestURLConstructionScheme_\\@type", "css:finder"], + ["xpath=//select[@id='root_metadataRequestURLConstructionScheme_@type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=MetadataQueryProtocol" }, { "id": "33263ebe-368a-4804-acb5-8324b822f3ea", "comment": "", "command": "click", - "target": "id=/metadataRequestURLConstructionScheme/content", + "target": "id=root_metadataRequestURLConstructionScheme_content", "targets": [ - ["id=/metadataRequestURLConstructionScheme/content", "id"], - ["name=field10", "name"], - ["css=#\\/metadataRequestURLConstructionScheme\\/content", "css:finder"], - ["xpath=//input[@id='/metadataRequestURLConstructionScheme/content']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataRequestURLConstructionScheme_content", "id"], + ["css=#root_metadataRequestURLConstructionScheme_content", "css:finder"], + ["xpath=//input[@id='root_metadataRequestURLConstructionScheme_content']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "99061d82-049c-40cc-a7d8-98d792061daf", "comment": "", "command": "type", - "target": "id=/metadataRequestURLConstructionScheme/content", + "target": "id=root_metadataRequestURLConstructionScheme_content", "targets": [ - ["id=/metadataRequestURLConstructionScheme/content", "id"], - ["name=field10", "name"], - ["css=#\\/metadataRequestURLConstructionScheme\\/content", "css:finder"], - ["xpath=//input[@id='/metadataRequestURLConstructionScheme/content']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataRequestURLConstructionScheme_content", "id"], + ["css=#root_metadataRequestURLConstructionScheme_content", "css:finder"], + ["xpath=//input[@id='root_metadataRequestURLConstructionScheme_content']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "someString" }, { - "id": "e771b05f-e720-40e9-8c8c-c9f65725e34c", + "id": "c2af34fb-1edd-4824-bc7a-b0232dcbe841", "comment": "", "command": "click", - "target": "css=div:nth-child(4) .form-check:nth-child(4) > .control-label", + "target": "id=root_requireValidMetadata-No", "targets": [ - ["css=div:nth-child(4) .form-check:nth-child(4) > .control-label", "css:finder"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label", "xpath:position"] + ["id=root_requireValidMetadata-No", "id"], + ["css=#root_requireValidMetadata-No", "css:finder"], + ["xpath=//input[@id='root_requireValidMetadata-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { - "id": "c2af34fb-1edd-4824-bc7a-b0232dcbe841", + "id": "0e9378dc-c336-4c60-9b19-c523aee75b85", "comment": "", "command": "click", - "target": "id=/requireValidMetadata.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/requireValidMetadata.false", "id"], - ["css=#\\/requireValidMetadata\\.false", "css:finder"], - ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { @@ -219,18 +257,6 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "e84a4b1e-9e16-4c0f-ba21-5edaac18011e", - "comment": "", - "command": "click", - "target": "css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", - "targets": [ - ["css=#\\/metadataFilters\\/SignatureValidation\\/requireSignedRoot\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/metadataFilters/SignatureValidation/requireSignedRoot.parent']/label", "xpath:idRelative"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] - ], - "value": "" }, { "id": "45e080c0-8ea2-4641-951b-aa819d5b9d64", "comment": "", @@ -245,12 +271,13 @@ "id": "cce4434c-9723-4ecb-832d-2e200aefe7e1", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_enabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div[@id='/enabled.parent']/label", "xpath:idRelative"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Metadata Provider?')]", "xpath:innerText"] + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { @@ -263,16 +290,33 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" + }, { + "id": "051b721c-2cb7-436c-a43a-bbcad50731ed", + "comment": "", + "command": "click", + "target": "linkText=Test Provider with Script Filter", + "targets": [ + ["linkText=Test Provider with Script Filter", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Provider with Script Filter')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/8965c3a3-3551-42f6-807e-c9177476f764/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Provider with Script Filter')]", "xpath:innerText"] + ], + "value": "" }, { "id": "3b38c153-5b8d-4a3c-a8c2-f089d86e2ae3", "comment": "", "command": "click", - "target": "css=#filters .actions span", + "target": "linkText=Add Filter", "targets": [ - ["css=#filters .actions span", "css:finder"], - ["xpath=//div[@id='filters']/div/div/a/span", "xpath:idRelative"], - ["xpath=//div/a/span", "xpath:position"], - ["xpath=//span[contains(.,'Add Filter')]", "xpath:innerText"] + ["linkText=Add Filter", "linkText"], + ["css=#filters .btn", "css:finder"], + ["xpath=//div[@id='filters']/div/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/8965c3a3-3551-42f6-807e-c9177476f764/filter/new')]", "xpath:href"], + ["xpath=//div[3]/div/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Add Filter')]", "xpath:innerText"] ], "value": "" }, { @@ -280,18 +324,24 @@ "comment": "", "command": "select", "target": "name=type", - "targets": [], + "targets": [ + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/div/div/form/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] + ], "value": "label=NameIDFormat" }, { "id": "b32ea0ea-16ea-472a-bd28-09082ef35ca5", "comment": "", "command": "click", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field38", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -299,12 +349,12 @@ "id": "62e1fdf7-cfb5-4175-8b75-6d2ca52e73f2", "comment": "", "command": "type", - "target": "id=/name", + "target": "id=root_name", "targets": [ - ["id=/name", "id"], - ["name=field38", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["id=root_name", "id"], + ["css=#root_name", "css:finder"], + ["xpath=//input[@id='root_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Filter with Script" @@ -319,13 +369,14 @@ "id": "c92e936c-d516-472f-9f28-36de89117e14", "comment": "", "command": "click", - "target": "id=/nameIdFormatFilterTarget.valuedd", + "target": "id=dropdown-", "targets": [ - ["id=/nameIdFormatFilterTarget.valuedd", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.valuedd", "css:finder"], - ["xpath=//button[@id='/nameIdFormatFilterTarget.valuedd']", "xpath:attributes"], + ["id=dropdown-", "id"], + ["css=#dropdown-", "css:finder"], + ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Entity ID')]", "xpath:innerText"] + ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] ], "value": "" }, { @@ -339,14 +390,13 @@ "id": "5699a5a2-d3df-4f99-b95d-f340f9156ffe", "comment": "", "command": "click", - "target": "linkText=Script", + "target": "css=.dropdown-item:nth-child(3)", "targets": [ - ["linkText=Script", "linkText"], ["css=.dropdown-item:nth-child(3)", "css:finder"], - ["xpath=//a[contains(text(),'Script')]", "xpath:link"], - ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], - ["xpath=//a[3]", "xpath:position"], - ["xpath=//a[contains(.,'Script')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[16]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/div/button[3]", "xpath:idRelative"], + ["xpath=//button[3]", "xpath:position"], + ["xpath=//button[contains(.,'Script')]", "xpath:innerText"] ], "value": "" }, { @@ -360,55 +410,45 @@ "id": "786cd3cb-46b2-4361-b449-8f679ff97135", "comment": "", "command": "waitForElementPresent", - "target": "id=/nameIdFormatFilterTarget.target", - "targets": [], - "value": "10000" - }, { - "id": "dcf31546-0976-44ae-9ffc-c29a5255d646", - "comment": "", - "command": "click", - "target": "id=/nameIdFormatFilterTarget.target", + "target": "css=.codearea", "targets": [ - ["id=/nameIdFormatFilterTarget.target", "id"], - ["css=#\\/nameIdFormatFilterTarget\\.target", "css:finder"], - ["xpath=//p[@id='/nameIdFormatFilterTarget.target']", "xpath:attributes"], - ["xpath=//p", "xpath:position"] + ["css=.codearea", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/div", "xpath:idRelative"], + ["xpath=//fieldset/div/div/div[2]/div/div/div", "xpath:position"] ], - "value": "" + "value": "10000" }, { - "id": "05870356-d3db-4540-bb3f-db34b1cf65f1", + "id": "dcf31546-0976-44ae-9ffc-c29a5255d646", "comment": "", - "command": "sendKeys", - "target": "id=/nameIdFormatFilterTarget.target", + "command": "editContent", + "target": "css=.codearea", "targets": [], "value": "eval(true);" }, { - "id": "d7721254-68c9-4140-af2a-1757cce99da7", + "id": "8c7fd197-7b41-4d32-95d3-e5360af438dc", "comment": "", "command": "click", - "target": "css=.section-body", - "targets": [ - ["css=.section-body", "css:finder"], - ["xpath=//section/div[2]", "xpath:position"] - ], + "target": "css=.codearea", + "targets": [], "value": "" }, { "id": "ed6eb266-04f0-4517-b874-ea1d0ba68441", "comment": "", "command": "click", - "target": "css=#\\/filterEnabled\\.parent > .custom-control-label", + "target": "id=root_filterEnabled", "targets": [ - ["css=#\\/filterEnabled\\.parent > .custom-control-label", "css:finder"], - ["xpath=//div[@id='/filterEnabled.parent']/label", "xpath:idRelative"], - ["xpath=//checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Enable Filter?')]", "xpath:innerText"] + ["id=root_filterEnabled", "id"], + ["css=#root_filterEnabled", "css:finder"], + ["xpath=//input[@id='root_filterEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "07ddc80d-1df7-43d3-adf9-a75a2a1348bc", "comment": "", "command": "click", - "target": "css=.btn-primary", + "target": "css=.btn-info", "targets": [ ["css=.btn-primary", "css:finder"], ["xpath=//button[@type='submit']", "xpath:attributes"], diff --git a/backend/src/integration/resources/SHIBUI-1407-1.side b/backend/src/integration/resources/SHIBUI-1407-1.side index fed3a2774..4d3f2e3f9 100644 --- a/backend/src/integration/resources/SHIBUI-1407-1.side +++ b/backend/src/integration/resources/SHIBUI-1407-1.side @@ -49,48 +49,77 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "835bd37c-5d46-42e4-9dbb-ee00d29ccd6c", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "244080e1-7cc9-45e0-a5d8-2821047bc4a1", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "fe6548a8-7893-434b-bdd6-967e7ee32c96", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "ad3811ad-f95b-4cca-a5d9-63a10063a652", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "1caf8be6-a4d9-4b3b-ace1-0f76d3600d62", "comment": "", "command": "click", - "target": "linkText=Metadata Source", + "target": "linkText=Add a new metadata source", "targets": [ - ["linkText=Metadata Source", "linkText"], - ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], - ["xpath=//div/a", "xpath:position"] + ["linkText=Add a new metadata source", "linkText"], + ["css=.text-primary:nth-child(1)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata source')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/new')]", "xpath:href"], + ["xpath=//div/a", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata source')]", "xpath:innerText"] ], "value": "" }, { "id": "295789cf-0603-4fd2-9971-c2ed21d2fc81", "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "id=root_serviceProviderName", + "targets": [ + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], + "value": "30000" }, { "id": "218e51fd-49e6-400b-9d7f-61bcd8e0c074", "comment": "", "command": "click", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ - ["id=/serviceProviderName", "id"], - ["name=field1", "name"], - ["css=#\\/serviceProviderName", "css:finder"], - ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -98,12 +127,12 @@ "id": "9ee43e46-ab9e-46b1-8eb2-9718fb98bda2", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ - ["id=field1", "id"], - ["name=field1", "name"], - ["css=#field1", "css:finder"], - ["xpath=//input[@id='field1']", "xpath:attributes"], + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Test Provider" @@ -111,13 +140,13 @@ "id": "7fe7298b-275c-4797-8d1b-f4547b63eb02", "comment": "", "command": "type", - "target": "id=/entityId", + "target": "id=root_entityId", "targets": [ - ["id=/entityId", "id"], - ["name=field2", "name"], - ["css=#\\/entityId", "css:finder"], - ["xpath=//input[@id='/entityId']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_entityId", "id"], + ["css=#root_entityId", "css:finder"], + ["xpath=//input[@id='root_entityId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "test-1234" }, { @@ -134,12 +163,12 @@ "id": "4d88e469-df2f-40ee-a557-b5eafbc24ef3", "comment": "", "command": "click", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ - ["id=/organization/name", "id"], - ["name=field5", "name"], - ["css=#\\/organization\\/name", "css:finder"], - ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["id=root_organization_name", "id"], + ["css=#root_organization_name", "css:finder"], + ["xpath=//input[@id='root_organization_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -147,12 +176,12 @@ "id": "e0168286-af90-4c0a-a0ba-0dd97d64849b", "comment": "", "command": "type", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ - ["id=field5", "id"], - ["name=field5", "name"], - ["css=#field5", "css:finder"], - ["xpath=//input[@id='field5']", "xpath:attributes"], + ["id=root_organization_name", "id"], + ["css=#root_organization_name", "css:finder"], + ["xpath=//input[@id='root_organization_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Test Org" @@ -160,75 +189,77 @@ "id": "8f6dcf95-41e4-446a-a7fb-a064d928e1bc", "comment": "", "command": "type", - "target": "id=/organization/displayName", + "target": "id=root_organization_displayName", "targets": [ - ["id=/organization/displayName", "id"], - ["name=field6", "name"], - ["css=#\\/organization\\/displayName", "css:finder"], - ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_displayName", "id"], + ["css=#root_organization_displayName", "css:finder"], + ["xpath=//input[@id='root_organization_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "Test Org Name" }, { "id": "7cc2068e-3fa3-4f1c-ac97-c63e78911b9e", "comment": "", "command": "type", - "target": "id=/organization/url", + "target": "id=root_organization_url", "targets": [ - ["id=/organization/url", "id"], - ["name=field7", "name"], - ["css=#\\/organization\\/url", "css:finder"], - ["xpath=//input[@id='/organization/url']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_url", "id"], + ["css=#root_organization_url", "css:finder"], + ["xpath=//input[@id='root_organization_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org" }, { "id": "1da05567-4f8d-4fd8-957a-bfddb2380bfb", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "5379b245-cd77-43c1-b424-3b6595c74174", "comment": "", "command": "click", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=/contacts/0/name", "id"], - ["name=field10", "name"], - ["css=#\\/contacts\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "b658cae2-ba5a-406b-a48c-87d110ff4ed0", "comment": "", "command": "type", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=field10", "id"], - ["name=field10", "name"], - ["css=#field10", "css:finder"], - ["xpath=//input[@id='field10']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Test User" }, { "id": "3a2de62d-c1c1-43a7-a484-8a0d23bf301e", "comment": "", "command": "click", - "target": "id=/contacts/0/type", + "target": "id=root_contacts_0_type", "targets": [ - ["id=/contacts/0/type", "id"], - ["name=field11", "name"], - ["css=#\\/contacts\\/0\\/type", "css:finder"], - ["xpath=//select[@id='/contacts/0/type']", "xpath:attributes"], + ["id=root_contacts_0_type", "id"], + ["css=#root_contacts_0_type", "css:finder"], + ["xpath=//select[@id='root_contacts_0_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "" @@ -236,89 +267,98 @@ "id": "86e4e429-2a72-496a-add8-df2fc079d157", "comment": "", "command": "select", - "target": "id=/contacts/0/type", - "targets": [], - "value": "label=Technical" + "target": "id=root_contacts_0_type", + "targets": [ + ["id=root_contacts_0_type", "id"], + ["css=#root_contacts_0_type", "css:finder"], + ["xpath=//select[@id='root_contacts_0_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] + ], + "value": "label=technical" }, { "id": "95531b0b-c084-422d-bac9-60ee7e7a9f16", "comment": "", "command": "click", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ - ["id=/contacts/0/emailAddress", "id"], - ["name=field12", "name"], - ["css=#\\/contacts\\/0\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/0/emailAddress']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_emailAddress", "id"], + ["css=#root_contacts_0_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_0_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "e5d6662e-38d4-479f-b76b-c0c05fcabe15", "comment": "", "command": "type", - "target": "id=/contacts/0/emailAddress", + "target": "id=root_contacts_0_emailAddress", "targets": [ - ["id=field12", "id"], - ["name=field12", "name"], - ["css=#field12", "css:finder"], - ["xpath=//input[@id='field12']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_emailAddress", "id"], + ["css=#root_contacts_0_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_0_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "user@test.org" }, { "id": "b4e3ea55-b4c0-4585-99fe-ac1534efadd8", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "234de758-df6d-47d7-af74-83aee3fa1e72", "comment": "", "command": "click", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ - ["id=/contacts/1/name", "id"], - ["name=field14", "name"], - ["css=#\\/contacts\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_name", "id"], + ["css=#root_contacts_1_name", "css:finder"], + ["xpath=//input[@id='root_contacts_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "02819e27-7aed-4a1a-867f-f8131c3897d8", "comment": "", "command": "type", - "target": "id=/contacts/1/name", + "target": "id=root_contacts_1_name", "targets": [ - ["id=field14", "id"], - ["name=field14", "name"], - ["css=#field14", "css:finder"], - ["xpath=//input[@id='field14']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_name", "id"], + ["css=#root_contacts_1_name", "css:finder"], + ["xpath=//input[@id='root_contacts_1_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Test User 2" }, { "id": "1d478856-8742-4627-acbe-daed2bb83abe", "comment": "", "command": "click", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ - ["css=#field15 > option:nth-child(2)", "css:finder"], - ["xpath=(//option[@value='1: support'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field15']/option[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[2]", "xpath:position"] + ["id=root_contacts_1_type", "id"], + ["css=#root_contacts_1_type", "css:finder"], + ["xpath=//select[@id='root_contacts_1_type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "9b4c76b4-3851-4aac-a9f5-67e20c36f174", "comment": "", "command": "select", - "target": "id=/contacts/1/type", + "target": "id=root_contacts_1_type", "targets": [ ["id=/contacts/1/type", "id"], ["name=field15", "name"], @@ -326,31 +366,31 @@ ["xpath=//select[@id='/contacts/1/type']", "xpath:attributes"], ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] ], - "value": "label=Support" + "value": "label=support" }, { "id": "5e3fddc1-786d-4040-8351-2f553e3c8811", "comment": "", "command": "click", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ - ["id=/contacts/1/emailAddress", "id"], - ["name=field16", "name"], - ["css=#\\/contacts\\/1\\/emailAddress", "css:finder"], - ["xpath=//input[@id='/contacts/1/emailAddress']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_emailAddress", "id"], + ["css=#root_contacts_1_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_1_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "700d8907-6a65-43d5-aebf-60a392379534", "comment": "", "command": "type", - "target": "id=/contacts/1/emailAddress", + "target": "id=root_contacts_1_emailAddress", "targets": [ - ["id=field16", "id"], - ["name=field16", "name"], - ["css=#field16", "css:finder"], - ["xpath=//input[@id='field16']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_1_emailAddress", "id"], + ["css=#root_contacts_1_emailAddress", "css:finder"], + ["xpath=//input[@id='root_contacts_1_emailAddress']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/input", "xpath:position"] ], "value": "user2@test.org" }, { @@ -367,12 +407,12 @@ "id": "f38b7fca-0c0c-4658-9df6-10a26881c6a5", "comment": "", "command": "click", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=/mdui/displayName", "id"], - ["name=field19", "name"], - ["css=#\\/mdui\\/displayName", "css:finder"], - ["xpath=//input[@id='/mdui/displayName']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -380,12 +420,12 @@ "id": "c03c4582-e1f1-449f-9a79-300d48ad69d8", "comment": "", "command": "type", - "target": "id=/mdui/displayName", + "target": "id=root_mdui_displayName", "targets": [ - ["id=field19", "id"], - ["name=field19", "name"], - ["css=#field19", "css:finder"], - ["xpath=//input[@id='field19']", "xpath:attributes"], + ["id=root_mdui_displayName", "id"], + ["css=#root_mdui_displayName", "css:finder"], + ["xpath=//input[@id='root_mdui_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Display Name" @@ -393,25 +433,25 @@ "id": "5098507c-fa51-4c13-b9a3-381034e0fa52", "comment": "", "command": "type", - "target": "id=/mdui/informationUrl", + "target": "id=root_mdui_informationUrl", "targets": [ - ["id=/mdui/informationUrl", "id"], - ["name=field20", "name"], - ["css=#\\/mdui\\/informationUrl", "css:finder"], - ["xpath=//input[@id='/mdui/informationUrl']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_informationUrl", "id"], + ["css=#root_mdui_informationUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_informationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/info" }, { "id": "d5de3699-5a18-4abe-a2ea-0a2b7565c525", "comment": "", "command": "type", - "target": "id=/mdui/description", + "target": "id=root_mdui_description", "targets": [ - ["id=/mdui/description", "id"], - ["name=field21", "name"], - ["css=#\\/mdui\\/description", "css:finder"], - ["xpath=//textarea[@id='/mdui/description']", "xpath:attributes"], + ["id=root_mdui_description", "id"], + ["css=#root_mdui_description", "css:finder"], + ["xpath=//textarea[@id='root_mdui_description']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div[3]/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "This is a description." @@ -419,65 +459,65 @@ "id": "115bb9a9-e991-4cf0-8bcb-363d9dc3c269", "comment": "", "command": "click", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ - ["id=/mdui/privacyStatementUrl", "id"], - ["name=field22", "name"], - ["css=#\\/mdui\\/privacyStatementUrl", "css:finder"], - ["xpath=//input[@id='/mdui/privacyStatementUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_privacyStatementUrl", "id"], + ["css=#root_mdui_privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_privacyStatementUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "df623bef-a1fc-48ff-aa93-05e0da85ef51", "comment": "", "command": "type", - "target": "id=/mdui/privacyStatementUrl", + "target": "id=root_mdui_privacyStatementUrl", "targets": [ - ["id=field22", "id"], - ["name=field22", "name"], - ["css=#field22", "css:finder"], - ["xpath=//input[@id='field22']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_privacyStatementUrl", "id"], + ["css=#root_mdui_privacyStatementUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_privacyStatementUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "http://test.org/privacy" }, { "id": "ed17408b-a763-4e5d-86cd-efe575df8d08", "comment": "", "command": "type", - "target": "id=/mdui/logoUrl", + "target": "id=root_mdui_logoUrl", "targets": [ - ["id=/mdui/logoUrl", "id"], - ["name=field23", "name"], - ["css=#\\/mdui\\/logoUrl", "css:finder"], - ["xpath=//input[@id='/mdui/logoUrl']", "xpath:attributes"], - ["xpath=//fieldset[2]/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_mdui_logoUrl", "id"], + ["css=#root_mdui_logoUrl", "css:finder"], + ["xpath=//input[@id='root_mdui_logoUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/input", "xpath:position"] ], "value": "http://test.org/logo" }, { "id": "2946a968-7289-43e5-820d-b1aee442ce96", "comment": "", "command": "type", - "target": "id=/mdui/logoWidth", + "target": "id=root_mdui_logoWidth", "targets": [ - ["id=/mdui/logoWidth", "id"], - ["name=field24", "name"], - ["css=#\\/mdui\\/logoWidth", "css:finder"], - ["xpath=//input[@id='/mdui/logoWidth']", "xpath:attributes"], - ["xpath=//integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoWidth", "id"], + ["css=#root_mdui_logoWidth", "css:finder"], + ["xpath=//input[@id='root_mdui_logoWidth']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "200" }, { "id": "ceec5477-13d4-4ab4-944e-a2a34a9b4510", "comment": "", "command": "type", - "target": "id=/mdui/logoHeight", + "target": "id=root_mdui_logoHeight", "targets": [ - ["id=/mdui/logoHeight", "id"], - ["name=field25", "name"], - ["css=#\\/mdui\\/logoHeight", "css:finder"], - ["xpath=//input[@id='/mdui/logoHeight']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/integer-component/div/input", "xpath:position"] + ["id=root_mdui_logoHeight", "id"], + ["css=#root_mdui_logoHeight", "css:finder"], + ["xpath=//input[@id='root_mdui_logoHeight']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div[2]/div[3]/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/input", "xpath:position"] ], "value": "300" }, { @@ -494,20 +534,20 @@ "id": "88054c63-d468-4340-b4d3-c69fb6ed6f96", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: SAML 2']", "xpath:attributes"], - ["xpath=//select[@id='field28']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SAML 2')]", "xpath:innerText"] + ["id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "id"], + ["css=#root_serviceProviderSsoDescriptor_protocolSupportEnum", "css:finder"], + ["xpath=//select[@id='root_serviceProviderSsoDescriptor_protocolSupportEnum']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "c77b3648-fce1-46f9-aec9-ca88c90d4c92", "comment": "", "command": "select", - "target": "id=/serviceProviderSsoDescriptor/protocolSupportEnum", + "target": "id=root_serviceProviderSsoDescriptor_protocolSupportEnum", "targets": [ ["id=/serviceProviderSsoDescriptor/protocolSupportEnum", "id"], ["name=field28", "name"], @@ -520,11 +560,13 @@ "id": "aec93dce-3142-4df3-b09d-735c70d1197b", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -538,13 +580,12 @@ "id": "a0102f51-f1d8-4c38-9170-482022ea7397", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", + "target": "css=.toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -558,23 +599,29 @@ "id": "9033e5ad-4255-4aa7-a878-c7beab69ee8e", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/0__option--0", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "c21b1d7a-9325-4d70-887d-387c7a042c08", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -588,12 +635,12 @@ "id": "c1534880-c4e5-4fbd-b200-c28f9f556ab9", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div[2]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -607,24 +654,29 @@ "id": "d07b2d83-3699-4f48-90e8-6fc883d3a02a", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/1__option--1", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "2c77ecbc-45cc-471c-9e39-f87ec06a9385", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -638,12 +690,12 @@ "id": "97a98737-862d-4567-8b20-c5c991444ed0", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -657,24 +709,29 @@ "id": "686e004c-2b0f-4308-8622-b04bc05a50a9", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/2__option--2", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "104367d3-f250-4439-8721-32dcf9f25e0c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -688,12 +745,12 @@ "id": "e2e8d5d4-8b6a-42d5-9fe7-abb8a84216e3", "comment": "", "command": "click", - "target": "css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/serviceProviderSsoDescriptor/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -707,30 +764,36 @@ "id": "b6ac5230-772b-44bc-b9d1-6ae8a58e0368", "comment": "", "command": "click", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "targets": [ - ["id=/serviceProviderSsoDescriptor/nameIdFormats/3__option--3", "id"], - ["css=#\\/serviceProviderSsoDescriptor\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/serviceProviderSsoDescriptor/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "d135ef80-69d8-4cd1-b581-5e1973342082", "comment": "", "command": "click", - "target": "css=.btn-success > translate-i18n", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "id=/serviceProviderSsoDescriptor/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field34", "id"], ["css=#field34", "css:finder"], @@ -739,6 +802,13 @@ ["xpath=//li[5]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "somethingElse" + }, { + "id": "ce53cbc9-f15b-416c-9201-a56366e1837f", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -753,23 +823,25 @@ "id": "0de0345e-c9d2-4904-b797-a36965c5d82c", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "62ade28b-19d4-4c54-b179-0d36312c578f", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ - ["id=/logoutEndpoints/0/url", "id"], - ["name=field38", "name"], - ["css=#\\/logoutEndpoints\\/0\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/0/url']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_url", "id"], + ["css=#root_logoutEndpoints_0_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_0_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -777,12 +849,12 @@ "id": "517e5991-197d-42fd-86ff-4da5fd04949b", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/0/url", + "target": "id=root_logoutEndpoints_0_url", "targets": [ - ["id=field38", "id"], - ["name=field38", "name"], - ["css=#field38", "css:finder"], - ["xpath=//input[@id='field38']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_url", "id"], + ["css=#root_logoutEndpoints_0_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_0_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "http://test.org/logout" @@ -790,25 +862,25 @@ "id": "034f6a60-6b2d-42f1-adb4-515c8a750953", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field39']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_logoutEndpoints_0_bindingType", "id"], + ["css=#root_logoutEndpoints_0_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_0_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "6967d0bb-dbf7-4f57-9e55-6de71abd69c1", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/0/bindingType", + "target": "id=root_logoutEndpoints_0_bindingType", "targets": [ - ["id=/logoutEndpoints/0/bindingType", "id"], - ["name=field39", "name"], - ["css=#\\/logoutEndpoints\\/0\\/bindingType", "css:finder"], - ["xpath=//select[@id='/logoutEndpoints/0/bindingType']", "xpath:attributes"], + ["id=root_logoutEndpoints_0_bindingType", "id"], + ["css=#root_logoutEndpoints_0_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_0_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" @@ -816,61 +888,65 @@ "id": "542f9b37-a63d-4acb-ba3e-2ac3706b6667", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "39dedb16-bcd2-496a-af85-7d20a129593b", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ - ["id=/logoutEndpoints/1/url", "id"], - ["name=field41", "name"], - ["css=#\\/logoutEndpoints\\/1\\/url", "css:finder"], - ["xpath=//input[@id='/logoutEndpoints/1/url']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_logoutEndpoints_1_url", "id"], + ["css=#root_logoutEndpoints_1_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_1_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d25f708c-f72a-4fb7-88c1-a25a61d9f72a", "comment": "", "command": "type", - "target": "id=/logoutEndpoints/1/url", + "target": "id=root_logoutEndpoints_1_url", "targets": [ - ["id=field41", "id"], - ["name=field41", "name"], - ["css=#field41", "css:finder"], - ["xpath=//input[@id='field41']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_logoutEndpoints_1_url", "id"], + ["css=#root_logoutEndpoints_1_url", "css:finder"], + ["xpath=//input[@id='root_logoutEndpoints_1_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org/logout2" }, { "id": "bee9600e-b6db-484a-9b87-d7c657911108", "comment": "", "command": "click", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ - ["css=#field42 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redir'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field42']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_logoutEndpoints_1_bindingType", "id"], + ["css=#root_logoutEndpoints_1_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_1_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "e0e7ef9b-4ed1-4df2-b501-9cbb855baa7f", "comment": "", "command": "select", - "target": "id=/logoutEndpoints/1/bindingType", + "target": "id=root_logoutEndpoints_1_bindingType", "targets": [ - ["id=/logoutEndpoints/1/bindingType", "id"], - ["name=field42", "name"], - ["css=#\\/logoutEndpoints\\/1\\/bindingType", "css:finder"], - ["xpath=//select[@id='/logoutEndpoints/1/bindingType']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ["id=root_logoutEndpoints_1_bindingType", "id"], + ["css=#root_logoutEndpoints_1_bindingType", "css:finder"], + ["xpath=//select[@id='root_logoutEndpoints_1_bindingType']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[6]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" }, { @@ -883,91 +959,84 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "6c794e94-9c64-4683-816a-380432f2ed79", - "comment": "", - "command": "click", - "target": "id=/securityInfo/x509CertificateAvailable.true", - "targets": [ - ["id=/securityInfo/x509CertificateAvailable.true", "id"], - ["css=#\\/securityInfo\\/x509CertificateAvailable\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509CertificateAvailable.true']", "xpath:attributes"], - ["xpath=//input", "xpath:position"] - ], - "value": "" }, { "id": "f0ade90e-2c31-4a77-b936-3b2a00388477", "comment": "", "command": "click", - "target": "id=/securityInfo/authenticationRequestsSigned.true", + "target": "id=root_securityInfo_authenticationRequestsSigned-value.true", "targets": [ - ["id=/securityInfo/authenticationRequestsSigned.true", "id"], - ["css=#\\/securityInfo\\/authenticationRequestsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/authenticationRequestsSigned.true']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_authenticationRequestsSigned-value.true", "id"], + ["name=root_securityInfo_authenticationRequestsSigned", "name"], + ["css=#root_securityInfo_authenticationRequestsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_authenticationRequestsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "e26eda6f-1897-42e2-9ea9-671b1ff88874", "comment": "", "command": "click", - "target": "id=/securityInfo/wantAssertionsSigned.true", + "target": "id=root_securityInfo_wantAssertionsSigned-value.true", "targets": [ - ["id=/securityInfo/wantAssertionsSigned.true", "id"], - ["css=#\\/securityInfo\\/wantAssertionsSigned\\.true", "css:finder"], - ["xpath=//input[@id='/securityInfo/wantAssertionsSigned.true']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_securityInfo_wantAssertionsSigned-value.true", "id"], + ["name=root_securityInfo_wantAssertionsSigned", "name"], + ["css=#root_securityInfo_wantAssertionsSigned-value\\.true", "css:finder"], + ["xpath=//input[@id='root_securityInfo_wantAssertionsSigned-value.true']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[2]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "3e11e54a-1b36-43ed-a8e5-d91f1fbed991", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ - ["id=/securityInfo/x509Certificates/0/name", "id"], - ["name=field50", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/name']", "xpath:attributes"], - ["xpath=//div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5acb8e19-16a3-4139-a961-1b58c11c4681", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/name", + "target": "id=root_securityInfo_x509Certificates_0_name", "targets": [ - ["id=field50", "id"], - ["name=field50", "name"], - ["css=#field50", "css:finder"], - ["xpath=//input[@id='field50']", "xpath:attributes"], - ["xpath=//div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Cert 1 Name" }, { "id": "23ff8b87-ac6c-4f82-a779-aa91be11f49c", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/type.0", + "target": "id=root_securityInfo_x509Certificates_0_type-signing", "targets": [ - ["id=/securityInfo/x509Certificates/0/type.0", "id"], - ["name=field55", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/type\\.0", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/0/type.0']", "xpath:attributes"], - ["xpath=//div/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_type-signing", "id"], + ["name=root_securityInfo_x509Certificates_0_type", "name"], + ["css=#root_securityInfo_x509Certificates_0_type-signing", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_type-signing']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "dd15088c-ddc9-42fd-8f8d-f73338be71b6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ - ["id=/securityInfo/x509Certificates/0/value", "id"], - ["name=field52", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/0\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/0/value']", "xpath:attributes"], + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "" @@ -975,11 +1044,12 @@ "id": "813bf709-6c73-41ac-837a-5be076fa43c7", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/0/value", + "target": "id=root_securityInfo_x509Certificates_0_value", "targets": [ - ["name=field52", "name"], - ["css=.text-widget", "css:finder"], - ["xpath=//textarea[@name='field52']", "xpath:attributes"], + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], ["xpath=//textarea", "xpath:position"] ], "value": "This is cert 1." @@ -987,73 +1057,78 @@ "id": "fcf4cc15-54f4-4add-a093-e7ba5f2dc556", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "cbe577f6-3d18-49d9-95ab-2e597e5308a6", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ - ["id=/securityInfo/x509Certificates/1/name", "id"], - ["name=field54", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/name", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/name']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "ae98e813-77f4-424e-9141-d48e6127d9b6", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/name", + "target": "id=root_securityInfo_x509Certificates_1_name", "targets": [ - ["id=field54", "id"], - ["name=field54", "name"], - ["css=#field54", "css:finder"], - ["xpath=//input[@id='field54']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_name", "id"], + ["css=#root_securityInfo_x509Certificates_0_name", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Cert 2 Name" }, { "id": "835ad053-0a10-4606-a148-c7ba36be316f", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/type.1", + "target": "id=root_securityInfo_x509Certificates_1_type-encryption", "targets": [ - ["id=/securityInfo/x509Certificates/1/type.1", "id"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/type\\.1", "css:finder"], - ["xpath=//input[@id='/securityInfo/x509Certificates/1/type.1']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-radio-widget/div/div[2]/input", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_type-encryption", "id"], + ["css=#root_securityInfo_x509Certificates_0_type-encryption", "css:finder"], + ["xpath=//input[@id='root_securityInfo_x509Certificates_0_type-encryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "e272cafa-3aba-4aff-972e-b1d45e627b88", "comment": "", "command": "click", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ - ["id=/securityInfo/x509Certificates/1/value", "id"], - ["name=field56", "name"], - ["css=#\\/securityInfo\\/x509Certificates\\/1\\/value", "css:finder"], - ["xpath=//textarea[@id='/securityInfo/x509Certificates/1/value']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], + ["xpath=//textarea", "xpath:position"] ], "value": "" }, { "id": "ae42d668-92ba-4cb8-9daf-a2a64ac18404", "comment": "", "command": "type", - "target": "id=/securityInfo/x509Certificates/1/value", + "target": "id=root_securityInfo_x509Certificates_1_value", "targets": [ - ["name=field56", "name"], - ["css=.ng-untouched:nth-child(3)", "css:finder"], - ["xpath=//textarea[@name='field56']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[3]/sf-form-element/div/sf-widget-chooser/textarea-component/div/textarea", "xpath:position"] + ["id=root_securityInfo_x509Certificates_0_value", "id"], + ["css=#root_securityInfo_x509Certificates_0_value", "css:finder"], + ["xpath=//textarea[@id='root_securityInfo_x509Certificates_0_value']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[7]/div/div/div/div/div/div[3]/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/textarea", "xpath:idRelative"], + ["xpath=//textarea", "xpath:position"] ], "value": "This is cert 2." }, { @@ -1070,23 +1145,25 @@ "id": "573c9f4c-c677-4175-96c5-3aaaf86e5ac1", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "50c1a3a1-b51c-41f9-81ff-d3d2894861ad", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ - ["id=/assertionConsumerServices/0/locationUrl", "id"], - ["name=field60", "name"], - ["css=#\\/assertionConsumerServices\\/0\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/0/locationUrl']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_locationUrl", "id"], + ["css=#root_assertionConsumerServices_0_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -1094,12 +1171,12 @@ "id": "6ff4002a-1c57-4778-b402-f917efaa5194", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/0/locationUrl", + "target": "id=root_assertionConsumerServices_0_locationUrl", "targets": [ - ["id=field60", "id"], - ["name=field60", "name"], - ["css=#field60", "css:finder"], - ["xpath=//input[@id='field60']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_locationUrl", "id"], + ["css=#root_assertionConsumerServices_0_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "http://test.org/assert" @@ -1107,25 +1184,25 @@ "id": "e81c5045-98c3-499c-bff5-2645efa4c55d", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST']", "xpath:attributes"], - ["xpath=//select[@id='field61']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_binding", "id"], + ["css=#root_assertionConsumerServices_0_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_0_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], "value": "" }, { "id": "24c810c8-747a-4ae2-91e5-16685d589f21", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/0/binding", + "target": "id=root_assertionConsumerServices_0_binding", "targets": [ - ["id=/assertionConsumerServices/0/binding", "id"], - ["name=field61", "name"], - ["css=#\\/assertionConsumerServices\\/0\\/binding", "css:finder"], - ["xpath=//select[@id='/assertionConsumerServices/0/binding']", "xpath:attributes"], + ["id=root_assertionConsumerServices_0_binding", "id"], + ["css=#root_assertionConsumerServices_0_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_0_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], ["xpath=//select", "xpath:position"] ], "value": "label=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" @@ -1133,72 +1210,78 @@ "id": "c221b1f5-2961-4cbd-a545-1e34a09b8153", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_assertionConsumerServices_0_makeDefault", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Mark as Default')]", "xpath:innerText"] + ["id=root_assertionConsumerServices_0_makeDefault", "id"], + ["css=#root_assertionConsumerServices_0_makeDefault", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_0_makeDefault']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "cb058717-f20f-4a54-81e5-9a7dcf66ec0e", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[6]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "f9998203-830b-44d3-8392-45b737544177", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ - ["id=/assertionConsumerServices/1/locationUrl", "id"], - ["name=field64", "name"], - ["css=#\\/assertionConsumerServices\\/1\\/locationUrl", "css:finder"], - ["xpath=//input[@id='/assertionConsumerServices/1/locationUrl']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_assertionConsumerServices_1_locationUrl", "id"], + ["css=#root_assertionConsumerServices_1_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_1_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "d5cbf5e8-7c5b-45f7-8645-dd9f9d39922e", "comment": "", "command": "type", - "target": "id=/assertionConsumerServices/1/locationUrl", + "target": "id=root_assertionConsumerServices_1_locationUrl", "targets": [ - ["id=field64", "id"], - ["name=field64", "name"], - ["css=#field64", "css:finder"], - ["xpath=//input[@id='field64']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_assertionConsumerServices_1_locationUrl", "id"], + ["css=#root_assertionConsumerServices_1_locationUrl", "css:finder"], + ["xpath=//input[@id='root_assertionConsumerServices_1_locationUrl']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "http://test.org/assert2" }, { "id": "74de4187-3d1e-4a4d-af8e-966f00649ab8", "comment": "", "command": "click", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ - ["css=#field65 > option:nth-child(3)", "css:finder"], - ["xpath=(//option[@value='2: urn:oasis:names:tc:SAML:1.0:profiles:browser-po'])[2]", "xpath:attributes"], - ["xpath=//select[@id='field65']/option[3]", "xpath:idRelative"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select/option[3]", "xpath:position"] + ["id=root_assertionConsumerServices_1_binding", "id"], + ["css=#root_assertionConsumerServices_1_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_1_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "" }, { "id": "929c1047-f455-418b-b23e-a383d681f028", "comment": "", "command": "select", - "target": "id=/assertionConsumerServices/1/binding", + "target": "id=root_assertionConsumerServices_1_binding", "targets": [ - ["id=/assertionConsumerServices/1/binding", "id"], - ["name=field65", "name"], - ["css=#\\/assertionConsumerServices\\/1\\/binding", "css:finder"], - ["xpath=//select[@id='/assertionConsumerServices/1/binding']", "xpath:attributes"], - ["xpath=//li[2]/div/div/div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div[2]/sf-form-element/div/sf-widget-chooser/select-component/div/select", "xpath:position"] + ["id=root_assertionConsumerServices_1_binding", "id"], + ["css=#root_assertionConsumerServices_1_binding", "css:finder"], + ["xpath=//select[@id='root_assertionConsumerServices_1_binding']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[8]/div/div/div/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div/select", "xpath:position"] ], "value": "label=urn:oasis:names:tc:SAML:1.0:profiles:browser-post" }, { @@ -1215,101 +1298,117 @@ "id": "134bf1f3-1e86-49e7-91de-185e513b02be", "comment": "", "command": "click", - "target": "css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", + "target": "id=root_relyingPartyOverrides_signAssertion", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Sign the Assertion?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_signAssertion", "id"], + ["css=#root_relyingPartyOverrides_signAssertion", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_signAssertion']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "5cd1ae5f-678a-4be8-a03f-b290006e52fe", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_dontSignResponse", "targets": [ - ["css=div:nth-child(2) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"] + ["id=root_relyingPartyOverrides_dontSignResponse", "id"], + ["css=#root_relyingPartyOverrides_dontSignResponse", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_dontSignResponse']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "5895d555-6ef5-4344-b177-00e905f9007c", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element .custom-control-label", + "target": "id=root_relyingPartyOverrides_turnOffEncryption", "targets": [ - ["css=div:nth-child(3) > sf-form-element .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Turn off Encryption of Response?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_turnOffEncryption", "id"], + ["css=#root_relyingPartyOverrides_turnOffEncryption", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_turnOffEncryption']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "8d834380-e312-494d-9b4b-c5b798cc9b15", "comment": "", "command": "click", - "target": "css=div:nth-child(4) .custom-control-label", + "target": "id=root_relyingPartyOverrides_useSha", "targets": [ - ["css=div:nth-child(4) .custom-control-label", "css:finder"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Use SHA1 Signing Algorithm?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_useSha", "id"], + ["css=#root_relyingPartyOverrides_useSha", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_useSha']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "bcf532a9-ba5a-4ca1-a342-dde53bc4a592", "comment": "", "command": "click", - "target": "css=div:nth-child(5) .custom-control-label", + "target": "id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "targets": [ - ["css=div:nth-child(5) .custom-control-label", "css:finder"], - ["xpath=//div[5]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Ignore any SP-Requested Authentication Method?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_ignoreAuthenticationMethod", "id"], + ["css=#root_relyingPartyOverrides_ignoreAuthenticationMethod", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_ignoreAuthenticationMethod']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[5]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "45f3df44-1c34-4649-aedb-14207e9ce999", "comment": "", "command": "click", - "target": "css=div:nth-child(6) .custom-control-label", + "target": "id=root_relyingPartyOverrides_omitNotBefore", "targets": [ - ["css=div:nth-child(6) .custom-control-label", "css:finder"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Omit Not Before Condition?')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_omitNotBefore", "id"], + ["css=#root_relyingPartyOverrides_omitNotBefore", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_omitNotBefore']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[6]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "7ccb7d88-b113-4ee9-8582-b3d781fa8846", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=/relyingPartyOverrides/responderId", "id"], - ["name=field121", "name"], - ["css=#\\/relyingPartyOverrides\\/responderId", "css:finder"], - ["xpath=//input[@id='/relyingPartyOverrides/responderId']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "afe1b839-3421-4816-bf69-c804add681ba", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/responderId", + "target": "id=root_relyingPartyOverrides_responderId", "targets": [ - ["id=field75", "id"], - ["name=field75", "name"], - ["css=#field75", "css:finder"], - ["xpath=//input[@id='field75']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_relyingPartyOverrides_responderId", "id"], + ["css=#root_relyingPartyOverrides_responderId", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_responderId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[7]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/input", "xpath:position"] ], "value": "responder-id-123" }, { "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1323,13 +1422,12 @@ "id": "2a91666b-5453-4064-8923-c3384835b6fd", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/0-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[15]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1343,24 +1441,29 @@ "id": "6e8718ef-e053-48d8-91e5-f5128e371f56", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/0__listbox']/li", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified')]", "xpath:innerText"] ], "value": "" }, { "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1374,12 +1477,9 @@ "id": "fd33610c-dbca-410d-b2a4-117a1b2b6a79", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", + "target": "css=.mt-2:nth-child(2) .mr-2 .svg-inline--fa", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[3]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/1-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(2) .mr-2 .svg-inline--fa", "css:finder"] ], "value": "" }, { @@ -1393,24 +1493,29 @@ "id": "3cd47415-5e57-4148-a40b-9571e6791f3f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "" }, { "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1424,12 +1529,12 @@ "id": "208b33cf-f983-4a82-9b1b-19cdf2a937fc", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", + "target": "css=.mt-2:nth-child(3) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/2-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(3) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[19]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1443,24 +1548,29 @@ "id": "b4beb2b3-8481-4431-9299-a39a4107f17f", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent')]", "xpath:innerText"] ], "value": "" }, { "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .d-flex > .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { @@ -1474,12 +1584,12 @@ "id": "788a5b63-a75f-4aeb-9a5d-17c41e8f718e", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", + "target": "css=.mt-2:nth-child(4) .toggle-button", "targets": [ - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], - ["xpath=//div[@id='/relyingPartyOverrides/nameIdFormats/3-container']/div/div/button", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button", "xpath:position"] + ["css=.mt-2:nth-child(4) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[21]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1493,30 +1603,36 @@ "id": "c82d6951-13e2-4d32-9e19-eac52bfdc188", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/3__option--3", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "targets": [ - ["id=/relyingPartyOverrides/nameIdFormats/3__option--3", "id"], - ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/3__option--3", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/nameIdFormats/3__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/nameIdFormats/3__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:nameid-format:transient", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" }, { "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=div:nth-child(8) .btn", + "target": "css=.row:nth-child(8) .array-add-button", "targets": [ - ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], - ["xpath=//div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(8) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], @@ -1529,7 +1645,7 @@ "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/nameIdFormats/4", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1542,8 +1658,13 @@ "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", - "targets": [], + "target": "css=.row:nth-child(9) .array-add-button", + "targets": [ + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] + ], "value": "" }, { "id": "0b950018-bd12-433a-b198-682d4ea55a90", @@ -1556,7 +1677,7 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], @@ -1575,23 +1696,28 @@ "id": "6c62d514-0143-49d9-97b3-6b7cb443df9d", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/0__option--0", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/0__option--0", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0__option--0", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/0__option--0']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/0__listbox']/li", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "id"], + ["linkText=https://refeds.org/profile/mfa", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0-item-0']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_0']/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '#')]", "xpath:href"], + ["xpath=//div[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'https://refeds.org/profile/mfa')]", "xpath:innerText"] ], "value": "" }, { "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1605,7 +1731,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1624,23 +1750,28 @@ "id": "5a32d59b-1ac3-4cd0-a2d8-0e934f8182fd", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/1__option--1", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/1__option--1", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1__option--1", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/1__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/1__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[2]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[2]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_1']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken')]", "xpath:innerText"] ], "value": "" }, { "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1654,7 +1785,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1673,30 +1804,35 @@ "id": "6a7bce1a-34be-4d4c-b732-d2f198e8b8a1", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/2__option--2", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "targets": [ - ["id=/relyingPartyOverrides/authenticationMethods/2__option--2", "id"], - ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2__option--2", "css:finder"], - ["xpath=//li[@id='/relyingPartyOverrides/authenticationMethods/2__option--2']", "xpath:attributes"], - ["xpath=//ul[@id='/relyingPartyOverrides/authenticationMethods/2__listbox']/li[3]", "xpath:idRelative"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[3]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[3]", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "id"], + ["linkText=urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2-item-2']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_2']/a[3]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[3]", "xpath:href"], + ["xpath=//a[3]", "xpath:position"], + ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport')]", "xpath:innerText"] ], "value": "" }, { "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=div:nth-child(9) .btn", + "target": "css=.row:nth-child(9) .array-add-button", "targets": [ - ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] + ["css=.row:nth-child(9) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], @@ -1709,7 +1845,7 @@ "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "id=/relyingPartyOverrides/authenticationMethods/3", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1718,15 +1854,24 @@ ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/ul/li[4]/div/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/input", "xpath:position"] ], "value": "otherThings" + }, { + "id": "74827780-a9c2-49c6-a709-7578597bf20d", + "comment": "", + "command": "sendKeys", + "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "targets": [], + "value": "${KEY_ENTER}" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", "command": "click", - "target": "css=div:nth-child(10) .custom-control-label", + "target": "id=root_relyingPartyOverrides_forceAuthn", "targets": [ - ["css=div:nth-child(10) .custom-control-label", "css:finder"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Force AuthN')]", "xpath:innerText"] + ["id=root_relyingPartyOverrides_forceAuthn", "id"], + ["css=#root_relyingPartyOverrides_forceAuthn", "css:finder"], + ["xpath=//input[@id='root_relyingPartyOverrides_forceAuthn']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[10]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[10]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -1739,15 +1884,22 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" + }, { + "id": "55520cbd-fef3-4286-b63c-63637afe5c71", + "comment": "", + "command": "waitForElementVisible", + "target": "css=.fa-check", + "targets": [ + ["css=.fa-check", "css:finder"] + ], + "value": "30000" }, { "id": "553dd570-b1bb-43bb-a469-63ee08a09794", "comment": "", "command": "click", "target": "css=.fa-check", "targets": [ - ["css=.fa-check", "css:finder"], - ["xpath=//button[@id='/attributeRelease.checkall']/i", "xpath:idRelative"], - ["xpath=//td[2]/button/i", "xpath:position"] + ["css=.fa-check", "css:finder"] ], "value": "" }, { @@ -1764,22 +1916,24 @@ "id": "14ca713a-313d-4cda-82ca-a0b814ce81dc", "comment": "", "command": "click", - "target": "css=.custom-control-label", + "target": "id=root_serviceEnabled", "targets": [ - ["css=.custom-control-label", "css:finder"], - ["xpath=//label", "xpath:position"], - ["xpath=//label[contains(.,'Enable this service?')]", "xpath:innerText"] + ["id=root_serviceEnabled", "id"], + ["css=#root_serviceEnabled", "css:finder"], + ["xpath=//input[@id='root_serviceEnabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[11]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "3baa7bd3-55c0-4d10-8aa3-c0daa63ec4d4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -1787,33 +1941,34 @@ "id": "0d355ff0-0449-49a7-ae75-14d7c405b97c", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(7) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert2')]", "xpath:innerText"] ], "value": "http://test.org/assert2" }, { "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(8) .border-0", + "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "targets": [ - ["css=array-property:nth-child(8) .border-0", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:idRelative"], - ["xpath=//section[8]/div/div[2]/object-property/object-property/array-property/div/ul/li[5]", "xpath:position"] + ["css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]", "xpath:idRelative"], + ["xpath=//div[8]/ul/li[5]", "xpath:position"] ], "value": "somethingElse" }, { "id": "18636780-2feb-458f-97be-cf4a625b22e1", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(2) > .py-2 > span", + "target": "css=.justify-content-start:nth-child(2) > .py-2", "targets": [ - ["css=.d-flex:nth-child(2) > .py-2 > span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[9]/div/div[2]/object-property/array-property/div/div[2]/div/span", "xpath:idRelative"], - ["xpath=//array-property/div/div[2]/div/span", "xpath:position"] + ["css=.justify-content-start:nth-child(2) > .py-2", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[9]/div/div[2]/div[2]/div[2]/div", "xpath:idRelative"], + ["xpath=//section[9]/div/div[2]/div[2]/div[2]/div", "xpath:position"] ], "value": "True" }, { @@ -1830,11 +1985,12 @@ "id": "4e0fa4f5-817f-41fb-9885-60f37b699436", "comment": "", "command": "waitForElementVisible", - "target": "css=tr > .text-right", + "target": "css=td:nth-child(1)", "targets": [ - ["css=tr > .text-right", "css:finder"], - ["xpath=//td[5]", "xpath:position"], - ["xpath=//td[contains(.,'Enabled')]", "xpath:innerText"] + ["css=td:nth-child(1)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td", "xpath:idRelative"], + ["xpath=//td", "xpath:position"], + ["xpath=//td[contains(.,'Test Provider')]", "xpath:innerText"] ], "value": "10000" }, { @@ -1943,11 +2099,12 @@ "id": "01da89d4-e043-4f99-9d98-dcb42b9b4777", "comment": "", "command": "click", - "target": "css=.btn-link", + "target": "css=.px-3", "targets": [ - ["css=.btn-link", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div/button", "xpath:position"], + ["css=.px-3", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/form/div/div/div/button", "xpath:idRelative"], + ["xpath=//form/div/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Clear')]", "xpath:innerText"] ], "value": "" @@ -1988,11 +2145,11 @@ "id": "16271513-203c-4528-870f-dcf73f4d81cb", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"], + ["css=div:nth-child(2) > div:nth-child(2) > .d-flex > .text-truncate", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'test-1234')]", "xpath:innerText"] ], "value": "test-1234" @@ -2000,22 +2157,23 @@ "id": "3f2c3eab-ecbf-45f3-bcdc-a5cad766b27c", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", + "target": "css=div:nth-child(5) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "targets": [ - ["css=array-property:nth-child(5) .py-2:nth-child(2) > .d-flex:nth-child(3) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/array-property/div/div[2]/div[3]/div[2]", "xpath:idRelative"], - ["xpath=//div[3]/div[2]", "xpath:position"] + ["css=div:nth-child(5) > .py-2:nth-child(2) > .d-flex:nth-child(3) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div[3]/span", "xpath:idRelative"], + ["xpath=//div[3]/span", "xpath:position"], + ["xpath=//span[contains(.,'user@test.org')]", "xpath:innerText"] ], "value": "user@test.org" }, { "id": "467409c7-1007-4c45-80d2-0b4eea5199a0", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(4) div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/object-property/primitive-property[2]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(4) div:nth-child(2) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[2]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div[2]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'http://test.org/info')]", "xpath:innerText"] ], "value": "http://test.org/info" @@ -2023,63 +2181,58 @@ "id": "eaaf9d59-1466-4736-924c-56c9b3f7522f", "comment": "", "command": "assertText", - "target": "css=array-property:nth-child(2) .text-truncate:nth-child(2)", + "target": "css=.d-flex:nth-child(2) .d-flex:nth-child(2) > .d-block", "targets": [ - ["css=array-property:nth-child(2) .text-truncate:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[3]/div/div[2]/object-property/object-property/array-property/div/div/ul/li[2]", "xpath:idRelative"], - ["xpath=//div/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] + ["css=.d-flex:nth-child(2) .d-flex:nth-child(2) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[3]/div/div[2]/div[2]/div/div[2]/ul/li[2]/span", "xpath:idRelative"], + ["xpath=//ul/li[2]/span", "xpath:position"], + ["xpath=//span[contains(.,'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')]", "xpath:innerText"] ], "value": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" }, { "id": "2a23096f-d5cd-4727-af1b-130388117aa0", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(6) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(4) .py-2:nth-child(3) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[4]/div/div[2]/object-property/array-property/div/div[3]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(6) .py-2:nth-child(3) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[4]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:idRelative"], + ["xpath=//section[4]/div/div[2]/div[2]/div/div[3]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/logout2')]", "xpath:innerText"] ], "value": "http://test.org/logout2" - }, { - "id": "e1cba732-dd34-4c73-9d4c-89c440975dd8", - "comment": "", - "command": "runScript", - "target": "window.scrollTo(0,2060)", - "targets": [], - "value": "" }, { "id": "fe47ffd2-d2a0-4264-90fe-31b998f81ac2", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(7) .p-2 > div > div > div:nth-child(3) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(5) primitive-property:nth-child(3) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[5]/div/div[2]/object-property/object-property/primitive-property[3]/div/span[2]", "xpath:position"] + ["css=.mb-4:nth-child(7) .p-2 > div > div > div:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[5]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[5]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"] ], "value": "true" }, { "id": "7300785c-b83e-49b8-97a6-d66516f6c133", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", + "target": "css=.mb-4:nth-child(8) .py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block", "targets": [ - ["css=.mb-4:nth-child(6) .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:idRelative"], - ["xpath=//section[6]/div/div[2]/object-property/array-property/div/div[2]/div/div[2]", "xpath:position"] + ["css=.mb-4:nth-child(8) .py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[6]/div/div[2]/div[2]/div/div[2]/div/span", "xpath:idRelative"], + ["xpath=//section[6]/div/div[2]/div[2]/div/div[2]/div/span", "xpath:position"], + ["xpath=//span[contains(.,'http://test.org/assert')]", "xpath:innerText"] ], "value": "http://test.org/assert" }, { "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(7) primitive-property:nth-child(7) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/object-property/object-property/primitive-property[7]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] ], "value": "responder-id-123" @@ -2087,63 +2240,77 @@ "id": "e8b794fc-20e2-4317-8bdd-73eee8e94951", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(3) > .py-2 > span", + "target": "css=.d-flex:nth-child(3) > .py-2", "targets": [ - ["css=.d-flex:nth-child(3) > .py-2 > span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[8]/div/div[2]/object-property/array-property/div/div/div[3]/div/span", "xpath:idRelative"], - ["xpath=//section[8]/div/div[2]/object-property/array-property/div/div/div[3]/div/span", "xpath:position"] + ["css=.d-flex:nth-child(3) > .py-2", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[8]/div/div[2]/div[2]/div[3]/div", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/div[2]/div[3]/div", "xpath:position"] ], "value": "True" }, { "id": "2c46cdcd-d5a5-47fe-aa7b-0120fd2fcfc9", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "css=.mb-4:nth-child(3) .edit-link", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" - }, { - "id": "62348ea5-d2d9-426d-91ae-5e0f5871ad05", - "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" }, { "id": "c2fcb197-7e0d-4b64-82a5-ad24cf24126b", "comment": "", "command": "waitForElementEditable", - "target": "id=/serviceProviderName", - "targets": [], + "target": "id=root_serviceProviderName", + "targets": [ + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "30000" + }, { + "id": "ca3cfb86-e43d-4540-8d37-b83ae95eee28", + "comment": "", + "command": "type", + "target": "id=root_serviceProviderName", + "targets": [], + "value": "" }, { "id": "99731068-2016-4a7f-8a38-febfb711d027", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ - ["id=/serviceProviderName", "id"], - ["name=field93", "name"], - ["css=#\\/serviceProviderName", "css:finder"], - ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Service Provider v2" + }, { + "id": "1d5c5020-1ad9-4268-86de-8d1e4bf8ef66", + "comment": "", + "command": "type", + "target": "id=root_contacts_0_name", + "targets": [], + "value": "" }, { "id": "c6484ff1-8bf2-4442-8f73-13c7af38634a", "comment": "", "command": "type", - "target": "id=/contacts/0/name", + "target": "id=root_contacts_0_name", "targets": [ - ["id=/contacts/0/name", "id"], - ["name=field102", "name"], - ["css=#\\/contacts\\/0\\/name", "css:finder"], - ["xpath=//input[@id='/contacts/0/name']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-object/div/div/fieldset/div/div/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_contacts_0_name", "id"], + ["css=#root_contacts_0_name", "css:finder"], + ["xpath=//input[@id='root_contacts_0_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[2]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "Test User v2" }, { @@ -2153,20 +2320,24 @@ "target": "css=.btn-info", "targets": [ ["css=.btn-info", "css:finder"], - ["xpath=//div[2]/button", "xpath:position"], - ["xpath=//button[contains(.,'Save')]", "xpath:innerText"] + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Save')]", "xpath:innerText"] ], "value": "" }, { "id": "c5985278-503e-4258-bba9-de7d2f157db0", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/f99c17ec-8c9e-4da9-a11e-e5875156f819/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -2204,58 +2375,84 @@ }, { "id": "978829e9-fa70-4548-9a55-0e2ffa0df9a4", "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] + ], + "value": "30000" }, { "id": "1c0b7514-92b7-4e07-b462-467113f4a8cd", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[2]/div/span[2]", "xpath:position"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//div/span[2]", "xpath:position"] ], "value": "Service Provider v2" + }, { + "id": "c3137509-6eb0-4ec9-bf04-b4a015f8f640", + "comment": "", + "command": "waitForElementVisible", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] + ], + "value": "30000" }, { "id": "fc7c4e1e-03c7-4108-9a8d-f469e7679ae4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", + "target": "css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[2]/div/span[3]", "xpath:position"], - ["xpath=//span[contains(.,'Test Provider')]", "xpath:innerText"] + ["css=div:nth-child(2) > div:nth-child(1) > .d-flex > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div/div/span[3]", "xpath:idRelative"], + ["xpath=//span[3]", "xpath:position"] ], "value": "Test Provider" }, { "id": "138ad58b-f0a2-436b-a8b0-43484f4180e6", "comment": "", "command": "assertText", - "target": "css=.bg-diff > .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(3)", + "target": "css=.bg-diff:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(3)", "targets": [ - ["css=.bg-diff > .py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(3)", "css:finder"], - ["xpath=//div[2]/div/div[2]", "xpath:position"] + ["css=.bg-diff:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[5]/div[2]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'Test User v2')]", "xpath:innerText"] ], "value": "Test User v2" }, { "id": "17049c95-4724-4521-ac47-6b64bde822aa", "comment": "", "command": "assertText", - "target": "css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(4)", + "target": "css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(4)", "targets": [ - ["css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .text-truncate:nth-child(4)", "css:finder"], - ["xpath=//div/div[3]", "xpath:position"] + ["css=.py-2:nth-child(2) > .d-flex:nth-child(1) > .d-block:nth-child(4)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[5]/div[2]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[5]/div[2]/div/span[3]", "xpath:position"] ], "value": "Test User" }, { "id": "17b17783-b35b-4724-805a-84c2f2727ae8", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[2]/div/div@class", + "target": "xpath=//section[1]/div/div[2]/div[2]/div[1]/div@class", "targets": [], "value": "classes" + }, { + "id": "943bc68b-d8c3-4d18-9c32-b1d6b81095b9", + "comment": "", + "command": "echo", + "target": "${classes}", + "targets": [], + "value": "" }, { "id": "04c998e7-b872-406c-89e3-7d6fe43d8b7a", "comment": "", @@ -2274,14 +2471,14 @@ "id": "7a1a8ab1-8586-45db-b16c-b8cf0dd02443", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/object-property/primitive-property[1]/div/div@class", + "target": "xpath=//section[1]/div/div[2]/div[2]/div[2]@class", "targets": [], "value": "classes" }, { "id": "2a5d487f-08e5-45ea-8f12-b6dcaec0aead", "comment": "", "command": "executeScript", - "target": "return ${classes}.includes('bg-diff')", + "target": "return ${classes} == undefined ? false : ${classes}.includes('bg-diff')", "targets": [], "value": "isPresent" }, { @@ -2295,7 +2492,7 @@ "id": "e9c047ad-fd1f-4ee8-bedb-3750f0c553e4", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/array-property/div@class", + "target": "xpath=//section[1]/div/div[2]/div[2]/div[5]@class", "targets": [], "value": "classes" }, { @@ -2316,17 +2513,21 @@ "id": "29fe2264-3c1c-4d39-9788-523064f29e07", "comment": "", "command": "click", - "target": "css=.fa-lg", + "target": "id=toggleLimited", "targets": [ - ["css=.fa-lg", "css:finder"], - ["xpath=//div/button/i", "xpath:position"] + ["id=toggleLimited", "id"], + ["name=toggleLimited", "name"], + ["css=#toggleLimited", "css:finder"], + ["xpath=//input[@id='toggleLimited']", "xpath:attributes"], + ["xpath=//div[@id='navigation']/div[2]/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "81ba2389-bcb4-4de8-bcd5-d7a17200aedc", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property/div/div@class", + "target": "xpath=//section/div/div[2]/div[2]/div[1]/div@class", "targets": [], "value": "classes" }, { @@ -2347,7 +2548,7 @@ "id": "31ef48d0-3198-4ee1-8065-5bbf2b1349b8", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/array-property/div@class", + "target": "xpath=//section/div/div[2]/div[2]/div[2]@class", "targets": [], "value": "classes" }, { diff --git a/backend/src/integration/resources/SHIBUI-1407-2.side b/backend/src/integration/resources/SHIBUI-1407-2.side index 6e918da23..f0d359055 100644 --- a/backend/src/integration/resources/SHIBUI-1407-2.side +++ b/backend/src/integration/resources/SHIBUI-1407-2.side @@ -49,40 +49,77 @@ ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], "value": "${KEY_ENTER}" + }, { + "id": "51703e66-6615-4e51-97a3-2e791d3f8f8e", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "bb18631f-0d6f-41bd-80ff-cd5c78eaf547", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "94b111ef-0cad-49db-8876-f7a83eb3b9af", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "e7a98419-36c7-4b0f-a99d-087144f6a417", "comment": "", "command": "click", - "target": "css=.fa-plus-circle", + "target": "xpath=(//button[@id='dropdown-basic'])[2]", "targets": [ - ["css=.fa-plus-circle", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/i", "xpath:idRelative"], - ["xpath=//i", "xpath:position"] + ["xpath=(//button[@id='dropdown-basic'])[2]", "xpath:attributes"], + ["xpath=(//div[@id='basic-nav-dropdown']/button)[2]", "xpath:idRelative"], + ["xpath=//div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "74fef022-3979-4bed-9226-b25114514976", "comment": "", "command": "click", - "target": "linkText=Metadata Provider", + "target": "linkText=Add a new metadata provider", "targets": [ - ["linkText=Metadata Provider", "linkText"], - ["css=.nav-link:nth-child(2)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a[2]", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[3]", "xpath:href"], - ["xpath=//a[2]", "xpath:position"] + ["linkText=Add a new metadata provider", "linkText"], + ["css=.text-primary:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata provider')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/new')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata provider')]", "xpath:innerText"] ], "value": "" + }, { + "id": "9c03253b-6f99-4f41-81bb-d2424ca31d91", + "comment": "", + "command": "waitForElementVisible", + "target": "name=name", + "targets": [ + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], + "value": "30000" }, { "id": "b49d6ed7-75ea-4be8-9a79-c7fd83287aa0", "comment": "", "command": "click", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field1", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "" @@ -90,12 +127,12 @@ "id": "54dc29f7-bbe0-4c2b-a76e-e67a61f57a96", "comment": "", "command": "type", - "target": "id=/name", + "target": "name=name", "targets": [ - ["id=/name", "id"], - ["name=field1", "name"], - ["css=#\\/name", "css:finder"], - ["xpath=//input[@id='/name']", "xpath:attributes"], + ["name=name", "name"], + ["css=.form-control", "css:finder"], + ["xpath=//input[@name='name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Test Metadata Provider" @@ -103,12 +140,15 @@ "id": "add874d5-e3b2-4412-8039-2b9d2619ed19", "comment": "", "command": "select", - "target": "id=/type", + "target": "name=type", "targets": [ - ["css=select-component > .widget", "css:finder"], - ["xpath=//select-component/div", "xpath:position"] + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/form/div[2]/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "label=FileBackedHttpMetadataProvider" + "value": "label=FileBackedHttpMetadataResolver" }, { "id": "1cc352f4-0d71-4a3e-9399-1d9932816efc", "comment": "", @@ -123,19 +163,25 @@ "id": "d072327c-78b4-4bdb-8020-b825cd26592d", "comment": "", "command": "waitForElementVisible", - "target": "id=/xmlId", - "targets": [], + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "10000" }, { "id": "86262eda-4a44-41b0-b7aa-fa46406e2601", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ - ["id=field7", "id"], - ["name=field7", "name"], - ["css=#field7", "css:finder"], - ["xpath=//input[@id='field7']", "xpath:attributes"], + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "123" @@ -143,38 +189,39 @@ "id": "26cc765d-98c1-414c-97d8-4c7e5c6ab7e2", "comment": "", "command": "type", - "target": "id=/metadataURL", + "target": "id=root_metadataURL", "targets": [ - ["id=field8", "id"], - ["name=field8", "name"], - ["css=#field8", "css:finder"], - ["xpath=//input[@id='field8']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_metadataURL", "id"], + ["css=#root_metadataURL", "css:finder"], + ["xpath=//input[@id='root_metadataURL']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "https://idp.unicon.net/idp/shibboleth" }, { "id": "f0459917-b2a1-4e3c-8800-25273965129f", "comment": "", "command": "click", - "target": "id=/initializeFromBackupFile.false", + "target": "id=root_initializeFromBackupFile-No", "targets": [ - ["id=/initializeFromBackupFile.false", "id"], - ["css=#\\/initializeFromBackupFile\\.false", "css:finder"], - ["xpath=//input[@id='/initializeFromBackupFile.false']", "xpath:attributes"], - ["xpath=//div[2]/label/input", "xpath:position"] + ["id=root_initializeFromBackupFile-No", "id"], + ["css=#root_initializeFromBackupFile-No", "css:finder"], + ["xpath=//input[@id='root_initializeFromBackupFile-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[3]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[2]/input", "xpath:position"] ], "value": "" }, { "id": "5b37cf08-77b9-4091-94f9-c0d539c9010d", "comment": "", "command": "type", - "target": "id=/backingFile", + "target": "id=root_backingFile", "targets": [ - ["id=/backingFile", "id"], - ["name=field10", "name"], - ["css=#\\/backingFile", "css:finder"], - ["xpath=//input[@id='/backingFile']", "xpath:attributes"], - ["xpath=//div[4]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_backingFile", "id"], + ["css=#root_backingFile", "css:finder"], + ["xpath=//input[@id='root_backingFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[4]/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/input", "xpath:position"] ], "value": "%{idp.home}/foo.txt" }, { @@ -188,11 +235,12 @@ "id": "203d0d3c-d866-422a-8b48-b50181db00e9", "comment": "", "command": "click", - "target": "css=.fa-caret-down", + "target": "css=.toggle-button", "targets": [ - ["css=.fa-caret-down", "css:finder"], - ["xpath=//div[@id='/backupFileInitNextRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div/button/i", "xpath:position"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[11]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[5]/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[5]/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -206,62 +254,69 @@ "id": "5fc6a348-0533-4d94-bb76-ebb891a0db8f", "comment": "", "command": "click", - "target": "id=/backupFileInitNextRefreshDelay__option--1", + "target": "id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "targets": [ - ["id=/backupFileInitNextRefreshDelay__option--1", "id"], - ["css=#\\/backupFileInitNextRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/backupFileInitNextRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/backupFileInitNextRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_backupFileInitNextRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_backupFileInitNextRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_backupFileInitNextRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_backupFileInitNextRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "bf041d41-5d58-4f69-8fcc-49ec79e5547d", "comment": "", "command": "click", - "target": "id=/requireValidMetadata.false", + "target": "id=root_requireValidMetadata-No", "targets": [ - ["id=/requireValidMetadata.false", "id"], - ["css=#\\/requireValidMetadata\\.false", "css:finder"], - ["xpath=//input[@id='/requireValidMetadata.false']", "xpath:attributes"], - ["xpath=//div[6]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_requireValidMetadata-No", "id"], + ["css=#root_requireValidMetadata-No", "css:finder"], + ["xpath=//input[@id='root_requireValidMetadata-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[6]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[6]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "fba85c75-e218-4deb-b5e1-888ff75b6a4e", "comment": "", "command": "click", - "target": "id=/failFastInitialization.false", + "target": "id=root_failFastInitialization-No", "targets": [ - ["id=/failFastInitialization.false", "id"], - ["css=#\\/failFastInitialization\\.false", "css:finder"], - ["xpath=//input[@id='/failFastInitialization.false']", "xpath:attributes"], - ["xpath=//div[7]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_failFastInitialization-No", "id"], + ["css=#root_failFastInitialization-No", "css:finder"], + ["xpath=//input[@id='root_failFastInitialization-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[7]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "375b8d6e-179b-4f14-8f00-d8a8cad29d7e", "comment": "", "command": "click", - "target": "id=/useDefaultPredicateRegistry.false", + "target": "id=root_useDefaultPredicateRegistry-No", "targets": [ - ["id=/useDefaultPredicateRegistry.false", "id"], - ["css=#\\/useDefaultPredicateRegistry\\.false", "css:finder"], - ["xpath=//input[@id='/useDefaultPredicateRegistry.false']", "xpath:attributes"], - ["xpath=//div[8]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_useDefaultPredicateRegistry-No", "id"], + ["css=#root_useDefaultPredicateRegistry-No", "css:finder"], + ["xpath=//input[@id='root_useDefaultPredicateRegistry-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[8]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[8]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { "id": "8b4bf341-62c0-491f-b775-d2faf55477bc", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.true", + "target": "id=root_satisfyAnyPredicates-Yes", "targets": [ - ["id=/satisfyAnyPredicates.true", "id"], - ["css=#\\/satisfyAnyPredicates\\.true", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.true']", "xpath:attributes"], - ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-Yes", "id"], + ["name=root_satisfyAnyPredicates", "name"], + ["css=#root_satisfyAnyPredicates-Yes", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-Yes']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[3]/div[9]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -285,13 +340,12 @@ "id": "a188bc3e-fd98-4d49-ae35-a0b78a17607c", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", + "target": "css=.row:nth-child(1) > .col-12 .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay-container .btn", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/minRefreshDelay-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.row:nth-child(1) > .col-12 .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -305,14 +359,16 @@ "id": "a159e056-c870-4e02-a7e9-4b3a60d83718", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "targets": [ - ["id=/reloadableMetadataResolverAttributes/minRefreshDelay__option--1", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/minRefreshDelay__option--1", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/minRefreshDelay__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'PT30S')]", "xpath:innerText"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_minRefreshDelay']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { @@ -326,11 +382,12 @@ "id": "7a72cf6a-c97a-49f6-83d0-cbe42f0fdb7d", "comment": "", "command": "click", - "target": "css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .btn", + "target": "css=.row:nth-child(2) .toggle-button", "targets": [ - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay-container .fa", "css:finder"], - ["xpath=//div[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay-container']/div/div/button/i", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/div/div/button/i", "xpath:position"] + ["css=.row:nth-child(2) .toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -344,28 +401,44 @@ "id": "820397f5-aabb-46f5-a65a-56747ce29091", "comment": "", "command": "click", - "target": "id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", + "target": "id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "targets": [ - ["id=/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3", "id"], - ["css=#\\/reloadableMetadataResolverAttributes\\/maxRefreshDelay__option--3", "css:finder"], - ["xpath=//li[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__option--3']", "xpath:attributes"], - ["xpath=//ul[@id='/reloadableMetadataResolverAttributes/maxRefreshDelay__listbox']/li[4]", "xpath:idRelative"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/datalist-component/div/auto-complete/div/ul/li[4]", "xpath:position"] + ["id=option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "id"], + ["linkText=PT10M", "linkText"], + ["css=#option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_reloadableMetadataResolverAttributes_maxRefreshDelay']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'PT10M')]", "xpath:innerText"] ], "value": "" }, { "id": "b036a851-4ac9-43cb-8686-8e78ed940d72", "comment": "", "command": "type", - "target": "id=/reloadableMetadataResolverAttributes/refreshDelayFactor", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "targets": [ - ["id=/reloadableMetadataResolverAttributes/refreshDelayFactor", "id"], - ["name=field20", "name"], - ["css=#\\/reloadableMetadataResolverAttributes\\/refreshDelayFactor", "css:finder"], - ["xpath=//input[@id='/reloadableMetadataResolverAttributes/refreshDelayFactor']", "xpath:attributes"], - ["xpath=//custom-string/div/input", "xpath:position"] + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "0.5" + }, { + "id": "11b3029c-e7d6-46e7-a3f8-b873f4591d2e", + "comment": "", + "command": "sendKeys", + "target": "id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", + "targets": [ + ["id=root_reloadableMetadataResolverAttributes_refreshDelayFactor", "id"], + ["css=#root_reloadableMetadataResolverAttributes_refreshDelayFactor", "css:finder"], + ["xpath=//input[@id='root_reloadableMetadataResolverAttributes_refreshDelayFactor']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[4]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] + ], + "value": "${KEY_ENTER}" }, { "id": "b48d48d8-2fec-4877-85ae-2f94f15e63eb", "comment": "", @@ -387,13 +460,12 @@ "id": "232da257-962f-4a4b-8213-038ef90c96c3", "comment": "", "command": "click", - "target": "css=.btn-outline-secondary", + "target": "css=.toggle-button", "targets": [ - ["css=.btn-outline-secondary", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], - ["xpath=//div[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval-container']/div/div/button", "xpath:idRelative"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Toggle Dropdown')]", "xpath:innerText"] + ["css=.toggle-button", "css:finder"], + ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div/div/div/div/div/div/div[2]/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -407,114 +479,120 @@ "id": "b8d999f1-0c59-4a9a-9991-91d222f52b8e", "comment": "", "command": "click", - "target": "id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", + "target": "id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "targets": [ - ["id=/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1", "id"], - ["css=#\\/metadataFilters\\/RequiredValidUntil\\/maxValidityInterval__option--1", "css:finder"], - ["xpath=//li[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__option--1']", "xpath:attributes"], - ["xpath=//ul[@id='/metadataFilters/RequiredValidUntil/maxValidityInterval__listbox']/li[2]", "xpath:idRelative"], - ["xpath=//auto-complete/div/ul/li[2]", "xpath:position"], - ["xpath=//li[contains(.,'P14D')]", "xpath:innerText"] + ["id=option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "id"], + ["linkText=PT30S", "linkText"], + ["css=#option-selector-root_metadataFilters_0_maxValidityInterval-item-1", "css:finder"], + ["xpath=//a[@id='option-selector-root_metadataFilters_0_maxValidityInterval-item-1']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_metadataFilters_0_maxValidityInterval']/a[2]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[2]", "xpath:href"], + ["xpath=//div[2]/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'PT30S')]", "xpath:innerText"] ], "value": "" }, { "id": "8af1abb5-2c7a-4a4c-a8f7-0eb287100dde", "comment": "", "command": "click", - "target": "id=/metadataFilters/SignatureValidation/requireSignedRoot", + "target": "id=root_metadataFilters_1_requireSignedRoot", "targets": [ - ["css=div:nth-child(1) > sf-form-element > .has-success .custom-control-label", "css:finder"], - ["xpath=//div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Require Signed Root')]", "xpath:innerText"] + ["id=root_metadataFilters_1_requireSignedRoot", "id"], + ["css=#root_metadataFilters_1_requireSignedRoot", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_requireSignedRoot']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "323a2a02-9111-4064-8bb0-a3da34330e54", "comment": "", "command": "type", - "target": "id=/metadataFilters/SignatureValidation/certificateFile", - "targets": [], + "target": "id=root_metadataFilters_1_certificateFile", + "targets": [ + ["id=root_metadataFilters_1_certificateFile", "id"], + ["css=#root_metadataFilters_1_certificateFile", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_1_certificateFile']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[2]/div/div/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] + ], "value": "%{idp.home}/foo.txt" }, { "id": "a125e601-f306-441d-9c8c-e97b95817b46", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//array-component/div/div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "74d696db-3f3b-4ff3-a180-34baceb469a2", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/0", - "targets": [], - "value": "label=SPSSODescriptor" - }, { - "id": "532bf2e5-13fc-48d7-b01b-ff16207a554d", - "comment": "", - "command": "click", - "target": "css=option:nth-child(2)", + "target": "id=root_metadataFilters_2_retainedRoles_0", "targets": [ - ["css=option:nth-child(2)", "css:finder"], - ["xpath=//option[@value='1: md:SPSSODescriptor']", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/0']/option[2]", "xpath:idRelative"], - ["xpath=//option[2]", "xpath:position"], - ["xpath=//option[contains(.,'SPSSODescriptor')]", "xpath:innerText"] + ["id=root_metadataFilters_2_retainedRoles_0", "id"], + ["css=#root_metadataFilters_2_retainedRoles_0", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_0']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] ], - "value": "" + "value": "label=SPSSODescriptor" }, { "id": "12cf80c9-594c-4c4d-bf26-aa36ba636220", "comment": "", "command": "click", - "target": "css=.fa-plus", + "target": "css=.array-add-button", "targets": [ - ["css=.fa-plus", "css:finder"], - ["xpath=//array-component/div/div/button/i", "xpath:position"] - ], - "value": "" - }, { - "id": "6cb9854b-293b-482d-8c07-4b7c638d79cb", - "comment": "", - "command": "click", - "target": "css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", - "targets": [ - ["css=#\\/metadataFilters\\/EntityRoleWhiteList\\/retainedRoles\\/1 > option:nth-child(1)", "css:finder"], - ["xpath=(//option[@value=''])[2]", "xpath:attributes"], - ["xpath=//select[@id='/metadataFilters/EntityRoleWhiteList/retainedRoles/1']/option", "xpath:idRelative"], - ["xpath=//li[2]/div/sf-form-element/div/sf-widget-chooser/select-component/div/select/option", "xpath:position"] + ["css=.array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add ')]", "xpath:innerText"] ], "value": "" }, { "id": "f366c86c-1420-4fb7-86c2-82c49d81208d", "comment": "", "command": "select", - "target": "id=/metadataFilters/EntityRoleWhiteList/retainedRoles/1", - "targets": [], + "target": "id=root_metadataFilters_2_retainedRoles_1", + "targets": [ + ["id=root_metadataFilters_2_retainedRoles_1", "id"], + ["css=#root_metadataFilters_2_retainedRoles_1", "css:finder"], + ["xpath=//select[@id='root_metadataFilters_2_retainedRoles_1']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div/div/div/select", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/div/select", "xpath:position"] + ], "value": "label=AttributeAuthorityDescriptor" }, { "id": "5dfac033-ecfd-42e8-aa6f-931d5acd4d89", "comment": "", "command": "click", - "target": "css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "target": "id=root_metadataFilters_2_removeRolelessEntityDescriptors", "targets": [ - ["css=div:nth-child(2) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Roleless Entity Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeRolelessEntityDescriptors", "id"], + ["css=#root_metadataFilters_2_removeRolelessEntityDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeRolelessEntityDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[3]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { "id": "9d5934f0-fe10-4539-9d71-80b454fc8612", "comment": "", "command": "click", - "target": "css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", + "target": "id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "targets": [ - ["css=div:nth-child(3) > sf-form-element > .has-success > sf-widget-chooser > checkbox-component .custom-control-label", "css:finder"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/checkbox-component/div/div/div/label", "xpath:position"], - ["xpath=//label[contains(.,'Remove Empty Entities Descriptors?')]", "xpath:innerText"] + ["id=root_metadataFilters_2_removeEmptyEntitiesDescriptors", "id"], + ["css=#root_metadataFilters_2_removeEmptyEntitiesDescriptors", "css:finder"], + ["xpath=//input[@id='root_metadataFilters_2_removeEmptyEntitiesDescriptors']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[5]/div/div/div/div/div[2]/div[3]/div/div/div/div/div/div[4]/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/input", "xpath:position"] ], "value": "" }, { @@ -531,17 +609,23 @@ "id": "79b96f40-2677-438a-9564-62df0ea2c116", "comment": "", "command": "click", - "target": "css=.custom-control-label", - "targets": [], + "target": "id=root_enabled", + "targets": [ + ["id=root_enabled", "id"], + ["css=#root_enabled", "css:finder"], + ["xpath=//input[@id='root_enabled']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "" }, { "id": "52f5680c-c63d-411e-8332-52901f12ea3b", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(1) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], + ["css=.mb-4:nth-child(1) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], ["xpath=//div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], @@ -550,11 +634,11 @@ "id": "67ff44aa-1efd-4b13-a0e9-3648a09911dd", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(2) primitive-property:nth-child(1) .d-block:nth-child(2)", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//section[2]/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(2) div:nth-child(1) > .d-flex > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:idRelative"], + ["xpath=//section[2]/div/div[2]/div[2]/div/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123')]", "xpath:innerText"] ], "value": "123" @@ -568,93 +652,107 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "89e87484-d5b5-4788-816d-9ca4d22f053a", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "1067b0b4-8aff-4972-b6f5-e4479eca9150", "comment": "", "command": "waitForElementPresent", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=.align-middle:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(1) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property/div/div/span[2]", "xpath:idRelative"], - ["xpath=//div/span[2]", "xpath:position"] + ["css=.align-middle:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "10000" }, { "id": "f48dd1b5-607a-485b-b1d5-03301f99b9ce", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(1) .text-truncate", + "target": "css=.align-middle:nth-child(2)", "targets": [ - ["linkText=Test Metadata Provider", "linkText"], - ["css=td > a", "css:finder"], - ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], - ["xpath=//a[contains(@href, '/metadata/provider/4cc9924f-fd9e-4ef3-bf57-3b24eec9f27f/configuration/options')]", "xpath:href"], - ["xpath=//td[2]/a", "xpath:position"], - ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ["css=.align-middle:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]", "xpath:idRelative"], + ["xpath=//td[2]", "xpath:position"], + ["xpath=//td[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "Test Metadata Provider" }, { "id": "5eccd4e9-a451-4ec8-a9e1-1e1f8e771677", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(2) .text-truncate", + "target": "css=.align-middle:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(2) .text-truncate", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div[2]/object-property/primitive-property[2]/div/div/span[2]", "xpath:idRelative"], - ["xpath=//primitive-property[2]/div/div/span[2]", "xpath:position"], - ["xpath=//span[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] + ["css=.align-middle:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[3]", "xpath:idRelative"], + ["xpath=//td[3]", "xpath:position"], + ["xpath=//td[contains(.,'FileBackedHttpMetadataResolver')]", "xpath:innerText"] ], "value": "FileBackedHttpMetadataResolver" - }, { - "id": "77643669-03f5-4c28-9239-885bdd53749c", - "comment": "", - "command": "pause", - "target": "2000", - "targets": [], - "value": "" }, { "id": "c768c2c1-09d4-46fe-8007-42fb4b3f4aaa", "comment": "", "command": "assertText", - "target": "css=.author", + "target": "css=.align-middle:nth-child(4)", "targets": [ - ["css=.author", "css:finder"], - ["xpath=//div[@id='header']/metadata-header/div/div/h5/span[2]", "xpath:idRelative"], - ["xpath=//span[2]", "xpath:position"], - ["xpath=//span[contains(.,'admin')]", "xpath:innerText"] + ["css=.align-middle:nth-child(4)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[4]", "xpath:idRelative"], + ["xpath=//td[4]", "xpath:position"], + ["xpath=//td[contains(.,'admin')]", "xpath:innerText"] ], "value": "admin" }, { "id": "67578648-0800-4716-8c0c-27741770249a", "comment": "", "command": "click", - "target": "css=.mb-4:nth-child(1) .actions span", + "target": "linkText=Test Metadata Provider", "targets": [ - ["css=.mb-4:nth-child(1) .actions span", "css:finder"], - ["xpath=//metadata-configuration[@id='configuration']/div/section/div/div/div/button/span", "xpath:idRelative"], - ["xpath=//div/button/span", "xpath:position"], - ["xpath=//span[contains(.,'Edit')]", "xpath:innerText"] + ["linkText=Test Metadata Provider", "linkText"], + ["css=.align-middle > a", "css:finder"], + ["xpath=//a[contains(text(),'Test Metadata Provider')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td[2]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/278870de-ef9f-4fd5-a251-159c4fbb2767/configuration/options')]", "xpath:href"], + ["xpath=//td[2]/a", "xpath:position"], + ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "8cc53ffc-b630-4b2d-a1b8-7408c12fcc84", + "comment": "", + "command": "click", + "target": "css=.mb-4:nth-child(3) .edit-link", + "targets": [ + ["css=.mb-4:nth-child(3) .edit-link", "css:finder"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div/div/button", "xpath:idRelative"], + ["xpath=//section/div/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,' Edit')]", "xpath:innerText"] ], "value": "" }, { "id": "5636ef67-71fb-4bca-ba58-7ecf926c7bf0", "comment": "", - "command": "pause", - "target": "5000", + "command": "waitForElementVisible", + "target": "id=root_xmlId", + "targets": [ + ["id=root_xmlId", "id"], + ["css=#root_xmlId", "css:finder"], + ["xpath=//input[@id='root_xmlId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/input", "xpath:position"] + ], + "value": "30000" + }, { + "id": "e8fc87c8-bc80-44bc-a153-1e2b1517da2f", + "comment": "", + "command": "type", + "target": "id=root_xmlId", "targets": [], "value": "" }, { "id": "7d641e58-47ce-4d20-908c-e0002ff73cfa", "comment": "", "command": "type", - "target": "id=/xmlId", + "target": "id=root_xmlId", "targets": [ ["id=/xmlId", "id"], ["name=field38", "name"], @@ -674,12 +772,13 @@ "id": "247b04c1-e690-42bc-ae15-dfbedb44d2e9", "comment": "", "command": "click", - "target": "id=/satisfyAnyPredicates.false", + "target": "id=root_satisfyAnyPredicates-No", "targets": [ - ["id=/satisfyAnyPredicates.false", "id"], - ["css=#\\/satisfyAnyPredicates\\.false", "css:finder"], - ["xpath=//input[@id='/satisfyAnyPredicates.false']", "xpath:attributes"], - ["xpath=//div[10]/sf-form-element/div/sf-widget-chooser/boolean-radio/div/div[2]/label/input", "xpath:position"] + ["id=root_satisfyAnyPredicates-No", "id"], + ["css=#root_satisfyAnyPredicates-No", "css:finder"], + ["xpath=//input[@id='root_satisfyAnyPredicates-No']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div[2]/div/form/div/div/div/div/div[3]/div[9]/div/div/div[2]/input", "xpath:idRelative"], + ["xpath=//div[9]/div/div/div[2]/input", "xpath:position"] ], "value": "" }, { @@ -704,12 +803,14 @@ "id": "ea880e6a-498a-427a-bc08-8058137d62e0", "comment": "", "command": "click", - "target": "css=.btn-link:nth-child(1)", + "target": "linkText=Version History", "targets": [ - ["css=.btn-link:nth-child(1) > translate-i18n", "css:finder"], - ["xpath=//div[@id='navigation']/div/a/translate-i18n", "xpath:idRelative"], - ["xpath=//div/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Version History')]", "xpath:innerText"] + ["linkText=Version History", "linkText"], + ["css=div:nth-child(1) > .btn-link:nth-child(1)", "css:finder"], + ["xpath=//div[@id='navigation']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/278870de-ef9f-4fd5-a251-159c4fbb2767/configuration/history')]", "xpath:href"], + ["xpath=//section/div/div/div[2]/div/a", "xpath:position"], + ["xpath=//a[contains(.,' Version History')]", "xpath:innerText"] ], "value": "" }, { @@ -748,55 +849,76 @@ "id": "ce328b6a-f6ee-45e9-975c-5a5608f373dc", "comment": "", "command": "waitForElementVisible", - "target": "css=.d-block > primitive-property:nth-child(2) .d-block:nth-child(2)", - "targets": [], + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", + "targets": [ + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], + ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] + ], "value": "10000" }, { "id": "68103f0e-e3f1-419b-903d-5d8c30bc6700", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[4]/div/span[2]", "xpath:position"], + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'123 version 2')]", "xpath:innerText"] ], "value": "123 version 2" + }, { + "id": "135a8cb5-7454-46af-8fb7-5fc72e206237", + "comment": "", + "command": "waitForElementVisible", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", + "targets": [ + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[3]", "xpath:position"] + ], + "value": "30000" }, { "id": "a13198b9-7827-47e2-ade3-143b981d34ee", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", + "target": "css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(4) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[4]/div/span[3]", "xpath:position"] + ["css=div:nth-child(4) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[4]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[4]/div/span[3]", "xpath:position"] ], "value": "123" }, { "id": "3d83741c-299e-4fcb-9ce6-4b7291c423a4", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", + "target": "css=div:nth-child(12) > .bg-diff > .d-block:nth-child(2)", "targets": [ - ["css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(2)", "css:finder"], - ["xpath=//primitive-property[12]/div/span[2]", "xpath:position"] + ["css=div:nth-child(12) > .bg-diff > .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[12]/div/span[2]", "xpath:idRelative"], + ["xpath=//div[12]/div/span[2]", "xpath:position"] ], "value": "false" }, { "id": "190cc157-d427-4046-aff2-180392395ad3", "comment": "", "command": "assertText", - "target": "css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", + "target": "css=div:nth-child(12) > .bg-diff > .d-block:nth-child(3)", "targets": [ - ["css=.d-block > primitive-property:nth-child(12) .d-block:nth-child(3)", "css:finder"], - ["xpath=//primitive-property[12]/div/span[3]", "xpath:position"] + ["css=div:nth-child(12) > .bg-diff > .d-block:nth-child(3)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section/div/div[2]/div[2]/div[12]/div/span[3]", "xpath:idRelative"], + ["xpath=//div[12]/div/span[3]", "xpath:position"], + ["xpath=//span[contains(.,'true')]", "xpath:innerText"] ], "value": "true" }, { "id": "aa3e1818-24e5-420b-838e-0eb7d6b6d4e3", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[4]/div/div@class", + "target": "xpath=//section[1]/div/div[2]/div[2]/div[4]/div@class", "targets": [], "value": "classes" }, { @@ -817,7 +939,7 @@ "id": "48cf0e77-ab88-4c9c-8952-7bbe102a0be2", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[7]/div/div@class", + "target": "xpath=//section[1]/div/div[2]/div[2]/div[1]/div@class", "targets": [], "value": "classes" }, { @@ -838,7 +960,7 @@ "id": "d7e53d38-a2c1-4ae7-a481-2726000eb556", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[12]/div/div@class", + "target": "xpath=//section[1]/div/div[2]/div[2]/div[12]/div@class", "targets": [], "value": "classes" }, { @@ -859,17 +981,21 @@ "id": "28eb98c2-85e2-4336-973e-7949e0e8f784", "comment": "", "command": "click", - "target": "css=.fa-lg", + "target": "id=toggleLimited", "targets": [ - ["css=.fa-lg", "css:finder"], - ["xpath=//div/button/i", "xpath:position"] + ["id=toggleLimited", "id"], + ["name=toggleLimited", "name"], + ["css=#toggleLimited", "css:finder"], + ["xpath=//input[@id='toggleLimited']", "xpath:attributes"], + ["xpath=//div[@id='navigation']/div[2]/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] ], "value": "" }, { "id": "a457a558-7771-420c-a3a8-5afac051efca", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[1]/div/div@class", + "target": "xpath=//section[1]/div/div[2]/div[2]/div[1]/div@class", "targets": [], "value": "classes" }, { @@ -890,7 +1016,7 @@ "id": "8f43bfb4-fc38-4c74-ab8d-8065b9c9565a", "comment": "", "command": "storeAttribute", - "target": "xpath=//metadata-comparison/div/metadata-configuration/div/section[1]/div/div[2]/object-property/primitive-property[2]/div/div@class", + "target": "xpath=//section[1]/div/div[2]/div[2]/div[2]/div@class", "targets": [], "value": "classes" }, { @@ -907,6 +1033,27 @@ "target": "isDiff", "targets": [], "value": "true" + }, { + "id": "030038b3-1f86-468d-b652-aa88885b7f6c", + "comment": "", + "command": "storeAttribute", + "target": "xpath=//section[2]/div/div[2]/div[2]/div/div/div@class", + "targets": [], + "value": "classes" + }, { + "id": "279a8702-391d-4bee-a44b-06ac51b6f913", + "comment": "", + "command": "executeScript", + "target": "return ${classes}.includes('bg-diff')", + "targets": [], + "value": "isDiff" + }, { + "id": "0f080e5b-1103-446a-b24a-34a461c3e826", + "comment": "", + "command": "assert", + "target": "isDiff", + "targets": [], + "value": "true" }, { "id": "a0305827-1856-48c6-b02c-96c43da6241f", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1503-1.side b/backend/src/integration/resources/SHIBUI-1503-1.side index 844ce69fd..2744385cf 100644 --- a/backend/src/integration/resources/SHIBUI-1503-1.side +++ b/backend/src/integration/resources/SHIBUI-1503-1.side @@ -41,63 +41,87 @@ "id": "ca7d0095-749c-4709-80aa-0083dc477d20", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" }, { - "id": "db912e0e-b9c9-4693-92cf-a43a9756d253", + "id": "1d819a69-27ee-4364-aaa8-efd0eaad8977", "comment": "", - "command": "waitForElementVisible", - "target": "css=#addNewDropdown > translate-i18n", + "command": "open", + "target": "/api/heheheheheheheWipeout", "targets": [], - "value": "30000" + "value": "" + }, { + "id": "95c83ebe-e092-4df7-b9d0-f5ed48170806", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "50ba2b08-2ed6-4448-8a7e-0fc736517cbe", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "fcb0a214-ead2-407e-b2b2-ddac954e1348", "comment": "", "command": "click", - "target": "css=#addNewDropdown > translate-i18n", + "target": "id=dropdown-basic", "targets": [ - ["css=#addNewDropdown > translate-i18n", "css:finder"], - ["xpath=//button[@id='addNewDropdown']/translate-i18n", "xpath:idRelative"], - ["xpath=//translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Add New')]", "xpath:innerText"] + ["id=dropdown-basic", "id"], + ["css=#dropdown-basic", "css:finder"], + ["xpath=//button[@id='dropdown-basic']", "xpath:attributes"], + ["xpath=//div[@id='basic-nav-dropdown']/button", "xpath:idRelative"], + ["xpath=//div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add New')]", "xpath:innerText"] ], "value": "" }, { "id": "837ce33c-8787-4b31-9f8c-d250e5fae525", "comment": "", "command": "click", - "target": "linkText=Metadata Source", + "target": "linkText=Add a new metadata source", "targets": [ - ["linkText=Metadata Source", "linkText"], - ["css=.dropdown-menu > .nav-link:nth-child(1)", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li/div/a", "xpath:idRelative"], - ["xpath=(//a[contains(@href, '')])[2]", "xpath:href"], - ["xpath=//div/a", "xpath:position"] + ["linkText=Add a new metadata source", "linkText"], + ["css=.text-primary", "css:finder"], + ["xpath=//a[contains(text(),'Add a new metadata source')]", "xpath:link"], + ["xpath=//div[@id='basic-nav-dropdown']/div/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/new')]", "xpath:href"], + ["xpath=//div/a", "xpath:position"], + ["xpath=//a[contains(.,'Add a new metadata source')]", "xpath:innerText"] ], "value": "" }, { "id": "38afb51c-c3ae-47ca-8d1f-02f26ba2440f", "comment": "", "command": "waitForElementEditable", - "target": "id=/serviceProviderName", - "targets": [], + "target": "id=root_serviceProviderName", + "targets": [ + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "30000" }, { "id": "aa956591-ae81-4637-8d89-b6c45daccf86", "comment": "", "command": "type", - "target": "id=/serviceProviderName", + "target": "id=root_serviceProviderName", "targets": [ - ["id=/serviceProviderName", "id"], - ["name=field1", "name"], - ["css=#\\/serviceProviderName", "css:finder"], - ["xpath=//input[@id='/serviceProviderName']", "xpath:attributes"], + ["id=root_serviceProviderName", "id"], + ["css=#root_serviceProviderName", "css:finder"], + ["xpath=//input[@id='root_serviceProviderName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Test Source" @@ -105,13 +129,13 @@ "id": "ff0ff7cf-ab9b-4dcf-bc9a-ffc005632363", "comment": "", "command": "type", - "target": "id=/entityId", + "target": "id=root_entityId", "targets": [ - ["id=/entityId", "id"], - ["name=field2", "name"], - ["css=#\\/entityId", "css:finder"], - ["xpath=//input[@id='/entityId']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_entityId", "id"], + ["css=#root_entityId", "css:finder"], + ["xpath=//input[@id='root_entityId']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/div/form/div/div/div/div/div/div[2]/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/input", "xpath:position"] ], "value": "test" }, { @@ -128,19 +152,25 @@ "id": "9fb1da6c-d002-4e8d-a9af-c809de9cbc58", "comment": "", "command": "waitForElementEditable", - "target": "id=/organization/name", - "targets": [], + "target": "id=root_organization_name", + "targets": [ + ["id=root_organization_name", "id"], + ["css=#root_organization_name", "css:finder"], + ["xpath=//input[@id='root_organization_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//input", "xpath:position"] + ], "value": "30000" }, { "id": "68288af1-2686-49b5-b1b9-10f68046fc0a", "comment": "", "command": "type", - "target": "id=/organization/name", + "target": "id=root_organization_name", "targets": [ - ["id=/organization/name", "id"], - ["name=field5", "name"], - ["css=#\\/organization\\/name", "css:finder"], - ["xpath=//input[@id='/organization/name']", "xpath:attributes"], + ["id=root_organization_name", "id"], + ["css=#root_organization_name", "css:finder"], + ["xpath=//input[@id='root_organization_name']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//input", "xpath:position"] ], "value": "Org Name" @@ -148,54 +178,57 @@ "id": "c785c85c-1515-4bd0-8886-576f568a2efc", "comment": "", "command": "type", - "target": "id=/organization/displayName", + "target": "id=root_organization_displayName", "targets": [ - ["id=/organization/displayName", "id"], - ["name=field6", "name"], - ["css=#\\/organization\\/displayName", "css:finder"], - ["xpath=//input[@id='/organization/displayName']", "xpath:attributes"], - ["xpath=//div[2]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_displayName", "id"], + ["css=#root_organization_displayName", "css:finder"], + ["xpath=//input[@id='root_organization_displayName']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[2]/div/div/div/div/input", "xpath:position"] ], "value": "Org Display Name" }, { "id": "2cacc9c6-8a1a-4923-aa8d-00dea1172dd0", "comment": "", "command": "type", - "target": "id=/organization/url", + "target": "id=root_organization_url", "targets": [ - ["id=/organization/url", "id"], - ["name=field7", "name"], - ["css=#\\/organization\\/url", "css:finder"], - ["xpath=//input[@id='/organization/url']", "xpath:attributes"], - ["xpath=//div[3]/sf-form-element/div/sf-widget-chooser/custom-string/div/input", "xpath:position"] + ["id=root_organization_url", "id"], + ["css=#root_organization_url", "css:finder"], + ["xpath=//input[@id='root_organization_url']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[2]/div/div/div/div[3]/div/div/div/div/input", "xpath:idRelative"], + ["xpath=//div[3]/div/div/div/div/input", "xpath:position"] ], "value": "Org URL" }, { "id": "8441a497-6a79-4396-af40-6f7ce8056cfe", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.next", "targets": [ - ["css=.btn-success", "css:finder"], - ["xpath=//div/button", "xpath:position"], - ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ["css=.next", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/nav/ul/li[3]/button", "xpath:idRelative"], + ["xpath=//li[3]/button", "xpath:position"] ], "value": "" }, { "id": "383707e1-ae7d-44c5-a91a-69a1f3bc601e", "comment": "", "command": "click", - "target": "css=.label:nth-child(1)", + "target": "css=.next", "targets": [ - ["css=.label:nth-child(1)", "css:finder"], - ["xpath=//li[3]/button/span", "xpath:position"] + ["css=.next", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/nav/ul/li[3]/button", "xpath:idRelative"], + ["xpath=//li[3]/button", "xpath:position"] ], "value": "" }, { "id": "57d66e91-4e76-410b-8ecc-c5c8f2459606", "comment": "", "command": "click", - "target": "css=.label:nth-child(1)", + "target": "css=.next", "targets": [ ["css=.label:nth-child(1)", "css:finder"], ["xpath=//li[3]/button/span", "xpath:position"] @@ -225,7 +258,7 @@ "id": "ef48faaa-1077-4969-bc63-13049ff2cbf3", "comment": "", "command": "click", - "target": "css=.label:nth-child(1)", + "target": "css=.next", "targets": [ ["css=.label:nth-child(1)", "css:finder"], ["xpath=//li[3]/button/span", "xpath:position"] @@ -235,7 +268,7 @@ "id": "1c5c0174-1181-479b-a8fa-00c759799d61", "comment": "", "command": "click", - "target": "css=.label:nth-child(1)", + "target": "css=.next", "targets": [ ["css=.label:nth-child(1)", "css:finder"], ["xpath=//li[3]/button/span", "xpath:position"] @@ -251,16 +284,6 @@ ["xpath=//li[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "8be428b3-5959-4598-a982-6708e6d39a85", - "comment": "", - "command": "click", - "target": "css=.next", - "targets": [ - ["css=.next", "css:finder"], - ["xpath=//li[3]/button", "xpath:position"] - ], - "value": "" }, { "id": "32ecd0e3-b7a9-4978-923c-9992fba8f557", "comment": "", @@ -274,20 +297,28 @@ }, { "id": "a4131b2a-ab46-4dc6-827e-6ffa516c5bd8", "comment": "", - "command": "pause", - "target": "5000", - "targets": [], - "value": "" + "command": "waitForElementVisible", + "target": "css=td:nth-child(1)", + "targets": [ + ["css=td:nth-child(1)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div[2]/div/div/div/table/tbody/tr/td", "xpath:idRelative"], + ["xpath=//td", "xpath:position"], + ["xpath=//td[contains(.,'Test Source')]", "xpath:innerText"] + ], + "value": "30000" }, { "id": "e9a8182c-47d9-444c-8386-f84e1a7da38a", "comment": "", "command": "click", - "target": "css=li:nth-child(3) > .nav-link > translate-i18n", + "target": "linkText=Logout", "targets": [ - ["css=li:nth-child(3) > .nav-link > translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[3]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//li[3]/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Logout')]", "xpath:innerText"] + ["linkText=Logout", "linkText"], + ["css=.nav-link:nth-child(3)", "css:finder"], + ["xpath=//a[contains(text(),'Logout')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/logout')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Logout')]", "xpath:innerText"] ], "value": "" }, { @@ -325,20 +356,25 @@ "id": "aa359f0d-e222-415c-81fc-409f387c2a35", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" }, { "id": "990aff50-4646-4258-a9f0-ef5f39b8dc83", "comment": "", "command": "waitForElementVisible", - "target": "css=.badge-pill", - "targets": [], + "target": "css=.badge", + "targets": [ + ["css=.badge", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/div/div[4]/a/span", "xpath:idRelative"], + ["xpath=//div[4]/a/span", "xpath:position"], + ["xpath=//span[contains(.,'1')]", "xpath:innerText"] + ], "value": "30000" }, { "id": "d77d51d9-fbf7-4358-a995-41fcf0f6885f", @@ -351,11 +387,12 @@ "id": "9fd2f2ad-6315-48be-b1e5-b958956c20be", "comment": "", "command": "assertText", - "target": "css=.badge-pill", + "target": "css=.badge", "targets": [ - ["css=.badge-pill", "css:finder"], - ["xpath=//li[4]/a/span", "xpath:position"], - ["xpath=//span[contains(.,'2')]", "xpath:innerText"] + ["css=.badge", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/div/div[4]/a/span", "xpath:idRelative"], + ["xpath=//div[4]/a/span", "xpath:position"], + ["xpath=//span[contains(.,'1')]", "xpath:innerText"] ], "value": "2" }, { diff --git a/backend/src/integration/resources/SHIBUI-1503-2.side b/backend/src/integration/resources/SHIBUI-1503-2.side index fbc65ae95..cf4d8bb4b 100644 --- a/backend/src/integration/resources/SHIBUI-1503-2.side +++ b/backend/src/integration/resources/SHIBUI-1503-2.side @@ -41,40 +41,70 @@ "id": "624d4f0a-ddb6-4047-a25e-43cbde644fb5", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ - ["name=submit", "name"], - ["css=td:nth-child(1) > input", "css:finder"], - ["xpath=//input[@name='submit']", "xpath:attributes"], - ["xpath=//tr[3]/td/input", "xpath:position"] + ["css=.btn", "css:finder"], + ["xpath=//button[@type='submit']", "xpath:attributes"], + ["xpath=//button", "xpath:position"], + ["xpath=//button[contains(.,'Sign in')]", "xpath:innerText"] ], "value": "" + }, { + "id": "542a3c38-af18-4c51-9f66-16931e3dd599", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "834f4ef3-d429-490d-8e86-96b67ce66e06", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "756d4f66-1698-4e0f-8f99-0ababf12e981", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "812843b9-c71a-4141-b204-3387f0fee39a", "comment": "", "command": "waitForElementVisible", - "target": "css=.nav-link > translate-i18n:nth-child(1)", - "targets": [], + "target": "css=.nav-item > .d-flex", + "targets": [ + ["css=.nav-item > .d-flex", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/div/div[4]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard/admin/actions')]", "xpath:href"], + ["xpath=//div[4]/a", "xpath:position"] + ], "value": "30000" }, { "id": "473db033-9a76-4173-9a70-daa255f99b1d", "comment": "", "command": "click", - "target": "css=.nav-link > translate-i18n:nth-child(1)", + "target": "css=.nav-item > .d-flex", "targets": [ - ["css=.nav-link > translate-i18n:nth-child(1)", "css:finder"], - ["xpath=//li[4]/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Action Required')]", "xpath:innerText"] + ["css=.nav-item > .d-flex", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/div/div[4]/a", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/dashboard/admin/actions')]", "xpath:href"], + ["xpath=//div[4]/a", "xpath:position"] ], "value": "" }, { "id": "a98143b5-647f-4e7e-b920-f6e6875d7372", "comment": "", "command": "click", - "target": "css=.fa-trash", + "target": "css=.btn-danger", "targets": [ - ["css=.fa-trash", "css:finder"], - ["xpath=//div[2]/button/i", "xpath:position"] + ["css=.btn-danger", "css:finder"], + ["xpath=(//button[@type='button'])[4]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section[2]/div/div[2]/div/div/div/div[2]/button", "xpath:idRelative"], + ["xpath=//div/div/div/div[2]/button", "xpath:position"], + ["xpath=//button[contains(.,' Delete Request')]", "xpath:innerText"] ], "value": "" }, { @@ -84,38 +114,23 @@ "target": "css=.modal-footer > .btn-danger", "targets": [ ["css=.modal-footer > .btn-danger", "css:finder"], - ["xpath=(//button[@type='button'])[2]", "xpath:attributes"], + ["xpath=(//button[@type='button'])[5]", "xpath:attributes"], ["xpath=//div[3]/button", "xpath:position"] ], "value": "" - }, { - "id": "2d8da370-0a5a-4048-a8bd-f68210a271c5", - "comment": "", - "command": "waitForElementVisible", - "target": "css=.text-center", - "targets": [], - "value": "30000" - }, { - "id": "d5a65352-5897-49cf-9046-3afc5397f193", - "comment": "", - "command": "assertText", - "target": "css=.text-center", - "targets": [ - ["css=.text-center", "css:finder"], - ["xpath=//p", "xpath:position"], - ["xpath=//p[contains(.,'There are no new user requests at this time.')]", "xpath:innerText"] - ], - "value": "There are no new user requests at this time." }, { "id": "ede68bbe-2236-457d-93d7-9e7cde5d5176", "comment": "", "command": "click", - "target": "css=li:nth-child(3) > .nav-link > translate-i18n", + "target": "linkText=Logout", "targets": [ - ["css=li:nth-child(3) > .nav-link > translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[3]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//li[3]/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Logout')]", "xpath:innerText"] + ["linkText=Logout", "linkText"], + ["css=.nav-link:nth-child(4)", "css:finder"], + ["xpath=//a[contains(text(),'Logout')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/logout')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Logout')]", "xpath:innerText"] ], "value": "" }, { @@ -153,7 +168,7 @@ "id": "6c4429c8-7d82-4d87-a58d-a587cff891f6", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ ["name=submit", "name"], ["css=td:nth-child(1) > input", "css:finder"], @@ -165,19 +180,22 @@ "id": "3eb77106-8fb7-43aa-a72a-27f2960d5393", "comment": "", "command": "waitForElementVisible", - "target": "css=p", - "targets": [], + "target": "css=.alert", + "targets": [ + ["css=.alert", "css:finder"], + ["xpath=//form/div", "xpath:position"] + ], "value": "30000" }, { "id": "b826ed10-31a4-487b-ba80-c633ff037839", "comment": "", "command": "assertText", - "target": "css=p", + "target": "css=.alert", "targets": [ - ["css=p", "css:finder"], - ["xpath=//p", "xpath:position"] + ["css=.alert", "css:finder"], + ["xpath=//form/div", "xpath:position"] ], - "value": "Your login attempt was not successful, try again.\n\nReason: Bad credentials" + "value": "Bad credentials" }, { "id": "5b421e75-d5db-44ff-ac57-2fd8f91c2478", "comment": "", @@ -197,4 +215,4 @@ }], "urls": ["http://localhost:10101/"], "plugins": [] -} +} \ No newline at end of file diff --git a/backend/src/integration/resources/SHIBUI-1503-3.side b/backend/src/integration/resources/SHIBUI-1503-3.side index a7d913abd..f08627a8c 100644 --- a/backend/src/integration/resources/SHIBUI-1503-3.side +++ b/backend/src/integration/resources/SHIBUI-1503-3.side @@ -41,7 +41,7 @@ "id": "fa54f4c6-f1b4-422c-be58-b6c1fef27a47", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ ["name=submit", "name"], ["css=td:nth-child(1) > input", "css:finder"], @@ -49,6 +49,27 @@ ["xpath=//tr[3]/td/input", "xpath:position"] ], "value": "" + }, { + "id": "b257e9f6-cf71-4d3c-a198-2f64a0f9dfe7", + "comment": "", + "command": "open", + "target": "/api/heheheheheheheWipeout", + "targets": [], + "value": "" + }, { + "id": "3b657df1-befd-4386-be27-0f84c6162ad6", + "comment": "", + "command": "assertText", + "target": "css=body", + "targets": [], + "value": "yes, you did it" + }, { + "id": "33149d02-0782-4076-8fda-774d57c83487", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" }, { "id": "fe445ea9-b8ac-4186-a814-4cda6968f6d7", "comment": "", @@ -74,36 +95,36 @@ "id": "659e4909-239b-4895-aa54-8bf3a6bd57cd", "comment": "", "command": "waitForElementVisible", - "target": "css=tr:nth-child(3) .form-control", + "target": "xpath=//table/tbody/tr[th[.='none2']]", "targets": [], "value": "30000" - }, { - "id": "1c973205-111b-4440-afef-bd0e7e13b18c", - "comment": "", - "command": "click", - "target": "css=tr:nth-child(3) .form-control", - "targets": [ - ["css=tr:nth-child(3) .form-control", "css:finder"], - ["xpath=//tr[3]/td[3]/select", "xpath:position"] - ], - "value": "" }, { "id": "dc06ff49-c076-4f60-95d1-a42514cc6038", "comment": "", "command": "select", - "target": "css=tr:nth-child(3) .form-control", + "target": "//table/tbody/tr[th[.='none2']]/td[3]/select", "targets": [], "value": "label=ROLE_USER" + }, { + "id": "b97f8d3e-d031-4a04-a6c9-f0804c077295", + "comment": "", + "command": "pause", + "target": "5000", + "targets": [], + "value": "" }, { "id": "fb78d880-ffb7-4477-b1af-f9a8593875de", "comment": "", "command": "click", - "target": "css=li:nth-child(3) > .nav-link > translate-i18n", + "target": "linkText=Logout", "targets": [ - ["css=li:nth-child(3) > .nav-link > translate-i18n", "css:finder"], - ["xpath=//div[@id='navbar']/ul/li[3]/a/translate-i18n", "xpath:idRelative"], - ["xpath=//li[3]/a/translate-i18n", "xpath:position"], - ["xpath=//translate-i18n[contains(.,'Logout')]", "xpath:innerText"] + ["linkText=Logout", "linkText"], + ["css=.nav-link:nth-child(4)", "css:finder"], + ["xpath=//a[contains(text(),'Logout')]", "xpath:link"], + ["xpath=//div[@id='basic-navbar-nav']/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/logout')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Logout')]", "xpath:innerText"] ], "value": "" }, { @@ -124,7 +145,7 @@ ["xpath=//input[@name='username']", "xpath:attributes"], ["xpath=//input", "xpath:position"] ], - "value": "none" + "value": "none2" }, { "id": "c8bf8ea5-1f75-4a40-aca4-9dfa6a6056dc", "comment": "", @@ -136,12 +157,12 @@ ["xpath=//input[@name='password']", "xpath:attributes"], ["xpath=//tr[2]/td[2]/input", "xpath:position"] ], - "value": "nonepass" + "value": "none2pass" }, { "id": "ba66c45f-2436-4fe7-a5a9-31b55ffe8118", "comment": "", "command": "click", - "target": "name=submit", + "target": "css=.btn", "targets": [ ["name=submit", "name"], ["css=td:nth-child(1) > input", "css:finder"], diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/DevConfig.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/DevConfig.groovy index 9e97395db..b5c53ece8 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/DevConfig.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/DevConfig.groovy @@ -93,6 +93,14 @@ class DevConfig { emailAddress = 'badboy@institution.edu' roles.add(roleRepository.findByName('ROLE_NONE').get()) it + }, new User().with { + username = 'none2' + password = '{noop}none2pass' + firstName = 'Bad' + lastName = 'robot2' + emailAddress = 'badboy2@institution.edu' + roles.add(roleRepository.findByName('ROLE_NONE').get()) + it }, new User().with { // allow us to auto-login as an admin username = 'anonymousUser' password = '{noop}anonymous' From 01decd5081908e4dc4d029977f2d18276413c8b4 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Wed, 23 Jun 2021 08:45:14 -0700 Subject: [PATCH 005/138] NOJIRA Cleaned up a couple comments. --- .../tier/shibboleth/admin/ui/SeleniumSIDETest.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy index aa2999f66..ec9344520 100644 --- a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy +++ b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy @@ -118,7 +118,7 @@ class SeleniumSIDETest extends Specification { 'SHIBUI-1335: Verify Local Dynamic Metadata Provider Filters' | '/SHIBUI-1335-3.side' // adding filters to this resolver type was removed in the react update 'SHIBUI-1335: Verify Dynamic HTTP Metadata Provider Filters' | '/SHIBUI-1335-4.side' 'SHIBUI-1392: Verify provider with script filter is persistable' | '/SHIBUI-1392.side' - 'SHIBUI-1361: Verify dates display in proper format' | '/SHIBUI-1361.side' // Note that this script WILL NOT PASS in the Selenium IDE. There is a bug where the IDE thinks there is a missing ')'. + 'SHIBUI-1361: Verify dates display in proper format' | '/SHIBUI-1361.side' // Note that this script WILL NOT PASS in the Selenium IDE. There is a bug in the IDE where it thinks there is a missing ')'. 'SHIBUI-1385: Restore a metadata source version' | '/SHIBUI-1385-1.side' 'SHIBUI-1385: Restore a metadata provider version' | '/SHIBUI-1385-2.side' 'SHIBUI-1391: Regex Validation' | '/SHIBUI-1391.side' @@ -126,7 +126,7 @@ class SeleniumSIDETest extends Specification { 'SHIBUI-1407: Metadata provider comparison highlights' | '/SHIBUI-1407-2.side' // 'SHIBUI-1503: Non-admin can create metadata source' | '/SHIBUI-1503-1.side' // bug, see SHIBUI-1974 'SHIBUI-1503: User can be deleted' | '/SHIBUI-1503-2.side' // Note that this script can only be run once successfully (per startup of the app) without first having to add the Bad Robot user back in to the system - 'SHIBUI-1503: User can be enabled' | '/SHIBUI-1503-3.side' // Note that this script cannot be executed after 1503-2 without first adding the Bad Robot user back in to the system + 'SHIBUI-1503: User can be enabled' | '/SHIBUI-1503-3.side' } } From 092e67910acb99e0764baa455bd025431dbb5251 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Wed, 23 Jun 2021 09:47:46 -0700 Subject: [PATCH 006/138] NOJIRA Fixed a broken test due to introducing an extra user into the dev profile. --- .../controller/UsersControllerIntegrationTests.groovy | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/UsersControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/UsersControllerIntegrationTests.groovy index 5ecb34dc0..5bf41ebec 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/UsersControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/UsersControllerIntegrationTests.groovy @@ -66,6 +66,15 @@ class UsersControllerIntegrationTests extends Specification { "createdBy" : "anonymousUser", "lastName" : "robot" }, + { + "modifiedBy" : "anonymousUser", + "firstName" : "Bad", + "emailAddress" : "badboy2@institution.edu", + "role" : "ROLE_NONE", + "username" : "none2", + "createdBy" : "anonymousUser", + "lastName" : "robot2" + }, { "modifiedBy" : "anonymousUser", "firstName" : "Anon", From ef29b2550463cace38d502689319e6211ab044b8 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Wed, 28 Jul 2021 23:49:33 -0700 Subject: [PATCH 007/138] NOJIRA Added fixes various various tests to update them for the latest hotness. --- .../admin/ui/SeleniumSIDETest.groovy | 1 - .../integration/resources/SHIBUI-1281.side | 68 ++++----- .../integration/resources/SHIBUI-1333.side | 106 +++++++++----- .../integration/resources/SHIBUI-1334-1.side | 102 ++++++++----- .../integration/resources/SHIBUI-1335-1.side | 77 ++++++---- .../integration/resources/SHIBUI-1335-4.side | 10 +- .../integration/resources/SHIBUI-1364-1.side | 129 ++++++++++------- .../integration/resources/SHIBUI-1364-4.side | 10 +- .../integration/resources/SHIBUI-1385-1.side | 135 ++++++++++++------ .../integration/resources/SHIBUI-1385-2.side | 29 ++++ .../integration/resources/SHIBUI-1392.side | 22 +-- .../integration/resources/SHIBUI-1407-1.side | 110 +++++++++----- 12 files changed, 511 insertions(+), 288 deletions(-) diff --git a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy index ec9344520..f9e12afe7 100644 --- a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy +++ b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy @@ -129,4 +129,3 @@ class SeleniumSIDETest extends Specification { 'SHIBUI-1503: User can be enabled' | '/SHIBUI-1503-3.side' } } - diff --git a/backend/src/integration/resources/SHIBUI-1281.side b/backend/src/integration/resources/SHIBUI-1281.side index 9b715c3f0..52695c6bc 100644 --- a/backend/src/integration/resources/SHIBUI-1281.side +++ b/backend/src/integration/resources/SHIBUI-1281.side @@ -778,10 +778,10 @@ }, { "id": "3cfbc4e0-f120-43ca-8a59-8727f91b5a1c", "comment": "", - "command": "sendKeys", - "target": "css=div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "command": "click", + "target": "css=body", "targets": [], - "value": "${KEY_ENTER}" + "value": "" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -1388,7 +1388,7 @@ "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1443,7 +1443,7 @@ "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1496,7 +1496,7 @@ "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1549,7 +1549,7 @@ "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1602,7 +1602,7 @@ "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -1612,11 +1612,11 @@ "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], - ["xpath=(//input[@value=''])[7]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], + ["xpath=(//input[@value=''])[5]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[2]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] ], "value": "" @@ -1624,7 +1624,7 @@ "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1636,15 +1636,15 @@ }, { "id": "b505f2f8-396a-47b3-adb9-c3edb083cafb", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "command": "click", + "target": "css=body", "targets": [], - "value": "${KEY_ENTER}" + "value": "" }, { "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1663,12 +1663,12 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=.is-invalid > .toggle-button", "css:finder"], - ["xpath=(//button[@type='button'])[27]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[9]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//div[9]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:position"] + ["xpath=(//button[@type='button'])[22]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[2]/div/div/form/div/div/div/div/div[9]/div/div/div/div[4]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[4]/div/div/div/div/div/div[2]/div/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { @@ -1698,7 +1698,7 @@ "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1715,7 +1715,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=.is-invalid > .toggle-button", "css:finder"], ["xpath=(//button[@type='button'])[29]", "xpath:attributes"], @@ -1750,7 +1750,7 @@ "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1767,7 +1767,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[3]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1802,7 +1802,7 @@ "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] @@ -1812,7 +1812,7 @@ "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[10]", "xpath:attributes"], @@ -1824,7 +1824,7 @@ "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1836,10 +1836,10 @@ }, { "id": "5b836abc-eb72-417f-acdc-8b3ec267cd96", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "command": "click", + "target": "css=body", "targets": [], - "value": "${KEY_ENTER}" + "value": "" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", @@ -1923,11 +1923,11 @@ "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5) > .d-block", + "target": "css=.mb-4:nth-child(8) .d-flex:nth-child(5) > .d-block", "targets": [ - ["css=.d-flex:nth-child(8) .d-flex:nth-child(5) > .d-block", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]/span", "xpath:idRelative"], - ["xpath=//div[8]/ul/li[5]/span", "xpath:position"] + ["css=.mb-4:nth-child(8) .d-flex:nth-child(5) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[2]/ul/li[5]/span", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/div[2]/div/div[2]/ul/li[5]/span", "xpath:position"] ], "value": "somethingElse" }, { diff --git a/backend/src/integration/resources/SHIBUI-1333.side b/backend/src/integration/resources/SHIBUI-1333.side index 64d9ae077..ba8dab567 100644 --- a/backend/src/integration/resources/SHIBUI-1333.side +++ b/backend/src/integration/resources/SHIBUI-1333.side @@ -711,10 +711,10 @@ ], "value": "" }, { - "id": "104367d3-f250-4439-8721-32dcf9f25e0c", + "id": "46495c5c-43ff-438a-814e-dbfc0b8da51e", "comment": "", "command": "click", - "target": "css=.btn-success", + "target": "css=.array-add-button", "targets": [ ["css=.btn-success", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -778,7 +778,7 @@ "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[5]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[9]", "xpath:attributes"], @@ -789,10 +789,19 @@ }, { "id": "6f0363e3-cd0b-45cc-8210-7cad7c29997e", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", + "targets": [ + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", "id"], + ["linkText=somethingElse", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'somethingElse')]", "xpath:innerText"] + ], + "value": "" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -1378,7 +1387,7 @@ "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1433,7 +1442,7 @@ "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1486,7 +1495,7 @@ "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1539,7 +1548,7 @@ "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1592,7 +1601,7 @@ "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -1602,7 +1611,7 @@ "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[10]", "xpath:attributes"], @@ -1614,7 +1623,7 @@ "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div/input[1]", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1626,15 +1635,24 @@ }, { "id": "3a2e2040-7443-4e3a-99b1-363f87580cba", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "id"], + ["linkText=somethingElse", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'somethingElse')]", "xpath:innerText"] + ], + "value": "" }, { "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1653,7 +1671,7 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], @@ -1688,7 +1706,7 @@ "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1705,7 +1723,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1740,7 +1758,7 @@ "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1757,7 +1775,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[3]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1792,7 +1810,7 @@ "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] @@ -1802,7 +1820,7 @@ "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[12]", "xpath:attributes"], @@ -1814,7 +1832,7 @@ "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1826,10 +1844,19 @@ }, { "id": "1f62c43d-e605-4d62-9ce4-51f950788ac4", "comment": "", - "command": "sendKeys", - "target": "css=div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "id"], + ["linkText=otherThings", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'otherThings')]", "xpath:innerText"] + ], + "value": "" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", @@ -1913,11 +1940,12 @@ "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5)", + "target": "css=.mb-4:nth-child(4) .d-flex:nth-child(5) > .d-block", "targets": [ - ["css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]", "xpath:idRelative"], - ["xpath=//div[8]/ul/li[5]", "xpath:position"] + ["css=.mb-4:nth-child(4) .d-flex:nth-child(5) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[4]/div/div[2]/div[2]/div/div[2]/ul/li[5]/span", "xpath:idRelative"], + ["xpath=//li[5]/span", "xpath:position"], + ["xpath=//span[contains(.,'somethingElse')]", "xpath:innerText"] ], "value": "somethingElse" }, { @@ -2209,11 +2237,11 @@ "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(9) div:nth-child(3) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(9) div:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] ], "value": "responder-id-123" diff --git a/backend/src/integration/resources/SHIBUI-1334-1.side b/backend/src/integration/resources/SHIBUI-1334-1.side index 59c07f5d1..9476b6d3f 100644 --- a/backend/src/integration/resources/SHIBUI-1334-1.side +++ b/backend/src/integration/resources/SHIBUI-1334-1.side @@ -779,7 +779,7 @@ "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[5]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[3]", "xpath:attributes"], @@ -790,10 +790,19 @@ }, { "id": "c11bf56d-4516-4397-9a19-e07cc12eda2a", "comment": "", - "command": "sendKeys", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", + "targets": [ + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", "id"], + ["linkText=somethingElse", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'somethingElse')]", "xpath:innerText"] + ], + "value": "" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -1384,7 +1393,7 @@ "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1439,7 +1448,7 @@ "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1492,7 +1501,7 @@ "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1545,7 +1554,7 @@ "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//div/button", "xpath:position"], @@ -1598,7 +1607,7 @@ "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], ["xpath=//div/button/translate-i18n", "xpath:position"] @@ -1608,7 +1617,7 @@ "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], @@ -1621,7 +1630,7 @@ "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1633,15 +1642,24 @@ }, { "id": "26146f5e-533f-42c6-b1e6-e107a471ba8f", "comment": "", - "command": "sendKeys", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "id"], + ["linkText=somethingElse", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'somethingElse')]", "xpath:innerText"] + ], + "value": "" }, { "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1660,7 +1678,7 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], @@ -1695,7 +1713,7 @@ "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1712,7 +1730,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1747,7 +1765,7 @@ "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1764,7 +1782,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[3]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1799,7 +1817,7 @@ "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .btn > translate-i18n", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button/translate-i18n", "xpath:position"] @@ -1809,7 +1827,7 @@ "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], @@ -1822,7 +1840,7 @@ "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1834,10 +1852,19 @@ }, { "id": "7e80934c-c706-42e3-84c2-012dfcfb88a3", "comment": "", - "command": "sendKeys", - "target": "css=section > div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "id"], + ["linkText=otherThings", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'otherThings')]", "xpath:innerText"] + ], + "value": "" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", @@ -1923,11 +1950,12 @@ "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5)", + "target": "css=.mb-4:nth-child(4) .d-flex:nth-child(5) > .d-block", "targets": [ - ["css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]", "xpath:idRelative"], - ["xpath=//div[8]/ul/li[5]", "xpath:position"] + ["css=.mb-4:nth-child(4) .d-flex:nth-child(5) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[4]/div/div[2]/div[2]/div/div[2]/ul/li[5]/span", "xpath:idRelative"], + ["xpath=//li[5]/span", "xpath:position"], + ["xpath=//span[contains(.,'somethingElse')]", "xpath:innerText"] ], "value": "somethingElse" }, { @@ -2209,11 +2237,11 @@ "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(9) div:nth-child(3) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(9) div:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] ], "value": "responder-id-123" diff --git a/backend/src/integration/resources/SHIBUI-1335-1.side b/backend/src/integration/resources/SHIBUI-1335-1.side index e66a063bd..0a58996dd 100644 --- a/backend/src/integration/resources/SHIBUI-1335-1.side +++ b/backend/src/integration/resources/SHIBUI-1335-1.side @@ -851,7 +851,7 @@ "id": "027b4448-eaf6-4f24-ae2f-5b592db910ed", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], @@ -906,7 +906,7 @@ "id": "d8e3df44-0db6-458e-b133-36b7ec08fbb7", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .btn > translate-i18n", "css:finder"], ["xpath=//array-component/div/div/button/translate-i18n", "xpath:position"] @@ -958,7 +958,7 @@ "id": "4e595806-b2c6-43c6-bd1f-78e659f795e4", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//array-component/div/div/button", "xpath:position"], @@ -1011,7 +1011,7 @@ "id": "9902d02a-d7f7-4424-92f4-2a6072916421", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//array-component/div/div/button", "xpath:position"], @@ -1060,11 +1060,29 @@ ["xpath=//a[contains(.,'urn:oasis:names:tc:SAML:2.0:nameid-format:transient')]", "xpath:innerText"] ], "value": "" + }, { + "id": "290e296a-97a9-41e3-bbd8-51edfebc550b", + "comment": "", + "command": "click", + "target": "css=.row:nth-child(2) .array-add-button", + "targets": [ + ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], + ["xpath=//array-component/div/div/button", "xpath:position"], + ["xpath=//button[contains(.,'Add   ')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "fabcaffe-4f57-45ab-ad6d-8901a14da678", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" }, { "id": "624fd275-3ee2-4cd0-890a-4ae22b152ed4", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=div:nth-child(8) .d-flex > .btn", "css:finder"], ["xpath=//array-component/div/div/button", "xpath:position"], @@ -1075,7 +1093,7 @@ "id": "e6c3d2db-386e-4b9b-a160-c091b025c1b9", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[10]", "xpath:attributes"], @@ -1086,15 +1104,15 @@ }, { "id": "0c417f2a-a400-4b34-91fc-e73efb92faff", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "targets": [], - "value": "${KEY_ENTER}" + "value": "" }, { "id": "82093807-448e-4a25-96bf-ed1dfca77452", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], @@ -1113,7 +1131,7 @@ "id": "fcd7d891-5ea4-45a6-8554-4298ec5804c9", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[1]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1148,7 +1166,7 @@ "id": "743e6d84-98b7-461a-8fb9-05826abb8e22", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1165,7 +1183,7 @@ "id": "81517bc9-7996-46be-9dfe-9eea57f0e616", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1200,7 +1218,7 @@ "id": "7a3a49b4-4348-4318-a35c-ba0a2192e811", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1217,7 +1235,7 @@ "id": "c2f97ae8-fddf-4e48-b961-1d4154ceae9f", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[3]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[10]", "xpath:attributes"], @@ -1252,7 +1270,7 @@ "id": "efad42c9-5d79-42f6-a348-54ba5fe59e9d", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=div:nth-child(9) .d-flex > .btn", "css:finder"], ["xpath=//div[9]/sf-form-element/div/sf-widget-chooser/array-component/div/div/button", "xpath:position"] @@ -1262,7 +1280,7 @@ "id": "9a7b2bfe-8702-40be-a6fe-a76b9a01cdde", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[18]", "xpath:attributes"], @@ -1273,10 +1291,10 @@ }, { "id": "9a850c80-fc21-48c8-b146-a665307c5ac6", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "targets": [], - "value": "${KEY_ENTER}" + "value": "" }, { "id": "82bf7075-6128-4471-a631-c8e4c3525eea", "comment": "", @@ -1679,7 +1697,7 @@ "id": "f0ae75e7-b2c0-49fa-9806-23f4f228e3e1", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[8]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[9]", "xpath:attributes"], @@ -1690,10 +1708,19 @@ }, { "id": "fffef61c-1c28-4180-b337-00b69a0148d3", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_formats_4-item-4", + "targets": [ + ["id=option-selector-root_formats_4-item-4", "id"], + ["linkText=name id format", "linkText"], + ["css=#option-selector-root_formats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'name id format')]", "xpath:innerText"] + ], + "value": "" }, { "id": "3a97e6c5-badb-45c8-b6e5-a7e8462ee77f", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1335-4.side b/backend/src/integration/resources/SHIBUI-1335-4.side index a8c7d3ae6..512c5b5c2 100644 --- a/backend/src/integration/resources/SHIBUI-1335-4.side +++ b/backend/src/integration/resources/SHIBUI-1335-4.side @@ -865,7 +865,7 @@ "id": "c722da17-b739-4fa6-b731-8b347e3c96e3", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], @@ -1056,11 +1056,11 @@ "id": "81373637-8e36-4736-9b2a-7b8d477dc2c1", "comment": "", "command": "click", - "target": "id=dropdown-", + "target": "id=dropdown-label.filter-target-type", "targets": [ - ["id=dropdown-", "id"], - ["css=#dropdown-", "css:finder"], - ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["id=dropdown-label.filter-target-type", "id"], + ["css=#dropdown-label\\.filter-target-type", "css:finder"], + ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] diff --git a/backend/src/integration/resources/SHIBUI-1364-1.side b/backend/src/integration/resources/SHIBUI-1364-1.side index 573496e81..15d1857a8 100644 --- a/backend/src/integration/resources/SHIBUI-1364-1.side +++ b/backend/src/integration/resources/SHIBUI-1364-1.side @@ -664,16 +664,22 @@ }, { "id": "f62f8d1d-8c53-4cb5-bc19-84f68fee870d", "comment": "", - "command": "pause", - "target": "5000", + "command": "waitForElementPresent", + "target": "name=type", "targets": [], - "value": "" + "value": "30000" }, { "id": "dc41b26d-b101-4ead-866f-482df0bfee04", "comment": "", "command": "select", "target": "name=type", - "targets": [], + "targets": [ + ["name=type", "name"], + ["css=.custom-select", "css:finder"], + ["xpath=//select[@name='type']", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div/div/div/div/form/div/select", "xpath:idRelative"], + ["xpath=//select", "xpath:position"] + ], "value": "label=EntityAttributes" }, { "id": "49fe7508-4f42-4eae-a47d-85a0983efb64", @@ -910,7 +916,7 @@ "id": "7753fdc3-fb29-436e-aa16-c331fa4772d6", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], @@ -951,7 +957,7 @@ "id": "7e21402f-383c-4995-89b6-b75db89c0ab5", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button > .svg-inline--fa", + "target": "css=.row:nth-child(2) .array-add-button > .svg-inline--fa", "targets": [ ["css=.row:nth-child(8) .array-add-button > .svg-inline--fa", "css:finder"] ], @@ -984,7 +990,7 @@ "id": "8fbcab89-08ff-4c40-a2bc-79674b75720c", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], @@ -1021,7 +1027,7 @@ "id": "72506b7c-224d-4c45-81e6-1b1e5f3a08b8", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], @@ -1059,7 +1065,7 @@ "id": "bac85588-bf58-4e2a-ba71-6d0a3941631e", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], @@ -1072,7 +1078,7 @@ "id": "dd44bd2e-84dc-4512-966f-97f893f530e9", "comment": "", "command": "click", - "target": "css=#root > div > main > div > section > div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[5]", "xpath:attributes"], @@ -1084,7 +1090,7 @@ "id": "2d2e92a4-213d-4345-9b1c-f6fb04df3971", "comment": "", "command": "type", - "target": "css=#root > div > main > div > section > div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=//input[@value='someNameID']", "xpath:attributes"], @@ -1093,22 +1099,26 @@ ], "value": "someNameID" }, { - "id": "8384cd5e-7678-4de9-96c6-7d81ac9591ce", + "id": "22098498-fa16-468f-abfa-768e5736d317", "comment": "", - "command": "sendKeys", - "target": "css=#root > div > main > div > section > div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "targets": [ - ["css=.focus", "css:finder"], - ["xpath=//input[@value='someNameID']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "id"], + ["linkText=someNameID", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'someNameID')]", "xpath:innerText"] ], - "value": "${KEY_ENTER}" + "value": "" }, { "id": "f2443263-2147-4457-ae68-9c46bb38940a", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], @@ -1120,7 +1130,7 @@ "id": "22ce2ccc-94d9-4b6c-8a6c-7544af49e00a", "comment": "", "command": "click", - "target": "css=.is-invalid > .toggle-button", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=.is-invalid > .toggle-button", "css:finder"], ["xpath=(//button[@type='button'])[32]", "xpath:attributes"], @@ -1148,7 +1158,7 @@ "id": "ccd54cce-a783-4dbd-b64e-1932286b4a08", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], @@ -1160,7 +1170,7 @@ "id": "00087e23-8d82-4dc1-ae12-8043589e08f1", "comment": "", "command": "click", - "target": "css=.is-invalid > .toggle-button", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=.is-invalid > .toggle-button", "css:finder"], ["xpath=(//button[@type='button'])[34]", "xpath:attributes"], @@ -1188,19 +1198,19 @@ "id": "58dc23a7-adae-4b09-a056-c1facfc3db89", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ - ["css=.row:nth-child(9) .array-add-button", "css:finder"], - ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div/button", "xpath:idRelative"], - ["xpath=//div[9]/div/div/div/div/div/div/button", "xpath:position"] + ["css=.row:nth-child(4) .array-add-button", "css:finder"], + ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[4]/div/div/div/div/div/div/button", "xpath:idRelative"], + ["xpath=//div[7]/div/div/div/div/div[4]/div/div/div/div/div/div/button", "xpath:position"] ], "value": "" }, { "id": "b1429afc-4501-4fb3-acf7-02f2cb90f7f3", "comment": "", "command": "click", - "target": "css=.is-invalid > .toggle-button", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[3]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=.is-invalid > .toggle-button", "css:finder"], ["xpath=(//button[@type='button'])[36]", "xpath:attributes"], @@ -1224,7 +1234,7 @@ "id": "268e6828-97c8-4f68-9f2d-9c443b16dcef", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[30]", "xpath:attributes"], @@ -1236,7 +1246,7 @@ "id": "b6dc2be5-574b-4fd6-b1a1-786303efc60a", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[9]", "xpath:attributes"], @@ -1248,7 +1258,7 @@ "id": "28aa7d61-803f-48af-a103-5945f84a1601", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[7]/div/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=//input[@value='SomeAuthnMethod']", "xpath:attributes"], @@ -1259,15 +1269,19 @@ }, { "id": "3d9af697-8021-4a7b-bc09-7fbcc501817e", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(7) > div > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "targets": [ - ["css=.focus", "css:finder"], - ["xpath=//input[@value='SomeAuthnMethod']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[7]/div/div/div/div/div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[9]/div/div/div/div/div/div[2]/div[4]/div/div/div/div/div/div/div/input", "xpath:position"] + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "id"], + ["linkText=SomeAuthnMethod", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'SomeAuthnMethod')]", "xpath:innerText"] ], - "value": "${KEY_ENTER}" + "value": "" }, { "id": "82bf7075-6128-4471-a631-c8e4c3525eea", "comment": "", @@ -1307,6 +1321,13 @@ ["xpath=//a[contains(.,'Add Filter')]", "xpath:innerText"] ], "value": "" + }, { + "id": "53ed1d39-156e-44ed-81a7-7c1aed296ff6", + "comment": "", + "command": "waitForElementPresent", + "target": "name=type", + "targets": [], + "value": "30000" }, { "id": "097ea9f6-e75c-41a3-b4e9-a4a80a866802", "comment": "", @@ -1363,11 +1384,11 @@ "id": "abfa17d5-ebfe-4bb2-b64a-ef5f127bac86", "comment": "", "command": "click", - "target": "id=dropdown-", + "target": "id=dropdown-label.filter-target-type", "targets": [ - ["id=dropdown-", "id"], - ["css=#dropdown-", "css:finder"], - ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["id=dropdown-label.filter-target-type", "id"], + ["css=#dropdown-label\\.filter-target-type", "css:finder"], + ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] @@ -1640,7 +1661,7 @@ "id": "c18de9c9-ff9e-4784-897f-9b081102aa9e", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[8]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[5]", "xpath:attributes"], @@ -1652,7 +1673,7 @@ "id": "3d49dbfc-47e9-4629-a27c-1013e0e2bdac", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div[1]/div/div[8]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=//input[@value='SomeOtherNameIDFormat']", "xpath:attributes"], @@ -1663,15 +1684,19 @@ }, { "id": "875914ff-80a4-41cd-ab6c-602d1ddaaa8f", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div > div:nth-child(3) > div:nth-child(3) > div.col-lg-9 > div > form > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "command": "click", + "target": "id=option-selector-root_formats_4-item-4", "targets": [ - ["css=.focus", "css:finder"], - ["xpath=//input[@value='SomeOtherNameIDFormat']", "xpath:attributes"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[8]/div/div/div/div/div/div[2]/div[5]/div/div/div/div/div/div/div/input", "xpath:idRelative"], - ["xpath=//div[5]/div/div/div/div/div/div/div/input", "xpath:position"] + ["id=option-selector-root_formats_4-item-4", "id"], + ["linkText=SomeOtherNameIDFormat", "linkText"], + ["css=#option-selector-root_formats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_formats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_formats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'SomeOtherNameIDFormat')]", "xpath:innerText"] ], - "value": "${KEY_ENTER}" + "value": "" }, { "id": "4ae2793d-9d5a-4416-9875-97a7bbfee59f", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1364-4.side b/backend/src/integration/resources/SHIBUI-1364-4.side index e201417e5..45011a7c0 100644 --- a/backend/src/integration/resources/SHIBUI-1364-4.side +++ b/backend/src/integration/resources/SHIBUI-1364-4.side @@ -848,7 +848,7 @@ "id": "93505bd6-8a5e-4ef0-8f50-d2dc9bce71d6", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[18]", "xpath:attributes"], @@ -1029,11 +1029,11 @@ "id": "81373637-8e36-4736-9b2a-7b8d477dc2c1", "comment": "", "command": "click", - "target": "id=dropdown-", + "target": "id=dropdown-label.filter-target-type", "targets": [ - ["id=dropdown-", "id"], - ["css=#dropdown-", "css:finder"], - ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["id=dropdown-label.filter-target-type", "id"], + ["css=#dropdown-label\\.filter-target-type", "css:finder"], + ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] diff --git a/backend/src/integration/resources/SHIBUI-1385-1.side b/backend/src/integration/resources/SHIBUI-1385-1.side index 887056773..48940bee7 100644 --- a/backend/src/integration/resources/SHIBUI-1385-1.side +++ b/backend/src/integration/resources/SHIBUI-1385-1.side @@ -793,7 +793,7 @@ "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[5]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[9]", "xpath:attributes"], @@ -804,10 +804,19 @@ }, { "id": "ac842b8d-4596-4749-85c6-4657cb499b83", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", + "targets": [ + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", "id"], + ["linkText=somethingElse", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'somethingElse')]", "xpath:innerText"] + ], + "value": "" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -1401,7 +1410,7 @@ "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1456,7 +1465,7 @@ "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1511,7 +1520,7 @@ "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1566,7 +1575,7 @@ "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1621,7 +1630,7 @@ "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1634,7 +1643,7 @@ "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["css=.focus", "css:finder"], ["xpath=(//input[@value=''])[10]", "xpath:attributes"], @@ -1646,7 +1655,7 @@ "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1658,15 +1667,24 @@ }, { "id": "d378468f-965e-4d99-8429-2e4100b3a161", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "id"], + ["linkText=somethingElse", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'somethingElse')]", "xpath:innerText"] + ], + "value": "" }, { "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1685,7 +1703,7 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], @@ -1717,7 +1735,7 @@ "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1736,7 +1754,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1768,7 +1786,7 @@ "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1787,7 +1805,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[3]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1822,7 +1840,7 @@ "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1834,7 +1852,7 @@ "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], @@ -1847,7 +1865,7 @@ "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1859,10 +1877,19 @@ }, { "id": "e9e0639e-2f65-43eb-af05-e0565591dbdc", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "id"], + ["linkText=otherThings", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'otherThings')]", "xpath:innerText"] + ], + "value": "" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", @@ -1946,22 +1973,24 @@ "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5)", + "target": "css=.mb-4:nth-child(4) .d-flex:nth-child(5) > .d-block", "targets": [ - ["css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]", "xpath:idRelative"], - ["xpath=//div[8]/ul/li[5]", "xpath:position"] + ["css=.mb-4:nth-child(4) .d-flex:nth-child(5) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[4]/div/div[2]/div[2]/div/div[2]/ul/li[5]/span", "xpath:idRelative"], + ["xpath=//li[5]/span", "xpath:position"], + ["xpath=//span[contains(.,'somethingElse')]", "xpath:innerText"] ], "value": "somethingElse" }, { "id": "18636780-2feb-458f-97be-cf4a625b22e1", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(4) > .py-2", + "target": "css=.d-flex:nth-child(1) > .py-2 > span", "targets": [ - ["css=.d-flex:nth-child(4) > .py-2", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[9]/div/div[2]/div[2]/div[4]/div", "xpath:idRelative"], - ["xpath=//div[2]/div[4]/div", "xpath:position"] + ["css=.d-flex:nth-child(1) > .py-2 > span", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[9]/div/div[2]/div[2]/div/div/span", "xpath:idRelative"], + ["xpath=//section[9]/div/div[2]/div[2]/div/div/span", "xpath:position"], + ["xpath=//span[contains(.,'True')]", "xpath:innerText"] ], "value": "True" }, { @@ -2240,11 +2269,11 @@ "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(9) div:nth-child(3) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(9) div:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] ], "value": "responder-id-123" @@ -2252,11 +2281,12 @@ "id": "e8b794fc-20e2-4317-8bdd-73eee8e94951", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(4) > .py-2", + "target": "css=.d-flex:nth-child(1) > .py-2 > span", "targets": [ - ["css=.d-flex:nth-child(4) > .py-2", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div/div/section[8]/div/div[2]/div[2]/div[4]/div", "xpath:idRelative"], - ["xpath=//section[8]/div/div[2]/div[2]/div[4]/div", "xpath:position"] + ["css=.d-flex:nth-child(1) > .py-2 > span", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[8]/div/div[2]/div[2]/div/div/span", "xpath:idRelative"], + ["xpath=//section[8]/div/div[2]/div[2]/div/div/span", "xpath:position"], + ["xpath=//span[contains(.,'True')]", "xpath:innerText"] ], "value": "True" }, { @@ -2665,6 +2695,21 @@ ["xpath=//a[contains(.,' Restore')]", "xpath:innerText"] ], "value": "" + }, { + "id": "1acccf5f-2f4f-4317-9acc-d648f2b61ac6", + "comment": "", + "command": "click", + "target": "linkText=Restore", + "targets": [ + ["linkText=Restore", "linkText"], + ["css=.btn-primary", "css:finder"], + ["xpath=//a[contains(text(),'Restore')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/div/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/source/2e6145fc-09ac-44b9-adcd-f331cc011055/restore/864/common/edit')]", "xpath:href"], + ["xpath=//section/div/div/div/div/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Restore')]", "xpath:innerText"] + ], + "value": "" }, { "id": "5bb3c6c8-4bb0-43b1-8b9f-f189ccb31f50", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1385-2.side b/backend/src/integration/resources/SHIBUI-1385-2.side index 7a392bff7..e796c9d16 100644 --- a/backend/src/integration/resources/SHIBUI-1385-2.side +++ b/backend/src/integration/resources/SHIBUI-1385-2.side @@ -926,6 +926,13 @@ ["xpath=//a[contains(.,'Metadata Providers')]", "xpath:innerText"] ], "value": "" + }, { + "id": "d0be2c9b-8162-4315-bcfe-230d914b9748", + "comment": "", + "command": "waitForElementPresent", + "target": "linkText=Test Metadata Provider", + "targets": [], + "value": "30000" }, { "id": "5dd3952e-d716-4d63-8a08-23be4983da23", "comment": "", @@ -940,6 +947,13 @@ ["xpath=//a[contains(.,'Test Metadata Provider')]", "xpath:innerText"] ], "value": "" + }, { + "id": "5fd53667-6f71-4305-9b54-2eb00407ad82", + "comment": "", + "command": "waitForElementPresent", + "target": "css=.mb-4:nth-child(6) .edit-link", + "targets": [], + "value": "30000" }, { "id": "c9341f6f-4d13-4378-bb5c-0079e7535008", "comment": "", @@ -1257,6 +1271,21 @@ ["xpath=//button[contains(.,'  Restore')]", "xpath:innerText"] ], "value": "" + }, { + "id": "37826edc-e582-4523-add3-e8d383b23ecd", + "comment": "", + "command": "click", + "target": "linkText=Restore", + "targets": [ + ["linkText=Restore", "linkText"], + ["css=.btn-primary", "css:finder"], + ["xpath=//a[contains(text(),'Restore')]", "xpath:link"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/div/div/a[2]", "xpath:idRelative"], + ["xpath=//a[contains(@href, '/metadata/provider/8be54754-c2f4-4da8-989e-2f50acd53961/restore/1016/common/edit')]", "xpath:href"], + ["xpath=//section/div/div/div/div/a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Restore')]", "xpath:innerText"] + ], + "value": "" }, { "id": "e58a9927-7292-4f25-97da-e478dd9bfc22", "comment": "", diff --git a/backend/src/integration/resources/SHIBUI-1392.side b/backend/src/integration/resources/SHIBUI-1392.side index 22a4e481d..bba2d9c63 100644 --- a/backend/src/integration/resources/SHIBUI-1392.side +++ b/backend/src/integration/resources/SHIBUI-1392.side @@ -369,11 +369,11 @@ "id": "c92e936c-d516-472f-9f28-36de89117e14", "comment": "", "command": "click", - "target": "id=dropdown-", + "target": "id=dropdown-label.filter-target-type", "targets": [ - ["id=dropdown-", "id"], - ["css=#dropdown-", "css:finder"], - ["xpath=//button[@id='dropdown-']", "xpath:attributes"], + ["id=dropdown-label.filter-target-type", "id"], + ["css=#dropdown-label\\.filter-target-type", "css:finder"], + ["xpath=//button[@id='dropdown-label.filter-target-type']", "xpath:attributes"], ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div/div/button", "xpath:idRelative"], ["xpath=//fieldset/div/div/div/div/button", "xpath:position"], ["xpath=//button[contains(.,'Entity ID ')]", "xpath:innerText"] @@ -410,25 +410,25 @@ "id": "786cd3cb-46b2-4361-b449-8f679ff97135", "comment": "", "command": "waitForElementPresent", - "target": "css=.codearea", + "target": "css=.npm__react-simple-code-editor__textarea", "targets": [ - ["css=.codearea", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/div", "xpath:idRelative"], - ["xpath=//fieldset/div/div/div[2]/div/div/div", "xpath:position"] + ["css=.npm__react-simple-code-editor__textarea", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div/div[2]/div[2]/div[2]/div/form/div/div/div/div[3]/div/div/div/fieldset/div/div/div[2]/div/div/div/div/textarea", "xpath:idRelative"], + ["xpath=//textarea", "xpath:position"] ], "value": "10000" }, { "id": "dcf31546-0976-44ae-9ffc-c29a5255d646", "comment": "", - "command": "editContent", - "target": "css=.codearea", + "command": "type", + "target": "css=.npm__react-simple-code-editor__textarea", "targets": [], "value": "eval(true);" }, { "id": "8c7fd197-7b41-4d32-95d3-e5360af438dc", "comment": "", "command": "click", - "target": "css=.codearea", + "target": "css=.npm__react-simple-code-editor__textarea", "targets": [], "value": "" }, { diff --git a/backend/src/integration/resources/SHIBUI-1407-1.side b/backend/src/integration/resources/SHIBUI-1407-1.side index 4d3f2e3f9..ef9f2f566 100644 --- a/backend/src/integration/resources/SHIBUI-1407-1.side +++ b/backend/src/integration/resources/SHIBUI-1407-1.side @@ -793,7 +793,7 @@ "id": "23fd8856-32df-48ed-a198-a74e8ca71b10", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[5]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field34", "id"], ["css=#field34", "css:finder"], @@ -805,10 +805,19 @@ }, { "id": "ce53cbc9-f15b-416c-9201-a56366e1837f", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(5) > div > div:nth-child(1) > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", + "targets": [ + ["id=option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", "id"], + ["linkText=somethingElse", "linkText"], + ["css=#option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_serviceProviderSsoDescriptor_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'somethingElse')]", "xpath:innerText"] + ], + "value": "" }, { "id": "4f61120b-7c6b-4f8e-8543-898298451a56", "comment": "", @@ -1402,7 +1411,7 @@ "id": "ba74d18d-0996-485f-8a9f-01a39428eb0c", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1457,7 +1466,7 @@ "id": "ec3afb37-30b4-4d07-93a6-dcf022605532", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1509,7 +1518,7 @@ "id": "8b340d1f-4944-4d10-a4cd-5e79be6804ef", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1564,7 +1573,7 @@ "id": "d6e7a640-a578-415b-9c1b-b2313b62ad46", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1619,7 +1628,7 @@ "id": "4c15be93-75be-4673-b703-07a705300d0f", "comment": "", "command": "click", - "target": "css=.row:nth-child(8) .array-add-button", + "target": "css=.row:nth-child(2) .array-add-button", "targets": [ ["css=.row:nth-child(8) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[13]", "xpath:attributes"], @@ -1632,7 +1641,7 @@ "id": "1a1b509e-1768-4291-820d-26f4b73a9d71", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=/relyingPartyOverrides/nameIdFormats/4", "id"], ["css=#\\/relyingPartyOverrides\\/nameIdFormats\\/4", "css:finder"], @@ -1645,7 +1654,7 @@ "id": "433d6e9d-9d03-4042-9ee0-6284570f8a3c", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(8) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(5) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[2]/div/div/div[1]/div/div/div[2]/div[5]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field83", "id"], ["css=#field83", "css:finder"], @@ -1658,7 +1667,30 @@ "id": "c8bb3bee-3d61-4324-a3aa-38b78232b969", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "id"], + ["linkText=somethingElse", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4-item-4']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_nameIdFormats_4']/a[5]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[5]", "xpath:href"], + ["xpath=//a[5]", "xpath:position"], + ["xpath=//a[contains(.,'somethingElse')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "0b950018-bd12-433a-b198-682d4ea55a90", + "comment": "", + "command": "pause", + "target": "500", + "targets": [], + "value": "" + }, { + "id": "a26984fc-83f5-41fc-ae39-8a0f1538f92f", + "comment": "", + "command": "click", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1667,7 +1699,7 @@ ], "value": "" }, { - "id": "0b950018-bd12-433a-b198-682d4ea55a90", + "id": "737d247b-346d-43e3-9df0-cb0b94a939b6", "comment": "", "command": "pause", "target": "500", @@ -1677,7 +1709,7 @@ "id": "cbf15c4c-35d9-4f80-ba3d-bfe960048cd1", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/0-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[7]", "xpath:attributes"], @@ -1712,7 +1744,7 @@ "id": "ed769470-9c3f-4c23-bbed-85513dcea800", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1731,7 +1763,7 @@ "id": "2b063eb8-f2d6-4a59-85bb-b04c467d9874", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(2) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[2]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/1-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[8]", "xpath:attributes"], @@ -1766,7 +1798,7 @@ "id": "892ddc96-970b-4dde-9189-0dc9ed197dab", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1785,7 +1817,7 @@ "id": "64e215d9-6e46-422f-882c-13b6fb102622", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(3) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > button", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[3]/div/div[1]/div/div[1]/div/div/button", "targets": [ ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/2-container .btn", "css:finder"], ["xpath=(//button[@type='button'])[9]", "xpath:attributes"], @@ -1820,7 +1852,7 @@ "id": "f0dd4b79-eab5-4d4b-af2e-07ca661f8288", "comment": "", "command": "click", - "target": "css=.row:nth-child(9) .array-add-button", + "target": "css=.row:nth-child(4) .array-add-button", "targets": [ ["css=.row:nth-child(9) .array-add-button", "css:finder"], ["xpath=(//button[@type='button'])[25]", "xpath:attributes"], @@ -1832,7 +1864,7 @@ "id": "dacd34b0-9e48-4838-b137-bf22dd027ed0", "comment": "", "command": "click", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=/relyingPartyOverrides/authenticationMethods/3", "id"], ["css=#\\/relyingPartyOverrides\\/authenticationMethods\\/3", "css:finder"], @@ -1845,7 +1877,7 @@ "id": "cc9dd18b-ee87-4aa7-91f2-59f02834759b", "comment": "", "command": "type", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", + "target": "xpath=//section/div[2]/div[2]/div/div/form/div/div[1]/div/div/div[9]/div/div[1]/div/div[4]/div/div/div[1]/div/div/div[2]/div[4]/div/div[1]/div/div[1]/div/div/div[1]/input[1]", "targets": [ ["id=field87", "id"], ["css=#field87", "css:finder"], @@ -1857,10 +1889,19 @@ }, { "id": "74827780-a9c2-49c6-a709-7578597bf20d", "comment": "", - "command": "sendKeys", - "target": "css=div.section-body.p-4.border.border-top-0.border-info > div:nth-child(3) > div > div > form > div > div:nth-child(1) > div > div > div:nth-child(9) > div > div:nth-child(1) > div > div:nth-child(9) > div > div > div:nth-child(1) > div > div > div.p-0.m-0.container-fluid > div:nth-child(4) > div > div.mr-2.flex-grow-1.undefined > div > div:nth-child(1) > div > div > div:nth-child(1) > input.rbt-input-main.form-control.rbt-input", - "targets": [], - "value": "${KEY_ENTER}" + "command": "click", + "target": "id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", + "targets": [ + ["id=option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "id"], + ["linkText=otherThings", "linkText"], + ["css=#option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3", "css:finder"], + ["xpath=//a[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3-item-3']", "xpath:attributes"], + ["xpath=//div[@id='option-selector-root_relyingPartyOverrides_authenticationMethods_3']/a[4]", "xpath:idRelative"], + ["xpath=(//a[contains(@href, '#')])[4]", "xpath:href"], + ["xpath=//a[4]", "xpath:position"], + ["xpath=//a[contains(.,'otherThings')]", "xpath:innerText"] + ], + "value": "" }, { "id": "7c85fe59-dc95-4328-a010-33d1a06a5ce5", "comment": "", @@ -1953,11 +1994,12 @@ "id": "e53030b6-f344-4361-981d-b8303a721c5d", "comment": "", "command": "assertText", - "target": "css=.d-flex:nth-child(8) .d-flex:nth-child(5)", + "target": "css=.mb-4:nth-child(4) .d-flex:nth-child(5) > .d-block", "targets": [ - ["css=.d-flex:nth-child(8) .d-flex:nth-child(5)", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[8]/div/div[2]/div[2]/div/div[8]/ul/li[5]", "xpath:idRelative"], - ["xpath=//div[8]/ul/li[5]", "xpath:position"] + ["css=.mb-4:nth-child(4) .d-flex:nth-child(5) > .d-block", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div[2]/div[3]/div/section[4]/div/div[2]/div[2]/div/div[2]/ul/li[5]/span", "xpath:idRelative"], + ["xpath=//li[5]/span", "xpath:position"], + ["xpath=//span[contains(.,'somethingElse')]", "xpath:innerText"] ], "value": "somethingElse" }, { @@ -2228,11 +2270,11 @@ "id": "951a21c9-4cd3-4989-8dc0-77760ca0dc95", "comment": "", "command": "assertText", - "target": "css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", + "target": "css=.mb-4:nth-child(9) div:nth-child(3) .d-block:nth-child(2)", "targets": [ - ["css=.mb-4:nth-child(9) div:nth-child(7) .d-block:nth-child(2)", "css:finder"], - ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:idRelative"], - ["xpath=//section[7]/div/div[2]/div[2]/div/div[7]/div/span[2]", "xpath:position"], + ["css=.mb-4:nth-child(9) div:nth-child(3) .d-block:nth-child(2)", "css:finder"], + ["xpath=//div[@id='root']/div/main/div/section/div/div/section[7]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:idRelative"], + ["xpath=//section[7]/div/div[2]/div[2]/div/div[3]/div/span[2]", "xpath:position"], ["xpath=//span[contains(.,'responder-id-123')]", "xpath:innerText"] ], "value": "responder-id-123" From ade135ddc04fb418e688bff6b096149bc4d9d49b Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Thu, 29 Jul 2021 16:21:28 -0700 Subject: [PATCH 008/138] NOJIRA Small update that was also added on 1740 to aid the tests in being able to hit the Wipeout endpoint. --- .../internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy index f9e12afe7..acb111113 100644 --- a/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy +++ b/backend/src/integration/groovy/edu/internet2/tier/shibboleth/admin/ui/SeleniumSIDETest.groovy @@ -15,7 +15,7 @@ import java.nio.file.Paths //TODO: make config configurable @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = [ShibbolethUiApplication]) -@ActiveProfiles(['dev']) +@ActiveProfiles(['dev', 'very-dangerous']) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD, methodMode = DirtiesContext.MethodMode.AFTER_METHOD) class SeleniumSIDETest extends Specification { @Value('${local.server.port}') From 1c4fe322e44c97be73fc5b155dde23cee6f93a53 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Mon, 16 Aug 2021 11:32:09 -0700 Subject: [PATCH 009/138] SHIBUI-1743 Creating branch for feature work --- .../tier/shibboleth/admin/ui/security/model/Group.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Group.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Group.java index 8ccd02b1b..47b607a87 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Group.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Group.java @@ -46,13 +46,16 @@ public class Group implements Owner { @Column(name = "resource_id") private String resourceId = UUID.randomUUID().toString(); + @Column(name = "validation_regex") + private String validationRegex = "/*"; + /** * Define a Group object based on the user */ public Group(User user) { resourceId = user.getUsername(); name = user.getUsername(); - description = "default user-group"; + description = "default user-group";new String().matches(""); } @Override From c7a3d3634354bdb804345944dfe5f7c890200871 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Mon, 16 Aug 2021 15:30:04 -0700 Subject: [PATCH 010/138] SHIBUI-2023 Adding regex field to Groups --- .../security/controller/GroupController.java | 7 +- .../GroupControllerExceptionHandler.java | 13 +- .../exception/InvalidGroupRegexException.java | 7 + .../admin/ui/security/model/Group.java | 7 +- .../ui/security/service/GroupServiceImpl.java | 37 ++++- .../ui/security/service/IGroupService.java | 7 +- .../ui/security/service/UserService.java | 8 +- .../security/service/GroupServiceTests.groovy | 148 ++++++++++++++++++ .../security/service/UserServiceTests.groovy | 2 +- 9 files changed, 215 insertions(+), 21 deletions(-) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/exception/InvalidGroupRegexException.java create mode 100644 backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupController.java index c0fc0a8ea..bcb1b047c 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupController.java @@ -1,5 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.security.controller; +import edu.internet2.tier.shibboleth.admin.ui.security.exception.InvalidGroupRegexException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -32,7 +33,7 @@ public class GroupController { @Secured("ROLE_ADMIN") @PostMapping @Transactional - public ResponseEntity create(@RequestBody Group group) throws GroupExistsConflictException { + public ResponseEntity create(@RequestBody Group group) throws GroupExistsConflictException, InvalidGroupRegexException { Group result = groupService.createGroup(group); return ResponseEntity.status(HttpStatus.CREATED).body(result); } @@ -64,8 +65,8 @@ public ResponseEntity getOne(@PathVariable String resourceId) throws EntityNo @Secured("ROLE_ADMIN") @PutMapping @Transactional - public ResponseEntity update(@RequestBody Group group) throws EntityNotFoundException { + public ResponseEntity update(@RequestBody Group group) throws EntityNotFoundException, InvalidGroupRegexException { Group result = groupService.updateGroup(group); return ResponseEntity.ok(result); } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupControllerExceptionHandler.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupControllerExceptionHandler.java index e8bb3b4af..39778e21a 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupControllerExceptionHandler.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupControllerExceptionHandler.java @@ -1,5 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.security.controller; +import edu.internet2.tier.shibboleth.admin.ui.security.exception.InvalidGroupRegexException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -43,4 +44,14 @@ public ResponseEntity handleGroupExistsConflict(GroupExistsConflictException return ResponseEntity.status(HttpStatus.METHOD_NOT_ALLOWED).headers(headers) .body(new ErrorResponse(String.valueOf(HttpStatus.METHOD_NOT_ALLOWED.value()), e.getMessage())); } -} + + @ExceptionHandler({ InvalidGroupRegexException.class }) + public ResponseEntity handleInvalidGroupRegexException(InvalidGroupRegexException e, WebRequest request) { + HttpHeaders headers = new HttpHeaders(); + headers.setLocation(ServletUriComponentsBuilder.fromCurrentServletMapping().path("/api/admin/groups").build().toUri()); + + return ResponseEntity.status(HttpStatus.BAD_REQUEST).headers(headers) + .body(new ErrorResponse(String.valueOf(HttpStatus.BAD_REQUEST.value()), e.getMessage())); + } + +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/exception/InvalidGroupRegexException.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/exception/InvalidGroupRegexException.java new file mode 100644 index 000000000..ae9a034d1 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/exception/InvalidGroupRegexException.java @@ -0,0 +1,7 @@ +package edu.internet2.tier.shibboleth.admin.ui.security.exception; + +public class InvalidGroupRegexException extends Exception { + public InvalidGroupRegexException(String message) { + super(message); + } +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Group.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Group.java index 47b607a87..6a986040c 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Group.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/Group.java @@ -23,6 +23,8 @@ @EntityListeners(GroupUpdatedEntityListener.class) @Entity(name = "user_groups") public class Group implements Owner { + public static final String DEFAULT_REGEX = "/(?:)/"; //non-capturing + @Transient @JsonIgnore public static Group ADMIN_GROUP; @@ -47,7 +49,7 @@ public class Group implements Owner { private String resourceId = UUID.randomUUID().toString(); @Column(name = "validation_regex") - private String validationRegex = "/*"; + private String validationRegex = DEFAULT_REGEX; /** * Define a Group object based on the user @@ -55,7 +57,8 @@ public class Group implements Owner { public Group(User user) { resourceId = user.getUsername(); name = user.getUsername(); - description = "default user-group";new String().matches(""); + description = "default user-group"; + validationRegex = DEFAULT_REGEX; } @Override diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java index 2501f007e..7f461c816 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java @@ -1,18 +1,20 @@ package edu.internet2.tier.shibboleth.admin.ui.security.service; -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.security.exception.GroupDeleteException; import edu.internet2.tier.shibboleth.admin.ui.security.exception.GroupExistsConflictException; +import edu.internet2.tier.shibboleth.admin.ui.security.exception.InvalidGroupRegexException; import edu.internet2.tier.shibboleth.admin.ui.security.model.Group; import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository; import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository; import lombok.NoArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.regex.Pattern; @Service @NoArgsConstructor @@ -30,7 +32,7 @@ public GroupServiceImpl(GroupsRepository repo, OwnershipRepository ownershipRepo @Override @Transactional - public Group createGroup(Group group) throws GroupExistsConflictException { + public Group createGroup(Group group) throws GroupExistsConflictException, InvalidGroupRegexException { Group foundGroup = find(group.getResourceId()); // If already defined, we don't want to create a new one, nor do we want this call update the definition if (foundGroup != null) { @@ -38,6 +40,7 @@ public Group createGroup(Group group) throws GroupExistsConflictException { String.format("Call update (PUT) to modify the group with resource id: [%s] and name: [%s]", foundGroup.getResourceId(), foundGroup.getName())); } + validateGroupRegex(group); return groupRepository.save(group); } @@ -61,6 +64,7 @@ public void ensureAdminGroupExists() { g = new Group(); g.setName("ADMIN-GROUP"); g.setResourceId("admingroup"); + g.setValidationRegex("/*"); // Everything g = groupRepository.save(g); } Group.ADMIN_GROUP = g; @@ -78,12 +82,29 @@ public List findAll() { } @Override - public Group updateGroup(Group group) throws EntityNotFoundException { + public Group updateGroup(Group group) throws EntityNotFoundException, InvalidGroupRegexException { Group g = find(group.getResourceId()); if (g == null) { throw new EntityNotFoundException(String.format("Unable to find group with resource id: [%s] and name: [%s]", group.getResourceId(), group.getName())); } + validateGroupRegex(group); return groupRepository.save(group); } + + /** + * If the regex is missing, go with the default "anything goes" regex, otherwise validate that the pattern is valid to use. + */ + private void validateGroupRegex(Group group) throws InvalidGroupRegexException { + if (StringUtils.isEmpty(group.getValidationRegex())) { + group.setValidationRegex(Group.DEFAULT_REGEX); + return; + } + try { + Pattern.compile(group.getValidationRegex()); + } + catch (Exception e) { + throw new InvalidGroupRegexException("Invalid Regular Expression [ " + group.getValidationRegex() + " ]"); + } + } } \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java index 1c4229d84..95314123f 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java @@ -6,11 +6,12 @@ import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.security.exception.GroupDeleteException; import edu.internet2.tier.shibboleth.admin.ui.security.exception.GroupExistsConflictException; +import edu.internet2.tier.shibboleth.admin.ui.security.exception.InvalidGroupRegexException; import edu.internet2.tier.shibboleth.admin.ui.security.model.Group; public interface IGroupService { - Group createGroup(Group group) throws GroupExistsConflictException; + Group createGroup(Group group) throws GroupExistsConflictException, InvalidGroupRegexException; void deleteDefinition(String resourceId) throws EntityNotFoundException, GroupDeleteException; @@ -20,6 +21,6 @@ public interface IGroupService { List findAll(); - Group updateGroup(Group g) throws EntityNotFoundException; + Group updateGroup(Group g) throws EntityNotFoundException, InvalidGroupRegexException; -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/UserService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/UserService.java index a04e2b574..f6ae4dfd8 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/UserService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/UserService.java @@ -4,6 +4,7 @@ import java.util.Optional; import java.util.Set; +import edu.internet2.tier.shibboleth.admin.ui.security.exception.InvalidGroupRegexException; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; @@ -147,7 +148,8 @@ public User save(User user) { try { g = groupService.createGroup(g); } - catch (GroupExistsConflictException e) { + catch (GroupExistsConflictException | InvalidGroupRegexException e) { + // Invalid shouldn't happen for a group created this way. g = groupService.find(user.getUsername()); } } else { @@ -165,8 +167,8 @@ public User save(User user) { Ownership o = ownershipRepository.saveAndFlush(new Ownership(newGroup, user)); g = groupService.createGroup(newGroup); } - catch (GroupExistsConflictException e) { - // we just checked, this shouldn't happen + catch (GroupExistsConflictException | InvalidGroupRegexException e) { + // this shouldn't happen g = ug; } } diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy new file mode 100644 index 000000000..057cfb576 --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy @@ -0,0 +1,148 @@ +package edu.internet2.tier.shibboleth.admin.ui.security.service + +import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration +import edu.internet2.tier.shibboleth.admin.ui.security.controller.GroupController +import edu.internet2.tier.shibboleth.admin.ui.security.exception.InvalidGroupRegexException +import edu.internet2.tier.shibboleth.admin.ui.security.model.Group +import edu.internet2.tier.shibboleth.admin.ui.security.model.Role +import edu.internet2.tier.shibboleth.admin.ui.security.model.User +import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.autoconfigure.domain.EntityScan +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest +import org.springframework.boot.test.context.TestConfiguration +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Profile +import org.springframework.data.jpa.repository.config.EnableJpaRepositories +import org.springframework.test.annotation.DirtiesContext +import org.springframework.test.context.ActiveProfiles +import org.springframework.test.context.ContextConfiguration +import org.springframework.test.web.servlet.setup.MockMvcBuilders +import org.springframework.transaction.annotation.Transactional +import org.springframework.web.servlet.LocaleResolver +import org.springframework.web.servlet.i18n.SessionLocaleResolver +import spock.lang.Specification + +@DataJpaTest +@ContextConfiguration(classes=[CoreShibUiConfiguration, InternationalizationConfiguration, SearchConfiguration, LocalConfig, edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration]) +@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) +@EntityScan("edu.internet2.tier.shibboleth.admin.ui") +@DirtiesContext +@ActiveProfiles(["local"]) +class GroupServiceTests extends Specification { + @Autowired + GroupServiceForTesting groupService + + @Autowired + RoleRepository roleRepository + + @Autowired + UserService userService + + @Transactional + def setup() { + groupService.ensureAdminGroupExists() +// Group g = new Group() +// g.setResourceId("twitter") +// g.setName("twitter") +// // This is valid for a url with "twitter" in it +// g.setValidationRegex("") +// g = groupService.createGroup(g) + + if (roleRepository.count() == 0) { + def roles = [new Role().with { + name = 'ROLE_ADMIN' + it + }, new Role().with { + name = 'ROLE_USER' + it + }, new Role().with { + name = 'ROLE_NONE' + it + }] + roles.each { + roleRepository.save(it) + } + } + + Optional adminRole = roleRepository.findByName("ROLE_ADMIN") + User adminUser = new User(username: "admin", roles: [adminRole.get()], password: "foo") + userService.save(adminUser) + + Optional userRole = roleRepository.findByName("ROLE_USER") + User user = new User(username: "someUser", roles:[userRole.get()], password: "foo") + userService.save(user) + } + + def "Test the validation for regex works"() { + given: + Group g = new Group() + g.setResourceId("twitter") + g.setName("twitter") + g.setValidationRegex(null) + + when: + try { + g = groupService.createGroup(g) + } catch (Exception shouldNotOccur) { + false + } + + then: + g.getValidationRegex() == Group.DEFAULT_REGEX + + when: + g.setValidationRegex("/*") + try { + g = groupService.updateGroup(g) + } catch (Exception shouldNotOccur) { + false + } + + then: + g.getValidationRegex() == "/*" + + when: + g.setValidationRegex("^(http:\\\\/\\\\/www\\\\.|https:\\\\/\\\\/www\\\\.|http:\\\\/\\\\/|https:\\\\/\\\\/)?[a-z0-9]+([\\\\-\\\\.]twitter+)\\\\.[a-z]{2,5}(:[0-9]{1,5})?(\\\\/.*)?\\\$") + try { + g = groupService.updateGroup(g) + } catch (Exception shouldNotOccur) { + false + } + + then: + g.getValidationRegex() == "^(http:\\\\/\\\\/www\\\\.|https:\\\\/\\\\/www\\\\.|http:\\\\/\\\\/|https:\\\\/\\\\/)?[a-z0-9]+([\\\\-\\\\.]twitter+)\\\\.[a-z]{2,5}(:[0-9]{1,5})?(\\\\/.*)?\\\$" + + when: + g.setValidationRegex("*") + + then: + try { + g = groupService.updateGroup(g) + false + } catch (InvalidGroupRegexException shouldOccur) { + true + } + } + + @TestConfiguration + @Profile("local") + static class LocalConfig { + @Bean + GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { + GroupServiceForTesting result = new GroupServiceForTesting(new GroupServiceImpl().with { + it.groupRepository = repo + it.ownershipRepository = ownershipRepository + return it + }) + result.ensureAdminGroupExists() + return result + } + } +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy index b6431f79f..2ef663fbc 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy @@ -258,7 +258,7 @@ class UserServiceTests extends Specification { gbUpdated.ownedItems.size() == 1 } - @org.springframework.boot.test.context.TestConfiguration + @TestConfiguration @Profile("local") static class LocalConfig { @Bean From 86066712f55759b1f42210103e78a657a45aaaa5 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Mon, 16 Aug 2021 15:38:24 -0700 Subject: [PATCH 011/138] SHIBUI-2023 Adding regex field to Groups --- .../MigrationTasksContextLoadedListener.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/auto/MigrationTasksContextLoadedListener.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/auto/MigrationTasksContextLoadedListener.java index f14d35763..5e6e64b6c 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/auto/MigrationTasksContextLoadedListener.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/auto/MigrationTasksContextLoadedListener.java @@ -1,5 +1,7 @@ package edu.internet2.tier.shibboleth.admin.ui.configuration.auto; +import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; +import edu.internet2.tier.shibboleth.admin.ui.security.exception.InvalidGroupRegexException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; @@ -14,6 +16,8 @@ import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService; import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService; +import java.util.List; + /** * After the context loads, do any needed migration tasks */ @@ -62,6 +66,17 @@ private void doshibui_1740_migration() { userService.save(user); // this will ensure group is set as the default user group } }); - + + // SHIBUI-1743: Adding regex expression to groups + groupService.findAll().forEach(g -> { + g.setValidationRegex(Group.DEFAULT_REGEX); + try { + groupService.updateGroup(g); + } + catch (Exception e) { + // Shouldn't happen + e.printStackTrace(); + } + }); } -} +} \ No newline at end of file From 3d324018ae023bd563b6158c3763e89d428ba2fb Mon Sep 17 00:00:00 2001 From: chasegawa Date: Mon, 16 Aug 2021 19:42:21 -0700 Subject: [PATCH 012/138] SHIBUI-2024 Added validation when saving entity descriptor - entity ID and ACS locations will validate against the group regex --- .../EntityDescriptorController.java | 9 +- ...yDescriptorControllerExceptionHandler.java | 30 +-- .../exception/InvalidUrlMatchException.java | 7 + .../ui/security/service/GroupServiceImpl.java | 12 +- .../ui/security/service/IGroupService.java | 1 + .../ui/service/EntityDescriptorService.java | 19 +- .../JPAEntityDescriptorServiceImpl.java | 88 ++++---- .../EntityDescriptorControllerTests.groovy | 200 +++++++++++------- ...PAEntityDescriptorServiceImplTests2.groovy | 12 +- 9 files changed, 234 insertions(+), 144 deletions(-) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidUrlMatchException.java diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java index f8e28fc75..ff0e3732c 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java @@ -6,6 +6,7 @@ import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException; import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException; +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException; import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects; import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository; import edu.internet2.tier.shibboleth.admin.ui.security.model.User; @@ -73,7 +74,8 @@ public EntityDescriptorController(EntityDescriptorVersionService versionService) @PostMapping("/EntityDescriptor") @Transactional - public ResponseEntity create(@RequestBody EntityDescriptorRepresentation edRepresentation) throws ForbiddenException, EntityIdExistsException { + public ResponseEntity create(@RequestBody EntityDescriptorRepresentation edRepresentation) + throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException { EntityDescriptorRepresentation persistedEd = entityDescriptorService.createNew(edRepresentation); return ResponseEntity.created(getResourceUriFor(persistedEd.getId())).body(persistedEd); } @@ -145,7 +147,8 @@ public void initRestTemplate() { @PutMapping("/EntityDescriptor/{resourceId}") @Transactional - public ResponseEntity update(@RequestBody EntityDescriptorRepresentation edRepresentation, @PathVariable String resourceId) throws ForbiddenException, ConcurrentModificationException, EntityNotFoundException { + public ResponseEntity update(@RequestBody EntityDescriptorRepresentation edRepresentation, @PathVariable String resourceId) + throws ForbiddenException, ConcurrentModificationException, EntityNotFoundException, InvalidUrlMatchException { edRepresentation.setId(resourceId); // This should be the same already, but just to be safe... EntityDescriptorRepresentation result = entityDescriptorService.update(edRepresentation); return ResponseEntity.ok().body(result); @@ -171,4 +174,4 @@ public ResponseEntity upload(@RequestParam String metadataUrl, @RequestParam .body(String.format("Error fetching XML metadata from the provided URL. Error: %s", e.getMessage())); } } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerExceptionHandler.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerExceptionHandler.java index d0b18f415..7eae86cb5 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerExceptionHandler.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerExceptionHandler.java @@ -1,7 +1,9 @@ package edu.internet2.tier.shibboleth.admin.ui.controller; -import java.util.ConcurrentModificationException; - +import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException; +import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; +import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException; +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -10,9 +12,7 @@ import org.springframework.web.context.request.WebRequest; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; -import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException; -import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; -import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException; +import java.util.ConcurrentModificationException; @ControllerAdvice(assignableTypes = {EntityDescriptorController.class}) public class EntityDescriptorControllerExceptionHandler extends ResponseEntityExceptionHandler { @@ -21,24 +21,30 @@ public class EntityDescriptorControllerExceptionHandler extends ResponseEntityEx public ResponseEntity handleConcurrentModificationException(ConcurrentModificationException e, WebRequest request) { return ResponseEntity.status(HttpStatus.CONFLICT).body(new ErrorResponse(HttpStatus.CONFLICT, e.getMessage())); } - + @ExceptionHandler({ EntityIdExistsException.class }) public ResponseEntity handleEntityExistsException(EntityIdExistsException e, WebRequest request) { HttpHeaders headers = new HttpHeaders(); headers.setLocation(EntityDescriptorController.getResourceUriFor(e.getMessage())); - return ResponseEntity.status(HttpStatus.CONFLICT).headers(headers).body(new ErrorResponse( - String.valueOf(HttpStatus.CONFLICT.value()), - String.format("The entity descriptor with entity id [%s] already exists.", e.getMessage()))); + return ResponseEntity.status(HttpStatus.CONFLICT).headers(headers) + .body(new ErrorResponse(String.valueOf(HttpStatus.CONFLICT.value()), + String.format("The entity descriptor with entity id [%s] already exists.", + e.getMessage()))); } - + @ExceptionHandler({ EntityNotFoundException.class }) public ResponseEntity handleEntityNotFoundException(EntityNotFoundException e, WebRequest request) { return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new ErrorResponse(HttpStatus.NOT_FOUND, e.getMessage())); } - + @ExceptionHandler({ ForbiddenException.class }) public ResponseEntity handleForbiddenAccess(ForbiddenException e, WebRequest request) { return ResponseEntity.status(HttpStatus.FORBIDDEN).body(new ErrorResponse(HttpStatus.FORBIDDEN, e.getMessage())); } -} + + @ExceptionHandler({ InvalidUrlMatchException.class }) + public ResponseEntity handleInvalidUrlMatchException(InvalidUrlMatchException e, WebRequest request) { + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ErrorResponse(HttpStatus.BAD_REQUEST, e.getMessage())); + } +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidUrlMatchException.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidUrlMatchException.java new file mode 100644 index 000000000..ea2d463c7 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidUrlMatchException.java @@ -0,0 +1,7 @@ +package edu.internet2.tier.shibboleth.admin.ui.exception; + +public class InvalidUrlMatchException extends Exception { + public InvalidUrlMatchException(String message) { + super(message); + } +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java index 7f461c816..bcca4c088 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java @@ -56,6 +56,16 @@ public void deleteDefinition(String resourceId) throws EntityNotFoundException, groupRepository.delete(group); } + /** + * Though the name URI is used here, any string value that we want to validate against the group's regex is accepted and checked. + * Designed usage is that this would be a URL or an entity Id (which is a URI that does not have to follow the URL conventions) + */ + @Override + public boolean doesUrlMatchGroupPattern(String groupId, String uri) { + Group group = find(groupId); + return Pattern.matches(group.getValidationRegex(), uri); + } + @Override @Transactional public void ensureAdminGroupExists() { @@ -64,7 +74,7 @@ public void ensureAdminGroupExists() { g = new Group(); g.setName("ADMIN-GROUP"); g.setResourceId("admingroup"); - g.setValidationRegex("/*"); // Everything + g.setValidationRegex("^.+$"); // Just about everything g = groupRepository.save(g); } Group.ADMIN_GROUP = g; diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java index 95314123f..d95415127 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java @@ -23,4 +23,5 @@ public interface IGroupService { Group updateGroup(Group g) throws EntityNotFoundException, InvalidGroupRegexException; + boolean doesUrlMatchGroupPattern(String groupId, String uri); } \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EntityDescriptorService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EntityDescriptorService.java index bc63e7378..54fe65ddd 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EntityDescriptorService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EntityDescriptorService.java @@ -6,6 +6,7 @@ import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException; import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException; +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException; import java.util.ConcurrentModificationException; import java.util.List; @@ -31,7 +32,8 @@ public interface EntityDescriptorService { * @throws ForbiddenException If user is unauthorized to perform this operation * @throws EntityIdExistsException If any EntityDescriptor already exists with the same EntityId */ - EntityDescriptorRepresentation createNew(EntityDescriptor ed) throws ForbiddenException, EntityIdExistsException; + EntityDescriptorRepresentation createNew(EntityDescriptor ed) + throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException; /** * @param edRepresentation Incoming representation to save @@ -39,7 +41,8 @@ public interface EntityDescriptorService { * @throws ForbiddenException If user is unauthorized to perform this operation * @throws EntityIdExistsException If the entity already exists */ - EntityDescriptorRepresentation createNew(EntityDescriptorRepresentation edRepresentation) throws ForbiddenException, EntityIdExistsException; + EntityDescriptorRepresentation createNew(EntityDescriptorRepresentation edRepresentation) + throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException; /** * Map from opensaml implementation of entity descriptor model to front-end data representation of entity descriptor @@ -93,13 +96,13 @@ public interface EntityDescriptorService { Map getRelyingPartyOverridesRepresentationFromAttributeList(List attributeList); /** - * @param edRepresentation Incoming representation to save - * @return EntityDescriptorRepresentation - * @throws ForbiddenException If user is unauthorized to perform this operation - * @throws EntityIdExistsException If the entity already exists - * @throws ConcurrentModificationException If the entity was already modified by another user + * @throws ForbiddenException If the user is not permitted to perform the action + * @throws EntityNotFoundException If the entity doesn't already exist in the database + * @throws ConcurrentModificationException IF the entity is being modified in another session + * @throws InvalidUrlMatchException If the entity id or the ACS location urls don't match the supplied regex */ - EntityDescriptorRepresentation update(EntityDescriptorRepresentation edRepresentation) throws ForbiddenException, EntityNotFoundException, ConcurrentModificationException; + EntityDescriptorRepresentation update(EntityDescriptorRepresentation edRepresentation) + throws ForbiddenException, EntityNotFoundException, ConcurrentModificationException, InvalidUrlMatchException; /** * Update an instance of entity descriptor with information from the front-end representation diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java index 9e0f7117e..84c956d93 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java @@ -1,24 +1,11 @@ package edu.internet2.tier.shibboleth.admin.ui.service; -import edu.internet2.tier.shibboleth.admin.ui.domain.Attribute; -import edu.internet2.tier.shibboleth.admin.ui.domain.EntityAttributes; -import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor; -import edu.internet2.tier.shibboleth.admin.ui.domain.KeyDescriptor; -import edu.internet2.tier.shibboleth.admin.ui.domain.IRelyingPartyOverrideProperty; -import edu.internet2.tier.shibboleth.admin.ui.domain.UIInfo; -import edu.internet2.tier.shibboleth.admin.ui.domain.XSBoolean; -import edu.internet2.tier.shibboleth.admin.ui.domain.XSInteger; -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.AssertionConsumerServiceRepresentation; -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.ContactRepresentation; -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation; -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.LogoutEndpointRepresentation; -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.MduiRepresentation; -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.OrganizationRepresentation; -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.SecurityInfoRepresentation; -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.ServiceProviderSsoDescriptorRepresentation; +import edu.internet2.tier.shibboleth.admin.ui.domain.*; +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.*; import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException; import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException; +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException; import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects; import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository; import edu.internet2.tier.shibboleth.admin.ui.security.model.Group; @@ -29,23 +16,14 @@ import edu.internet2.tier.shibboleth.admin.util.MDDCConstants; import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions; import lombok.extern.slf4j.Slf4j; - -import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.ConcurrentModificationException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; -import javax.transaction.Transactional; - import static edu.internet2.tier.shibboleth.admin.util.EntityDescriptorConversionUtils.*; -import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.*; +import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.getStringListOfAttributeValues; @Slf4j @Service @@ -94,12 +72,14 @@ public EntityDescriptor createDescriptorFromRepresentation(final EntityDescripto } @Override - public EntityDescriptorRepresentation createNew(EntityDescriptor ed) throws ForbiddenException, EntityIdExistsException { + public EntityDescriptorRepresentation createNew(EntityDescriptor ed) + throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException { return createNew(createRepresentationFromDescriptor(ed)); } @Override - public EntityDescriptorRepresentation createNew(EntityDescriptorRepresentation edRep) throws ForbiddenException, EntityIdExistsException { + public EntityDescriptorRepresentation createNew(EntityDescriptorRepresentation edRep) + throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException { if (edRep.isServiceEnabled() && !userService.currentUserIsAdmin()) { throw new ForbiddenException("You do not have the permissions necessary to enable this service."); } @@ -107,9 +87,15 @@ public EntityDescriptorRepresentation createNew(EntityDescriptorRepresentation e if (entityDescriptorRepository.findByEntityID(edRep.getEntityId()) != null) { throw new EntityIdExistsException(edRep.getEntityId()); } - + + // "Create new" will use the current user's group as the owner + String ownerId = userService.getCurrentUserGroup().getOwnerId(); + edRep.setIdOfOwner(ownerId); + validateEntityIdAndACSUrls(edRep); + EntityDescriptor ed = (EntityDescriptor) createDescriptorFromRepresentation(edRep); - ed.setIdOfOwner(userService.getCurrentUserGroup().getOwnerId()); + ed.setIdOfOwner(ownerId); + return createRepresentationFromDescriptor(entityDescriptorRepository.save(ed)); } @@ -331,14 +317,14 @@ public void delete(String resourceId) throws ForbiddenException, EntityNotFoundE } ownershipRepository.deleteEntriesForOwnedObject(ed); entityDescriptorRepository.delete(ed); - + } @Override public Iterable getAllDisabledAndNotOwnedByAdmin() throws ForbiddenException { if (!userService.currentUserIsAdmin()) { throw new ForbiddenException(); - } + } return entityDescriptorRepository.findAllDisabledAndNotOwnedByAdmin().map(ed -> createRepresentationFromDescriptor(ed)).collect(Collectors.toList()); } @@ -371,31 +357,34 @@ public EntityDescriptor getEntityDescriptorByResourceId(String resourceId) throw } if (!userService.isAuthorizedFor(ed)) { throw new ForbiddenException(); - } + } return ed; } - + @Override public Map getRelyingPartyOverridesRepresentationFromAttributeList(List attributeList) { return ModelRepresentationConversions.getRelyingPartyOverridesRepresentationFromAttributeList(attributeList); } - + @Override - public EntityDescriptorRepresentation update(EntityDescriptorRepresentation edRep) throws ForbiddenException, EntityNotFoundException { + public EntityDescriptorRepresentation update(EntityDescriptorRepresentation edRep) + throws ForbiddenException, EntityNotFoundException, InvalidUrlMatchException { EntityDescriptor existingEd = entityDescriptorRepository.findByResourceId(edRep.getId()); if (existingEd == null) { - throw new EntityNotFoundException(String.format("The entity descriptor with entity id [%s] was not found for update.", edRep.getId())); + throw new EntityNotFoundException(String.format("The entity descriptor with entity id [%s] was not found for update.", edRep.getId())); } if (edRep.isServiceEnabled() && !userService.currentUserIsAdmin()) { throw new ForbiddenException("You do not have the permissions necessary to enable this service."); } if (!userService.isAuthorizedFor(existingEd)) { throw new ForbiddenException(); - } + } // Verify we're the only one attempting to update the EntityDescriptor if (edRep.getVersion() != existingEd.hashCode()) { - throw new ConcurrentModificationException(String.format("A concurrent modification has occured on entity descriptor with entity id [%s]. Please refresh and try again", edRep.getId())); + throw new ConcurrentModificationException(String.format("A concurrent modification has occured on entity descriptor with entity id [%s]. Please refresh and try again", edRep.getId())); } + + validateEntityIdAndACSUrls(edRep); updateDescriptorFromRepresentation(existingEd, edRep); return createRepresentationFromDescriptor(entityDescriptorRepository.save(existingEd)); } @@ -407,4 +396,21 @@ public void updateDescriptorFromRepresentation(org.opensaml.saml.saml2.metadata. } buildDescriptorFromRepresentation((EntityDescriptor) entityDescriptor, representation); } -} + + private void validateEntityIdAndACSUrls(EntityDescriptorRepresentation edRep) throws InvalidUrlMatchException { + // Check the entity id first + if (!groupService.doesUrlMatchGroupPattern(edRep.getIdOfOwner(), edRep.getEntityId())) { + throw new InvalidUrlMatchException("EntityId is not a pattern match to the group"); + } + + // Check the ACS locations + if (edRep.getAssertionConsumerServices() != null && edRep.getAssertionConsumerServices().size() > 0) { + for (AssertionConsumerServiceRepresentation acs : edRep.getAssertionConsumerServices()) { + if (!groupService.doesUrlMatchGroupPattern(edRep.getIdOfOwner(), acs.getLocationUrl())) { + throw new InvalidUrlMatchException( + "ACS location [ " + acs.getLocationUrl() + " ] is not a pattern match to the group"); + } + } + } + } +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy index a04c9ebba..717aeb155 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy @@ -6,9 +6,12 @@ import edu.internet2.tier.shibboleth.admin.ui.configuration.Internationalization import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.AssertionConsumerServiceRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository import edu.internet2.tier.shibboleth.admin.ui.security.model.Group @@ -65,7 +68,7 @@ import org.springframework.web.client.RestTemplate import org.springframework.web.servlet.config.annotation.EnableWebMvc import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver - +import org.springframework.web.util.NestedServletException import spock.lang.Ignore import spock.lang.Shared import spock.lang.Specification @@ -137,7 +140,15 @@ class EntityDescriptorControllerTests extends Specification { @Transactional def setup() { + groupService.clearAllForTesting() groupService.ensureAdminGroupExists() + + Group gb = new Group(); + gb.setResourceId("testingGroupBBB") + gb.setName("Group BBB") + gb.setValidationRegex("^(?:https?:\\/\\/)?(?:[^.]+\\.)?shib\\.org(\\/.*)?\$") + gb = groupService.createGroup(gb) + generator = new TestObjectGenerator() randomGenerator = new RandomGenerator() mapper = new ObjectMapper() @@ -177,6 +188,7 @@ class EntityDescriptorControllerTests extends Specification { Optional userRole = roleRepository.findByName("ROLE_USER") User user = new User(username: "someUser", roles:[userRole.get()], password: "foo") + user.setGroup(gb) userService.save(user) EntityDescriptorConversionUtils.setOpenSamlObjects(openSamlObjects) @@ -190,22 +202,22 @@ class EntityDescriptorControllerTests extends Specification { authentication.getName() >> 'admin' def entityDescriptor = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: false) entityDescriptorRepository.save(entityDescriptor) - + when: 'pre-check' entityManager.flush() - + then: entityDescriptorRepository.findAll().size() == 1 - + when: def result = mockMvc.perform(delete("/api/EntityDescriptor/uuid-1")) - + then: result.andExpect(status().isNoContent()) entityDescriptorRepository.findByResourceId("uuid-1") == null entityDescriptorRepository.findAll().size() == 0 } - + @Rollback @WithMockUser(value = "admin", roles = ["ADMIN"]) def 'GET /EntityDescriptors with empty repository as admin'() { @@ -230,17 +242,17 @@ class EntityDescriptorControllerTests extends Specification { def 'GET /EntityDescriptors with 1 record in repository as admin'() { given: authentication.getName() >> 'admin' - - def entityDescriptor = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: "admingroup") + + def entityDescriptor = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: "admingroup") entityDescriptorRepository.saveAndFlush(entityDescriptor) - + def expectedResponseContentType = APPLICATION_JSON def expectedHttpResponseStatus = status().isOk() - when: + when: def result = mockMvc.perform(get('/api/EntityDescriptors')) - then: + then: def mvcResult = result.andExpect(expectedHttpResponseStatus).andExpect(content().contentType(expectedResponseContentType)) .andExpect(jsonPath("\$.[0].id").value("uuid-1")) .andExpect(jsonPath("\$.[0].entityId").value("eid1")) @@ -253,14 +265,14 @@ class EntityDescriptorControllerTests extends Specification { def 'GET /EntityDescriptors with 2 records in repository as admin'() { given: authentication.getName() >> 'admin' - + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: "admingroup") def entityDescriptorTwo = new EntityDescriptor(resourceId: 'uuid-2', entityID: 'eid2', serviceProviderName: 'sp2', serviceEnabled: false, idOfOwner: "admingroup") - + entityDescriptorRepository.saveAndFlush(entityDescriptorOne) entityDescriptorRepository.saveAndFlush(entityDescriptorTwo) - + def expectedResponseContentType = APPLICATION_JSON def expectedHttpResponseStatus = status().isOk() @@ -278,20 +290,73 @@ class EntityDescriptorControllerTests extends Specification { .andExpect(jsonPath("\$.[1].entityId").value("eid2")) .andExpect(jsonPath("\$.[1].serviceEnabled").value(false)) .andExpect(jsonPath("\$.[1].idOfOwner").value("admingroup")) - } - + } + + @Rollback + @WithMockUser(value = "someUser", roles = ["USER"]) + def 'POST create new - verifying validation on entityID and ACS locations'() { + given: + authentication.getName() >> 'someUser' + + def expectedEntityId = 'https://shib.org/blah/blah' + EntityDescriptorRepresentation edRep = new EntityDescriptorRepresentation() + edRep.setEntityId(expectedEntityId) + edRep.setServiceProviderName("spName") + + def acsList = new ArrayList() + AssertionConsumerServiceRepresentation acsRep = new AssertionConsumerServiceRepresentation() + acsRep.setIndex(0) + acsRep.setLocationUrl("http://logout.shib.org/dologout") + acsList.add(acsRep) + edRep.setAssertionConsumerServices(acsList) + + def edRepJson = mapper.writeValueAsString(edRep) + + when: + def result = mockMvc.perform(post('/api/EntityDescriptor').contentType(APPLICATION_JSON).content(edRepJson)) + + then: + result.andExpect(status().isCreated()) + .andExpect(content().contentType(APPLICATION_JSON)) + .andExpect(jsonPath("\$.entityId").value("https://shib.org/blah/blah")) + .andExpect(jsonPath("\$.serviceEnabled").value(false)) + .andExpect(jsonPath("\$.idOfOwner").value("testingGroupBBB")) + + when: "ACS url is bad" + expectedEntityId = 'https://shib.org/blah/blah/again' + edRep = new EntityDescriptorRepresentation() + edRep.setEntityId(expectedEntityId) + edRep.setServiceProviderName("spName") + + acsList = new ArrayList() + acsRep = new AssertionConsumerServiceRepresentation() + acsRep.setIndex(0) + acsRep.setLocationUrl("http://shib.com/dologout") + acsList.add(acsRep) + edRep.setAssertionConsumerServices(acsList) + edRepJson = mapper.writeValueAsString(edRep) + + then: + try { + mockMvc.perform(post('/api/EntityDescriptor').contentType(APPLICATION_JSON).content(edRepJson)) + false + } catch (NestedServletException expected) { + expected.getCause() instanceof InvalidUrlMatchException + } + } + @Rollback @WithMockUser(value = "admin", roles = ["ADMIN"]) def 'POST /EntityDescriptor and successfully create new record'() { given: - authentication.getName() >> 'admin' - + authentication.getName() >> 'admin' + def expectedEntityId = 'https://shib' def expectedSpName = 'sp1' def expectedResponseHeader = 'Location' def expectedResponseHeaderValue = "/api/EntityDescriptor/" - def postedJsonBody = """ + def postedJsonBody = """ { "serviceProviderName": "$expectedSpName", "entityId": "$expectedEntityId", @@ -305,7 +370,7 @@ class EntityDescriptorControllerTests extends Specification { "securityInfo": null, "assertionConsumerServices": null, "current": false - } + } """ when: @@ -324,13 +389,13 @@ class EntityDescriptorControllerTests extends Specification { def 'POST /EntityDescriptor as user disallows enabling'() { given: authentication.getName() >> 'someUser' - + def expectedEntityId = 'https://shib' def expectedSpName = 'sp1' when: def postedJsonBody = """ - { + { "serviceProviderName": "$expectedSpName", "entityId": "$expectedEntityId", "organization": null, @@ -346,9 +411,9 @@ class EntityDescriptorControllerTests extends Specification { "assertionConsumerServices": null, "relyingPartyOverrides": null, "attributeRelease": null - } + } """ - + then: try { def exceptionExpected = mockMvc.perform(post('/api/EntityDescriptor').contentType(APPLICATION_JSON).content(postedJsonBody)) @@ -364,7 +429,7 @@ class EntityDescriptorControllerTests extends Specification { given: authentication.getName() >> 'admin' - def postedJsonBody = """ + def postedJsonBody = """ { "serviceProviderName": "sp1", "entityId": "eid1", @@ -381,17 +446,17 @@ class EntityDescriptorControllerTests extends Specification { "assertionConsumerServices": null, "relyingPartyOverrides": null, "attributeRelease": null - } + } """ when: def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true) def entityDescriptorTwo = new EntityDescriptor(resourceId: 'uuid-2', entityID: 'eid2', serviceProviderName: 'sp2', serviceEnabled: false) - + entityDescriptorRepository.save(entityDescriptorOne) entityDescriptorRepository.save(entityDescriptorTwo) entityManager.flush() - + then: try { def exceptionExpected = mockMvc.perform(post('/api/EntityDescriptor').contentType(APPLICATION_JSON).content(postedJsonBody)) @@ -400,7 +465,7 @@ class EntityDescriptorControllerTests extends Specification { e instanceof EntityIdExistsException == true } } - + @Rollback @WithMockUser(value = "admin", roles = ["ADMIN"]) def 'GET /EntityDescriptor/{resourceId} non-existent'() { @@ -415,7 +480,7 @@ class EntityDescriptorControllerTests extends Specification { e instanceof EntityNotFoundException == true } } - + @Rollback @WithMockUser(value = "admin", roles = ["ADMIN"]) def 'GET /EntityDescriptor/{resourceId} existing'() { @@ -424,10 +489,10 @@ class EntityDescriptorControllerTests extends Specification { def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: "admingroup") entityDescriptorRepository.save(entityDescriptorOne) entityManager.flush() - + when: - def result = mockMvc.perform(get("/api/EntityDescriptor/uuid-1")) - + def result = mockMvc.perform(get("/api/EntityDescriptor/uuid-1")) + then: result.andExpect(status().isOk()) .andExpect(jsonPath("\$.entityId").value("eid1")) @@ -442,17 +507,17 @@ class EntityDescriptorControllerTests extends Specification { given: authentication.getName() >> 'someUser' Group g = userService.getCurrentUserGroup() - + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: "someUser") def entityDescriptorTwo = new EntityDescriptor(resourceId: 'uuid-2', entityID: 'eid2', serviceProviderName: 'sp2', serviceEnabled: false, idOfOwner: Group.ADMIN_GROUP.getOwnerId()) - + entityDescriptorRepository.saveAndFlush(entityDescriptorOne) entityDescriptorRepository.saveAndFlush(entityDescriptorTwo) - + ownershipRepository.saveAndFlush(new Ownership(g, entityDescriptorOne)) ownershipRepository.saveAndFlush(new Ownership(Group.ADMIN_GROUP, entityDescriptorTwo)) - - + + when: def result = mockMvc.perform(get("/api/EntityDescriptor/uuid-1")) @@ -470,13 +535,13 @@ class EntityDescriptorControllerTests extends Specification { when: authentication.getName() >> 'someUser' Group g = userService.getCurrentUserGroup() - + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: g.getOwnerId()) def entityDescriptorTwo = new EntityDescriptor(resourceId: 'uuid-2', entityID: 'eid2', serviceProviderName: 'sp2', serviceEnabled: false, idOfOwner: Group.ADMIN_GROUP.getOwnerId()) - + entityDescriptorRepository.saveAndFlush(entityDescriptorOne) entityDescriptorRepository.saveAndFlush(entityDescriptorTwo) - + ownershipRepository.saveAndFlush(new Ownership(g, entityDescriptorOne)) ownershipRepository.saveAndFlush(new Ownership(Group.ADMIN_GROUP, entityDescriptorTwo)) @@ -486,7 +551,7 @@ class EntityDescriptorControllerTests extends Specification { } catch (Exception e) { e instanceof ForbiddenException == true - } + } } @Rollback @@ -494,7 +559,7 @@ class EntityDescriptorControllerTests extends Specification { def 'GET /EntityDescriptor/{resourceId} existing (xml)'() { given: authentication.getName() >> 'admin' - def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true) + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true) entityDescriptorOne.setElementLocalName("EntityDescriptor") entityDescriptorOne.setNamespacePrefix("md") entityDescriptorOne.setNamespaceURI("urn:oasis:names:tc:SAML:2.0:metadata") @@ -518,7 +583,7 @@ class EntityDescriptorControllerTests extends Specification { given: authentication.getName() >> 'someUser' Group g = userService.getCurrentUserGroup() - + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: g.getOwnerId()) entityDescriptorOne.setElementLocalName("EntityDescriptor") entityDescriptorOne.setNamespacePrefix("md") @@ -543,14 +608,14 @@ class EntityDescriptorControllerTests extends Specification { when: authentication.getName() >> 'someUser' Group g = Group.ADMIN_GROUP - + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: g.getOwnerId()) entityDescriptorOne.setElementLocalName("EntityDescriptor") entityDescriptorOne.setNamespacePrefix("md") entityDescriptorOne.setNamespaceURI("urn:oasis:names:tc:SAML:2.0:metadata") entityDescriptorRepository.save(entityDescriptorOne) entityManager.flush() - + then: try { def exceptionExpected = mockMvc.perform(get("/api/EntityDescriptor/$providedResourceId").accept(APPLICATION_XML)) @@ -565,7 +630,7 @@ class EntityDescriptorControllerTests extends Specification { def "POST /EntityDescriptor handles XML happily"() { given: authentication.getName() >> 'admin' - + def postedBody = ''' @@ -599,7 +664,7 @@ class EntityDescriptorControllerTests extends Specification { .andExpect(jsonPath("\$.serviceEnabled").value(false)) .andExpect(jsonPath("\$.idOfOwner").value("admingroup")) .andExpect(jsonPath("\$.serviceProviderSsoDescriptor.protocolSupportEnum").value("SAML 2")) - .andExpect(jsonPath("\$.serviceProviderSsoDescriptor.nameIdFormats[0]").value("urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified")) + .andExpect(jsonPath("\$.serviceProviderSsoDescriptor.nameIdFormats[0]").value("urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified")) .andExpect(jsonPath("\$.assertionConsumerServices[0].binding").value("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST")) .andExpect(jsonPath("\$.assertionConsumerServices[0].makeDefault").value(false)) .andExpect(jsonPath("\$.assertionConsumerServices[0].locationUrl").value("https://test.scaldingspoon.org/test1/acs")) @@ -633,11 +698,11 @@ class EntityDescriptorControllerTests extends Specification { def spName = randomGenerator.randomString() def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true) def entityDescriptorTwo = new EntityDescriptor(resourceId: 'uuid-2', entityID: 'http://test.scaldingspoon.org/test1', serviceProviderName: 'sp2', serviceEnabled: false) - + entityDescriptorRepository.save(entityDescriptorOne) entityDescriptorRepository.save(entityDescriptorTwo) entityManager.flush() - + then: try { def exceptionExpected = mockMvc.perform(post("/api/EntityDescriptor").contentType(APPLICATION_XML).content(postedBody).param("spName", spName)) @@ -652,9 +717,9 @@ class EntityDescriptorControllerTests extends Specification { def "PUT /EntityDescriptor updates entity descriptors properly as admin"() { given: authentication.getName() >> 'admin' - + def entityDescriptorTwo = new EntityDescriptor(resourceId: 'uuid-2', entityID: 'eid2', serviceProviderName: 'sp2', serviceEnabled: false, idOfOwner: Group.ADMIN_GROUP.getOwnerId()) - + entityDescriptorTwo = entityDescriptorRepository.save(entityDescriptorTwo) entityManager.flush() entityManager.clear() @@ -662,7 +727,7 @@ class EntityDescriptorControllerTests extends Specification { def updatedEntityDescriptorRepresentation = service.createRepresentationFromDescriptor(entityDescriptorTwo) updatedEntityDescriptorRepresentation.setServiceProviderName("newName") def postedJsonBody = mapper.writeValueAsString(updatedEntityDescriptorRepresentation) - + when: def result = mockMvc.perform(put("/api/EntityDescriptor/uuid-2").contentType(APPLICATION_JSON).content(postedJsonBody)) @@ -676,12 +741,12 @@ class EntityDescriptorControllerTests extends Specification { @Rollback @WithMockUser(value = "someUser", roles = ["USER"]) - def "PUT /EntityDescriptor disallows non-admin user from enabling"() { + def "PUT /EntityDescriptor disallows non-admin user from enabling"() { given: authentication.getName() >> 'someUser' Group g = userService.getCurrentUserGroup() - - def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: false, idOfOwner: g.getOwnerId()) + + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: false, idOfOwner: g.getOwnerId()) entityDescriptorOne = entityDescriptorRepository.save(entityDescriptorOne) entityManager.flush() @@ -703,12 +768,12 @@ class EntityDescriptorControllerTests extends Specification { @Rollback @WithMockUser(value = "someUser", roles = ["USER"]) - def "PUT /EntityDescriptor denies the request if the PUTing user is not an ADMIN and not the createdBy user"() { + def "PUT /EntityDescriptor denies the request if the PUTing user is not an ADMIN and not the createdBy user"() { given: authentication.getName() >> 'someUser' Group g = userService.getCurrentUserGroup() - - def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: g.getOwnerId()) + + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: g.getOwnerId()) entityDescriptorOne = entityDescriptorRepository.save(entityDescriptorOne) entityManager.flush() @@ -733,8 +798,8 @@ class EntityDescriptorControllerTests extends Specification { def "PUT /EntityDescriptor throws a concurrent mod exception if the version numbers don't match"() { given: authentication.getName() >> 'admin' - - def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: Group.ADMIN_GROUP.getOwnerId()) + + def entityDescriptorOne = new EntityDescriptor(resourceId: 'uuid-1', entityID: 'eid1', serviceProviderName: 'sp1', serviceEnabled: true, idOfOwner: Group.ADMIN_GROUP.getOwnerId()) entityDescriptorOne = entityDescriptorRepository.save(entityDescriptorOne) entityManager.flush() @@ -742,7 +807,7 @@ class EntityDescriptorControllerTests extends Specification { entityDescriptorOne.serviceProviderName = 'foo' entityDescriptorOne.resourceId = 'uuid-1' def updatedEntityDescriptorRepresentation = service.createRepresentationFromDescriptor(entityDescriptorOne) - + def postedJsonBody = mapper.writeValueAsString(updatedEntityDescriptorRepresentation) then: @@ -768,13 +833,4 @@ class EntityDescriptorControllerTests extends Specification { return result } } -} - -//when: -//def Set ownerships = ownershipRepository.findOwnableObjectOwners(ed) -// -//then: -//ownerships.size() == 1 -//ownerships.each { -// it.ownerId == groupFromDb.resourceId -//} \ No newline at end of file +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests2.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests2.groovy index 13847472c..906bc4a19 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests2.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests2.groovy @@ -63,11 +63,12 @@ class JPAEntityDescriptorServiceImplTests2 extends Specification { Group ga = new Group() ga.setResourceId("testingGroup") ga.setName("Group A") - ga = groupService.createGroup(ga) + groupService.createGroup(ga) - Group gb = new Group(); + Group gb = new Group() gb.setResourceId("testingGroupBBB") gb.setName("Group BBB") + gb.setValidationRegex("^(?:https?:\\/\\/)?(?:[^.]+\\.)?shib\\.org(\\/.*)?\$") gb = groupService.createGroup(gb) def roles = [new Role().with { @@ -100,12 +101,9 @@ class JPAEntityDescriptorServiceImplTests2 extends Specification { User current = userService.getCurrentUser() current.setGroupId("testingGroupBBB") - def expectedCreationDate = '2017-10-23T11:11:11' - def expectedEntityId = 'https://shib' + def expectedEntityId = 'https://shib.org/blah' def expectedSpName = 'sp1' def expectedUUID = 'uuid-1' - def expectedResponseHeader = 'Location' - def expectedResponseHeaderValue = "/api/EntityDescriptor/$expectedUUID" def entityDescriptor = new EntityDescriptor(resourceId: expectedUUID, entityID: expectedEntityId, serviceProviderName: expectedSpName, serviceEnabled: false) when: @@ -128,4 +126,4 @@ class JPAEntityDescriptorServiceImplTests2 extends Specification { return result } } -} +} \ No newline at end of file From c4e1b63c53381b302a29f03e19d472a78f5ea847 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Tue, 17 Aug 2021 13:24:46 -0700 Subject: [PATCH 013/138] SHIBUI-2024 Added validation for FileBackedHttpMetadataResolver url --- ...DurationIMetadataResolverValidator.groovy} | 9 +- .../JPAMetadataResolverServiceImpl.groovy | 6 +- ...tadataResolverValidationConfiguration.java | 30 +++-- .../MetadataResolversController.java | 6 +- ...leBackedHttpMetadataResolverValidator.java | 32 +++++ .../IMetadataResolverValidator.java} | 8 +- .../MetadataResolverValidationService.java | 16 ++- ...urceBackedIMetadataResolverValidator.java} | 9 +- ...dataResolverValidationConfiguration.groovy | 26 ++-- ...dHttpMetadataResolverValidatorTests.groovy | 124 ++++++++++++++++++ ...ValidationServiceConfigurationTests.groovy | 10 +- ...adataResolverValidationServiceTests.groovy | 19 +-- ...esourceBackedMetadataValidatorTests.groovy | 20 ++- .../security/service/GroupServiceTests.groovy | 6 - 14 files changed, 252 insertions(+), 69 deletions(-) rename backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/{DurationMetadataResolverValidator.groovy => validator/DurationIMetadataResolverValidator.groovy} (78%) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidator.java rename backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/{MetadataResolverValidator.java => validator/IMetadataResolverValidator.java} (82%) rename backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/{ => validator}/MetadataResolverValidationService.java (59%) rename backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/{ResourceBackedMetadataResolverValidator.java => validator/ResourceBackedIMetadataResolverValidator.java} (57%) create mode 100644 backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidatorTests.groovy rename backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/{ => validator}/MetadataResolverValidationServiceConfigurationTests.groovy (81%) rename backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/{ => validator}/MetadataResolverValidationServiceTests.groovy (86%) rename backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/{ => validator}/ResourceBackedMetadataValidatorTests.groovy (54%) diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/DurationMetadataResolverValidator.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationIMetadataResolverValidator.groovy similarity index 78% rename from backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/DurationMetadataResolverValidator.groovy rename to backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationIMetadataResolverValidator.groovy index 56a2ecd77..ef7c70f23 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/DurationMetadataResolverValidator.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationIMetadataResolverValidator.groovy @@ -1,8 +1,11 @@ -package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicMetadataResolverAttributes +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ReloadableMetadataResolverAttributes import edu.internet2.tier.shibboleth.admin.util.DurationUtility -class DurationMetadataResolverValidator implements MetadataResolverValidator { +class DurationIMetadataResolverValidator implements IMetadataResolverValidator { boolean supports(MetadataResolver resolver) { return resolver.hasProperty('dynamicMetadataResolverAttributes') || resolver.hasProperty('reloadableMetadataResolverAttributes') } @@ -27,4 +30,4 @@ class DurationMetadataResolverValidator implements MetadataResolverValidator { } return new ValidationResult() } -} +} \ No newline at end of file diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy index 7ffb5b5f7..bea96989f 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy @@ -400,7 +400,7 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService { disregardTLSCertificate: resolver.httpMetadataResolverAttributes?.disregardTLSCertificate ?: null, httpClientSecurityParametersRef: resolver.httpMetadataResolverAttributes?.httpClientSecurityParametersRef, proxyHost: resolver.httpMetadataResolverAttributes?.proxyHost, - proxyPort: resolver.httpMetadataResolverAttributes?.proxyHost, + proxyPort: resolver.httpMetadataResolverAttributes?.proxyPort, proxyUser: resolver.httpMetadataResolverAttributes?.proxyUser, proxyPassword: resolver.httpMetadataResolverAttributes?.proxyPassword, httpCaching: resolver.httpMetadataResolverAttributes?.httpCaching, @@ -471,7 +471,7 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService { disregardTLSCertificate: resolver.httpMetadataResolverAttributes?.disregardTLSCertificate ?: null, httpClientSecurityParametersRef: resolver.httpMetadataResolverAttributes?.httpClientSecurityParametersRef, proxyHost: resolver.httpMetadataResolverAttributes?.proxyHost, - proxyPort: resolver.httpMetadataResolverAttributes?.proxyHost, + proxyPort: resolver.httpMetadataResolverAttributes?.proxyPort, proxyUser: resolver.httpMetadataResolverAttributes?.proxyUser, proxyPassword: resolver.httpMetadataResolverAttributes?.proxyPassword, httpCaching: resolver.httpMetadataResolverAttributes?.httpCaching, @@ -559,4 +559,4 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService { } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java index 86d3f9f58..b5609f60d 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java @@ -1,9 +1,12 @@ package edu.internet2.tier.shibboleth.admin.ui.configuration; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DurationMetadataResolverValidator; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolverValidationService; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolverValidator; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolverValidator; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.DurationIMetadataResolverValidator; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.MetadataResolverValidationService; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.FileBackedHttpMetadataResolverValidator; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.ResourceBackedIMetadataResolverValidator; +import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService; +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -12,19 +15,22 @@ @Configuration public class MetadataResolverValidationConfiguration { + @Bean ResourceBackedIMetadataResolverValidator resourceBackedMetadataResolverValidator() { + return new ResourceBackedIMetadataResolverValidator(); + } + @Bean - ResourceBackedMetadataResolverValidator resourceBackedMetadataResolverValidator() { - return new ResourceBackedMetadataResolverValidator(); + FileBackedHttpMetadataResolverValidator fileBackedHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { + return new FileBackedHttpMetadataResolverValidator(groupService, userService); } @Bean @SuppressWarnings("Unchecked") - MetadataResolverValidationService metadataResolverValidationService(List metadataResolverValidators) { - return new MetadataResolverValidationService(metadataResolverValidators); + MetadataResolverValidationService metadataResolverValidationService(List IMetadataResolverValidators) { + return new MetadataResolverValidationService(IMetadataResolverValidators); } - @Bean - DurationMetadataResolverValidator durationMetadataResolverValidator() { - return new DurationMetadataResolverValidator(); + @Bean DurationIMetadataResolverValidator durationMetadataResolverValidator() { + return new DurationIMetadataResolverValidator(); } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java index 6bce7af7b..915995d4c 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.databind.exc.InvalidTypeIdException; import edu.internet2.tier.shibboleth.admin.ui.domain.exceptions.MetadataFileNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolverValidationService; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.MetadataResolverValidationService; import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlChainingMetadataResolver; import edu.internet2.tier.shibboleth.admin.ui.domain.versioning.Version; import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository; @@ -43,7 +43,7 @@ import java.net.URI; import java.util.List; -import static edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolverValidator.ValidationResult; +import static edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator.ValidationResult; @RestController @RequestMapping("/api") @@ -212,4 +212,4 @@ private void doResolverInitialization(MetadataResolver persistedResolver) throws OpenSamlChainingMetadataResolverUtil.updateChainingMetadataResolver((OpenSamlChainingMetadataResolver) chainingMetadataResolver, openSamlRepresentation); } } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidator.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidator.java new file mode 100644 index 000000000..19d165859 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidator.java @@ -0,0 +1,32 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator; + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolver; +import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService; +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; + +public class FileBackedHttpMetadataResolverValidator implements IMetadataResolverValidator { + @Autowired + IGroupService groupService; + + @Autowired + UserService userService; + + public FileBackedHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { + this.groupService = groupService; + this.userService = userService; + } + + @Override public boolean supports(MetadataResolver resolver) { return resolver instanceof FileBackedHttpMetadataResolver; } + + @Override public ValidationResult validate(MetadataResolver resolver) { + FileBackedHttpMetadataResolver fbhmResolver = (FileBackedHttpMetadataResolver) resolver; + String url = fbhmResolver.getMetadataURL(); + if (!groupService.doesUrlMatchGroupPattern(userService.getCurrentUser().getGroupId(), url)) { + return new ValidationResult("Metadata URL not acceptable for user's group"); + } + return new ValidationResult(); + } +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidator.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/IMetadataResolverValidator.java similarity index 82% rename from backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidator.java rename to backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/IMetadataResolverValidator.java index a57bc6f18..33ceefa00 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidator.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/IMetadataResolverValidator.java @@ -1,4 +1,6 @@ -package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers; +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator; + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; import java.util.ArrayList; import java.util.List; @@ -12,7 +14,7 @@ * * @author Dmitriy Kopylenko */ -public interface MetadataResolverValidator { +public interface IMetadataResolverValidator { boolean supports(MetadataResolver resolver); @@ -38,4 +40,4 @@ public boolean isValid() { return this.errorMessages == null || this.errorMessages.isEmpty(); } } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationService.java similarity index 59% rename from backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationService.java rename to backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationService.java index 676755b26..3e9e3df51 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationService.java @@ -1,13 +1,15 @@ -package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers; +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolverValidator.ValidationResult; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator.ValidationResult; import java.util.ArrayList; import java.util.List; /** - * A facade that aggregates {@link MetadataResolverValidator}s available to call just one of them supporting the type of a given resolver. - * If no {@link MetadataResolverValidator}s are configured, considers provided MetadataResolver as valid. + * A facade that aggregates {@link IMetadataResolverValidator}s available to call just one of them supporting the type of a given resolver. + * If no {@link IMetadataResolverValidator}s are configured, considers provided MetadataResolver as valid. *

* Uses chain-of-responsibility design pattern * @@ -15,9 +17,9 @@ */ public class MetadataResolverValidationService { - private List> validators; + List> validators; - public MetadataResolverValidationService(List> validators) { + public MetadataResolverValidationService(List> validators) { this.validators = validators != null ? validators : new ArrayList<>(); } @@ -36,4 +38,4 @@ public ValidationResult validateIfNecessary(T metadataResolver) { boolean noValidatorsConfigured() { return this.validators.size() == 0; } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/ResourceBackedMetadataResolverValidator.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/ResourceBackedIMetadataResolverValidator.java similarity index 57% rename from backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/ResourceBackedMetadataResolverValidator.java rename to backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/ResourceBackedIMetadataResolverValidator.java index 480491465..6b4c7ba6d 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/ResourceBackedMetadataResolverValidator.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/ResourceBackedIMetadataResolverValidator.java @@ -1,6 +1,9 @@ -package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers; +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator; -public class ResourceBackedMetadataResolverValidator implements MetadataResolverValidator { +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolver; + +public class ResourceBackedIMetadataResolverValidator implements IMetadataResolverValidator { @Override public boolean supports(MetadataResolver resolver) { @@ -17,4 +20,4 @@ public ValidationResult validate(ResourceBackedMetadataResolver resolver) { } return new ValidationResult(); } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy index d5c2f4f29..37f69ff8c 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy @@ -1,19 +1,29 @@ package edu.internet2.tier.shibboleth.admin.ui.configuration -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolverValidationService -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolverValidator -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolverValidator - +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.MetadataResolverValidationService +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.FileBackedHttpMetadataResolverValidator +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.ResourceBackedIMetadataResolverValidator +import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService +import org.springframework.beans.factory.annotation.Qualifier import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration +import org.springframework.context.annotation.Profile @Configuration class TestMetadataResolverValidationConfiguration { @Bean - ResourceBackedMetadataResolverValidator resourceBackedMetadataResolverValidator() { - new ResourceBackedMetadataResolverValidator() + @Profile("fbh-test") + FileBackedHttpMetadataResolverValidator fileBackedHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { + new FileBackedHttpMetadataResolverValidator(groupService, userService) + } + + @Bean + ResourceBackedIMetadataResolverValidator resourceBackedMetadataResolverValidator() { + new ResourceBackedIMetadataResolverValidator() } @Bean @@ -22,8 +32,8 @@ class TestMetadataResolverValidationConfiguration { } @Bean - MetadataResolverValidationService metadataResolverValidationServiceOneValidator(List metadataResolverValidators) { + MetadataResolverValidationService metadataResolverValidationService(List metadataResolverValidators) { new MetadataResolverValidationService(metadataResolverValidators) } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidatorTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidatorTests.groovy new file mode 100644 index 000000000..790baec2d --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidatorTests.groovy @@ -0,0 +1,124 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator + +import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.TestMetadataResolverValidationConfiguration +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.security.model.Group +import edu.internet2.tier.shibboleth.admin.ui.security.model.Role +import edu.internet2.tier.shibboleth.admin.ui.security.model.User +import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository +import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceForTesting +import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceImpl +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.beans.factory.annotation.Qualifier +import org.springframework.boot.autoconfigure.domain.EntityScan +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Primary +import org.springframework.context.annotation.Profile +import org.springframework.data.jpa.repository.config.EnableJpaRepositories +import org.springframework.security.test.context.support.WithMockUser +import org.springframework.test.annotation.Rollback +import org.springframework.test.context.ActiveProfiles +import org.springframework.test.context.ContextConfiguration +import org.springframework.transaction.annotation.Transactional +import spock.lang.Specification + +@DataJpaTest +@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration, TestMetadataResolverValidationConfiguration, LocalConfig]) +@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) +@EntityScan("edu.internet2.tier.shibboleth.admin.ui") +@ActiveProfiles(["fbh-test"]) +class FileBackedHttpMetadataResolverValidatorTests extends Specification { + @Autowired + GroupServiceForTesting groupServiceForTesting + + @Autowired + @Qualifier("metadataResolverValidationService") + MetadataResolverValidationService metadataResolverValidationService + + @Autowired + RoleRepository roleRepository + + @Autowired + UserRepository userRepository + + @Autowired + UserService userService + + @Transactional + def setup() { + userRepository.deleteAll() + roleRepository.deleteAll() + groupServiceForTesting.clearAllForTesting() + + Group g = new Group() + g.setResourceId("shib") + g.setName("shib") + // This is valid for a url with "shib.org" in it + g.setValidationRegex("^(?:https?:\\/\\/)?(?:[^.]+\\.)?shib\\.org(\\/.*)?\$") + g = groupServiceForTesting.createGroup(g) + + def roles = [new Role().with { + name = 'ROLE_ADMIN' + it + }, new Role().with { + name = 'ROLE_USER' + it + }, new Role().with { + name = 'ROLE_NONE' + it + }] + roles.each { + roleRepository.save(it) + } + + Optional userRole = roleRepository.findByName("ROLE_USER") + User user = new User(username: "someUser", roles:[userRole.get()], password: "foo", group: g) + userService.save(user) + } + + @WithMockUser(value = "someUser", roles = ["USER"]) + @Rollback + def "test validation by service works properly"() { + given: + FileBackedHttpMetadataResolver metadataResolver = new FileBackedHttpMetadataResolver() + metadataResolver.setMetadataURL("http://foo.shib.org/bar") + + when: + IMetadataResolverValidator.ValidationResult result = metadataResolverValidationService.validateIfNecessary(metadataResolver) + + then: + result.isValid() + + when: "using a bad url (no match)" + metadataResolver.setMetadataURL("http://foo.shib.com/bar") + result = metadataResolverValidationService.validateIfNecessary(metadataResolver) + + then: + !result.isValid() + } + + @org.springframework.boot.test.context.TestConfiguration + @Profile("fbh-test") + static class LocalConfig { + @Bean + @Primary + GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { + GroupServiceForTesting result = new GroupServiceForTesting(new GroupServiceImpl().with { + it.groupRepository = repo + it.ownershipRepository = ownershipRepository + return it + }) + result.ensureAdminGroupExists() + return result + } + } +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationServiceConfigurationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceConfigurationTests.groovy similarity index 81% rename from backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationServiceConfigurationTests.groovy rename to backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceConfigurationTests.groovy index 9007cb15e..501afe9b9 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationServiceConfigurationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceConfigurationTests.groovy @@ -1,4 +1,4 @@ -package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator import edu.internet2.tier.shibboleth.admin.ui.configuration.TestMetadataResolverValidationConfiguration import org.springframework.beans.factory.annotation.Autowired @@ -17,8 +17,8 @@ class MetadataResolverValidationServiceConfigurationTests extends Specification MetadataResolverValidationService metadataResolverValidationServiceNoValidators @Autowired - @Qualifier("metadataResolverValidationServiceOneValidator") - MetadataResolverValidationService metadataResolverValidationServiceOneValidator + @Qualifier("metadataResolverValidationService") + MetadataResolverValidationService metadataResolverValidationService def "Validation service with no validators"() { expect: @@ -27,6 +27,6 @@ class MetadataResolverValidationServiceConfigurationTests extends Specification def "Validation service with one validator"() { expect: - !metadataResolverValidationServiceOneValidator.noValidatorsConfigured() + !metadataResolverValidationService.noValidatorsConfigured() } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceTests.groovy similarity index 86% rename from backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationServiceTests.groovy rename to backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceTests.groovy index d62f07170..f0aaf8aa4 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolverValidationServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceTests.groovy @@ -1,9 +1,10 @@ -package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver import spock.lang.Specification import spock.lang.Subject -import static edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolverValidator.* +import static edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator.* /** * @author Dmitriy Kopylenko @@ -26,7 +27,7 @@ class MetadataResolverValidationServiceTests extends Specification { def "Validation service with one validator not supporting the type of resolver returns default valid result"() { given: 'Sample metadata resolver and validation service with one validator not supporting that type' def resolver = Mock(MetadataResolver) - def validator = Mock(MetadataResolverValidator) + def validator = Mock(IMetadataResolverValidator) validator.supports(_) >> false @Subject def validationService = new MetadataResolverValidationService([validator]) @@ -41,7 +42,7 @@ class MetadataResolverValidationServiceTests extends Specification { def "Validation service with one validator supporting the type of resolver but fails its validation"() { given: 'Sample metadata resolver and validation service with one validator supporting that type' def resolver = Mock(MetadataResolver) - def validator = Mock(MetadataResolverValidator) + def validator = Mock(IMetadataResolverValidator) validator.supports(_) >> true validator.validate(_) >> new ValidationResult('Invalid') @Subject @@ -57,10 +58,10 @@ class MetadataResolverValidationServiceTests extends Specification { def "Validation service with with two validators supporting the type of resolver, first fails, second passes validation"() { given: 'Sample metadata resolver and validation service with two validators supporting that type' def resolver = Mock(MetadataResolver) - def validator1 = Mock(MetadataResolverValidator) + def validator1 = Mock(IMetadataResolverValidator) validator1.supports(_) >> true validator1.validate(_) >> new ValidationResult('Invalid') - def validator2 = Mock(MetadataResolverValidator) + def validator2 = Mock(IMetadataResolverValidator) validator2.supports(_) >> true validator2.validate(_) >> new ValidationResult(null) @Subject @@ -76,9 +77,9 @@ class MetadataResolverValidationServiceTests extends Specification { def "Validation service with with two validators, only one supporting the type of resolver, passes validation"() { given: 'Sample metadata resolver and validation service with two validators, with one supporting that type' def resolver = Mock(MetadataResolver) - def validator1 = Mock(MetadataResolverValidator) + def validator1 = Mock(IMetadataResolverValidator) validator1.supports(_) >> false - def validator2 = Mock(MetadataResolverValidator) + def validator2 = Mock(IMetadataResolverValidator) validator2.supports(_) >> true validator2.validate(_) >> new ValidationResult(null) @Subject @@ -90,4 +91,4 @@ class MetadataResolverValidationServiceTests extends Specification { then: validationResult.valid } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/ResourceBackedMetadataValidatorTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/ResourceBackedMetadataValidatorTests.groovy similarity index 54% rename from backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/ResourceBackedMetadataValidatorTests.groovy rename to backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/ResourceBackedMetadataValidatorTests.groovy index 6447a7f1a..66102f4fe 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/ResourceBackedMetadataValidatorTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/ResourceBackedMetadataValidatorTests.groovy @@ -1,12 +1,18 @@ -package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers - +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ClasspathMetadataResource +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.SvnMetadataResource +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.ResourceBackedIMetadataResolverValidator import spock.lang.Specification class ResourceBackedMetadataValidatorTests extends Specification { def "Does not support foreign resolver type"() { given: - MetadataResolverValidator validator = new ResourceBackedMetadataResolverValidator() + IMetadataResolverValidator validator = new ResourceBackedIMetadataResolverValidator() FileBackedHttpMetadataResolver resolver = new FileBackedHttpMetadataResolver() expect: @@ -15,7 +21,7 @@ class ResourceBackedMetadataValidatorTests extends Specification { def "Passes validation"() { given: - MetadataResolverValidator validator = new ResourceBackedMetadataResolverValidator() + IMetadataResolverValidator validator = new ResourceBackedIMetadataResolverValidator() ResourceBackedMetadataResolver resolver = new ResourceBackedMetadataResolver().with { it.classpathMetadataResource = new ClasspathMetadataResource() it @@ -28,7 +34,7 @@ class ResourceBackedMetadataValidatorTests extends Specification { def "Does not pass validation with both resource types missing"() { given: - MetadataResolverValidator validator = new ResourceBackedMetadataResolverValidator() + IMetadataResolverValidator validator = new ResourceBackedIMetadataResolverValidator() ResourceBackedMetadataResolver resolver = new ResourceBackedMetadataResolver() expect: @@ -38,7 +44,7 @@ class ResourceBackedMetadataValidatorTests extends Specification { def "Does not pass validation with both resource types present"() { given: - MetadataResolverValidator validator = new ResourceBackedMetadataResolverValidator() + IMetadataResolverValidator validator = new ResourceBackedIMetadataResolverValidator() ResourceBackedMetadataResolver resolver = new ResourceBackedMetadataResolver().with { it.classpathMetadataResource = new ClasspathMetadataResource() it.svnMetadataResource = new SvnMetadataResource() @@ -49,4 +55,4 @@ class ResourceBackedMetadataValidatorTests extends Specification { validator.supports(resolver) !validator.validate(resolver).valid } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy index 057cfb576..7673a907a 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy @@ -48,12 +48,6 @@ class GroupServiceTests extends Specification { @Transactional def setup() { groupService.ensureAdminGroupExists() -// Group g = new Group() -// g.setResourceId("twitter") -// g.setName("twitter") -// // This is valid for a url with "twitter" in it -// g.setValidationRegex("") -// g = groupService.createGroup(g) if (roleRepository.count() == 0) { def roles = [new Role().with { From 015986276baa60a7a78ac22b148a051430075444 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Tue, 17 Aug 2021 16:31:42 -0700 Subject: [PATCH 014/138] SHIBUI-2024 Added validation for DynamicHttpMetadataResolver url --- ...tadataResolverValidationConfiguration.java | 10 +- .../DynamicHttpMetadataResolverValidator.java | 31 +++++ ...dataResolverValidationConfiguration.groovy | 7 + ...cHttpMetadataResolverValidatorTests.groovy | 123 ++++++++++++++++++ 4 files changed, 166 insertions(+), 5 deletions(-) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidator.java create mode 100644 backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidatorTests.groovy diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java index b5609f60d..12c076c42 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java @@ -1,10 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.configuration; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.DurationIMetadataResolverValidator; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.MetadataResolverValidationService; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.FileBackedHttpMetadataResolverValidator; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.ResourceBackedIMetadataResolverValidator; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.*; import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService; import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService; import org.springframework.context.annotation.Bean; @@ -19,6 +15,10 @@ public class MetadataResolverValidationConfiguration { return new ResourceBackedIMetadataResolverValidator(); } + @Bean DynamicHttpMetadataResolverValidator dynamicHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { + return new DynamicHttpMetadataResolverValidator(groupService, userService); + } + @Bean FileBackedHttpMetadataResolverValidator fileBackedHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { return new FileBackedHttpMetadataResolverValidator(groupService, userService); diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidator.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidator.java new file mode 100644 index 000000000..a161ec2fa --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidator.java @@ -0,0 +1,31 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator; + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver; +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; +import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService; +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; + +public class DynamicHttpMetadataResolverValidator implements IMetadataResolverValidator { + @Autowired IGroupService groupService; + + @Autowired UserService userService; + + public DynamicHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { + this.groupService = groupService; + this.userService = userService; + } + + @Override public boolean supports(MetadataResolver resolver) { return resolver instanceof DynamicHttpMetadataResolver; } + + @Override public ValidationResult validate(MetadataResolver resolver) { + DynamicHttpMetadataResolver dynamicResolver = (DynamicHttpMetadataResolver) resolver; + if ("MetadataQueryProtocol".equals(dynamicResolver.getMetadataRequestURLConstructionScheme().getType())) { + String url = dynamicResolver.getMetadataRequestURLConstructionScheme().getContent(); + if (!groupService.doesUrlMatchGroupPattern(userService.getCurrentUser().getGroupId(), url)) { + return new ValidationResult("Metadata Query Protocol URL not acceptable for user's group"); + } + } + return new ValidationResult(); + } +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy index 37f69ff8c..6daa2c816 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy @@ -1,5 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.configuration +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.DynamicHttpMetadataResolverValidator import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.MetadataResolverValidationService import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.FileBackedHttpMetadataResolverValidator import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator @@ -15,6 +16,12 @@ import org.springframework.context.annotation.Profile @Configuration class TestMetadataResolverValidationConfiguration { + @Bean + @Profile("dh-test") + DynamicHttpMetadataResolverValidator dynamicHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { + new DynamicHttpMetadataResolverValidator(groupService, userService) + } + @Bean @Profile("fbh-test") FileBackedHttpMetadataResolverValidator fileBackedHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidatorTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidatorTests.groovy new file mode 100644 index 000000000..7b4470b18 --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidatorTests.groovy @@ -0,0 +1,123 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator + +import edu.internet2.tier.shibboleth.admin.ui.configuration.* +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataQueryProtocolScheme +import edu.internet2.tier.shibboleth.admin.ui.security.model.Group +import edu.internet2.tier.shibboleth.admin.ui.security.model.Role +import edu.internet2.tier.shibboleth.admin.ui.security.model.User +import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository +import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceForTesting +import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceImpl +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.beans.factory.annotation.Qualifier +import org.springframework.boot.autoconfigure.domain.EntityScan +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Primary +import org.springframework.context.annotation.Profile +import org.springframework.data.jpa.repository.config.EnableJpaRepositories +import org.springframework.security.test.context.support.WithMockUser +import org.springframework.test.annotation.Rollback +import org.springframework.test.context.ActiveProfiles +import org.springframework.test.context.ContextConfiguration +import org.springframework.transaction.annotation.Transactional +import spock.lang.Specification + +@DataJpaTest +@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration, TestMetadataResolverValidationConfiguration, LocalConfig]) +@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) +@EntityScan("edu.internet2.tier.shibboleth.admin.ui") +@ActiveProfiles(["dh-test"]) +class DynamicHttpMetadataResolverValidatorTests extends Specification { + @Autowired + GroupServiceForTesting groupServiceForTesting + + @Autowired + @Qualifier("metadataResolverValidationService") + MetadataResolverValidationService metadataResolverValidationService + + @Autowired + RoleRepository roleRepository + + @Autowired + UserRepository userRepository + + @Autowired + UserService userService + + @Transactional + def setup() { + userRepository.deleteAll() + roleRepository.deleteAll() + groupServiceForTesting.clearAllForTesting() + + Group g = new Group() + g.setResourceId("shib") + g.setName("shib") + // This is valid for a url with "shib.org" in it + g.setValidationRegex("^(?:https?:\\/\\/)?(?:[^.]+\\.)?shib\\.org(\\/.*)?\$") + g = groupServiceForTesting.createGroup(g) + + def roles = [new Role().with { + name = 'ROLE_ADMIN' + it + }, new Role().with { + name = 'ROLE_USER' + it + }, new Role().with { + name = 'ROLE_NONE' + it + }] + roles.each { + roleRepository.save(it) + } + + Optional userRole = roleRepository.findByName("ROLE_USER") + User user = new User(username: "someUser", roles:[userRole.get()], password: "foo", group: g) + userService.save(user) + } + + @WithMockUser(value = "someUser", roles = ["USER"]) + @Rollback + def "test validation by service works properly"() { + given: + DynamicHttpMetadataResolver metadataResolver = new DynamicHttpMetadataResolver() + MetadataQueryProtocolScheme scheme = new MetadataQueryProtocolScheme() + scheme.setContent("http://foo.shib.org/bar") + metadataResolver.setMetadataRequestURLConstructionScheme(scheme) + + when: + IMetadataResolverValidator.ValidationResult result = metadataResolverValidationService.validateIfNecessary(metadataResolver) + + then: + result.isValid() + + when: "using a bad url (no match)" + metadataResolver.getMetadataRequestURLConstructionScheme().setContent("http://foo.shib.com/bar") + result = metadataResolverValidationService.validateIfNecessary(metadataResolver) + + then: + !result.isValid() + } + + @org.springframework.boot.test.context.TestConfiguration + @Profile("dh-test") + static class LocalConfig { + @Bean + @Primary + GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { + GroupServiceForTesting result = new GroupServiceForTesting(new GroupServiceImpl().with { + it.groupRepository = repo + it.ownershipRepository = ownershipRepository + return it + }) + result.ensureAdminGroupExists() + return result + } + } +} \ No newline at end of file From 963b23f94078dee3ad2d3ab9f6ca6474f42873a6 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Tue, 17 Aug 2021 18:25:51 -0700 Subject: [PATCH 015/138] SHIBUI-2024 Added validation for filters urls --- .../controller/MetadataFiltersController.java | 234 ++++++++++-------- .../DynamicHttpMetadataResolverValidator.java | 8 +- ...leBackedHttpMetadataResolverValidator.java | 7 +- .../ui/security/service/GroupServiceImpl.java | 2 +- .../ui/security/service/IGroupService.java | 2 +- .../JPAEntityDescriptorServiceImpl.java | 4 +- ...taFiltersControllerIntegrationTests.groovy | 8 +- 7 files changed, 149 insertions(+), 116 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java index 33d4458b5..7f48faa1a 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java @@ -1,14 +1,12 @@ package edu.internet2.tier.shibboleth.admin.ui.controller; import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter; -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityRoleWhiteListFilter; import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter; -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilter; -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.RequiredValidUntilFilter; -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.SignatureValidationFilter; import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; import edu.internet2.tier.shibboleth.admin.ui.repository.FilterRepository; import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository; +import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService; +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService; import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverService; import org.springframework.beans.factory.annotation.Autowired; @@ -37,52 +35,39 @@ import java.util.stream.Stream; import static java.util.stream.Collectors.toList; +import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.NOT_FOUND; @RestController @RequestMapping("/api/MetadataResolvers/{metadataResolverId}") public class MetadataFiltersController { + private static final Supplier HTTP_400_BAD_REQUEST_EXCEPTION = () -> new HttpClientErrorException(BAD_REQUEST); + private static final Supplier HTTP_404_CLIENT_ERROR_EXCEPTION = () -> new HttpClientErrorException(NOT_FOUND); @Autowired - private MetadataResolverRepository repository; - - @Autowired - private MetadataResolverService metadataResolverService; + org.opensaml.saml.metadata.resolver.MetadataResolver chainingMetadataResolver; @Autowired private FilterRepository filterRepository; @Autowired - org.opensaml.saml.metadata.resolver.MetadataResolver chainingMetadataResolver; - - private static final Supplier HTTP_404_CLIENT_ERROR_EXCEPTION = () -> new HttpClientErrorException(NOT_FOUND); + private IGroupService groupService; - @ExceptionHandler - public ResponseEntity notFoundHandler(HttpClientErrorException ex) { - if (ex.getStatusCode() == NOT_FOUND) { - return ResponseEntity.notFound().build(); - } - throw ex; - } + @Autowired + private MetadataResolverService metadataResolverService; - @GetMapping("/Filters") - @Transactional(readOnly = true) - public ResponseEntity getAll(@PathVariable String metadataResolverId) { - MetadataResolver resolver = findResolverOrThrowHttp404(metadataResolverId); - return ResponseEntity.ok(resolver.getMetadataFilters()); - } + @Autowired + private MetadataResolverRepository repository; - @GetMapping("/Filters/{resourceId}") - @Transactional(readOnly = true) - public ResponseEntity getOne(@PathVariable String metadataResolverId, @PathVariable String resourceId) { - MetadataResolver resolver = findResolverOrThrowHttp404(metadataResolverId); - return ResponseEntity.ok(findFilterOrThrowHttp404(resourceId)); - } + @Autowired + private UserService userService; @PostMapping("/Filters") @Transactional public ResponseEntity create(@PathVariable String metadataResolverId, @RequestBody MetadataFilter createdFilter) { MetadataResolver metadataResolver = findResolverOrThrowHttp404(metadataResolverId); + validateFilterOrThrowHttp400(createdFilter); + metadataResolver.addFilter(createdFilter); MetadataResolver persistedMr = repository.save(metadataResolver); @@ -92,57 +77,14 @@ public ResponseEntity create(@PathVariable String metadataResolverId, @Reques MetadataFilter persistedFilter = newlyPersistedFilter(persistedMr.getMetadataFilters().stream(), createdFilter.getResourceId()); return ResponseEntity - .created(getResourceUriFor(persistedMr, createdFilter.getResourceId())) - .body(persistedFilter); - } - - @PutMapping("/Filters/{resourceId}") - @Transactional - public ResponseEntity update(@PathVariable String metadataResolverId, - @PathVariable String resourceId, - @RequestBody MetadataFilter updatedFilter) { - - MetadataResolver metadataResolver = findResolverOrThrowHttp404(metadataResolverId); - - //Now we operate directly on the filter attached to MetadataResolver, - //Instead of fetching filter separately, to accommodate correct envers versioning with uni-directional one-to-many - Optional filterTobeUpdatedOptional = metadataResolver.getMetadataFilters() - .stream() - .filter(it -> it.getResourceId().equals(resourceId)) - .findFirst(); - if (!filterTobeUpdatedOptional.isPresent()) { - return ResponseEntity.notFound().build(); - } - MetadataFilter filterTobeUpdated = filterTobeUpdatedOptional.get(); - if (!resourceId.equals(updatedFilter.getResourceId())) { - return new ResponseEntity(HttpStatus.CONFLICT); - } - - // Verify we're the only one attempting to update the filter - if (updatedFilter.getVersion() != filterTobeUpdated.getVersion()) { - return new ResponseEntity(HttpStatus.CONFLICT); - } - - filterTobeUpdated.setName(updatedFilter.getName()); - filterTobeUpdated.setFilterEnabled(updatedFilter.isFilterEnabled()); - updatedFilter.updateConcreteFilterTypeData(filterTobeUpdated); - - MetadataFilter persistedFilter = filterRepository.save(filterTobeUpdated); - - //To support envers versioning from MetadataResolver side - metadataResolver.markAsModified(); - repository.save(metadataResolver); - - // TODO: do we need to reload filters here? - reloadFiltersAndHandleScriptException(metadataResolver.getResourceId()); - - return ResponseEntity.ok().body(persistedFilter); + .created(getResourceUriFor(persistedMr, createdFilter.getResourceId())) + .body(persistedFilter); } @DeleteMapping("/Filters/{resourceId}") @Transactional public ResponseEntity delete(@PathVariable String metadataResolverId, - @PathVariable String resourceId) { + @PathVariable String resourceId) { MetadataResolver resolver = findResolverOrThrowHttp404(metadataResolverId); MetadataFilter filterToDelete = findFilterOrThrowHttp404(resourceId); @@ -168,6 +110,66 @@ public ResponseEntity delete(@PathVariable String metadataResolverId, return ResponseEntity.noContent().build(); } + private MetadataFilter findFilterOrThrowHttp404(String filterResourceId) { + MetadataFilter filter = filterRepository.findByResourceId(filterResourceId); + if (filter == null) { + throw HTTP_404_CLIENT_ERROR_EXCEPTION.get(); + } + return filter; + } + + private MetadataResolver findResolverOrThrowHttp404(String resolverResourceId) { + MetadataResolver resolver = repository.findByResourceId(resolverResourceId); + if (resolver == null) { + throw HTTP_404_CLIENT_ERROR_EXCEPTION.get(); + } + return resolver; + } + + @GetMapping("/Filters") + @Transactional(readOnly = true) + public ResponseEntity getAll(@PathVariable String metadataResolverId) { + MetadataResolver resolver = findResolverOrThrowHttp404(metadataResolverId); + return ResponseEntity.ok(resolver.getMetadataFilters()); + } + + @GetMapping("/Filters/{resourceId}") + @Transactional(readOnly = true) + public ResponseEntity getOne(@PathVariable String metadataResolverId, @PathVariable String resourceId) { + MetadataResolver resolver = findResolverOrThrowHttp404(metadataResolverId); + return ResponseEntity.ok(findFilterOrThrowHttp404(resourceId)); + } + + private static URI getResourceUriFor(MetadataResolver mr, String filterResourceId) { + return ServletUriComponentsBuilder + .fromCurrentServletMapping().path("/api/MetadataResolvers/") + .pathSegment(mr.getResourceId()) + .pathSegment("Filters") + .pathSegment(filterResourceId) + .build() + .toUri(); + } + + private MetadataFilter newlyPersistedFilter(Stream filters, final String filterResourceId) { + MetadataFilter persistedFilter = filters + .filter(f -> f.getResourceId().equals(filterResourceId)) + .collect(toList()).get(0); + + return persistedFilter; + } + + @ExceptionHandler + public ResponseEntity notFoundHandler(HttpClientErrorException ex) { + switch (ex.getStatusCode()) { + case NOT_FOUND: + return ResponseEntity.notFound().build(); + case BAD_REQUEST: + return ResponseEntity.badRequest().build(); + default: + throw ex; + } + } + private void reloadFiltersAndHandleScriptException(String resolverResourceId) { try { metadataResolverService.reloadFilters(resolverResourceId); @@ -182,37 +184,65 @@ private void reloadFiltersAndHandleScriptException(String resolverResourceId) { } } - private MetadataResolver findResolverOrThrowHttp404(String resolverResourceId) { - MetadataResolver resolver = repository.findByResourceId(resolverResourceId); - if (resolver == null) { - throw HTTP_404_CLIENT_ERROR_EXCEPTION.get(); + @PutMapping("/Filters/{resourceId}") + @Transactional + public ResponseEntity update(@PathVariable String metadataResolverId, + @PathVariable String resourceId, + @RequestBody MetadataFilter updatedFilter) { + + MetadataResolver metadataResolver = findResolverOrThrowHttp404(metadataResolverId); + + //Now we operate directly on the filter attached to MetadataResolver, + //Instead of fetching filter separately, to accommodate correct envers versioning with uni-directional one-to-many + Optional filterTobeUpdatedOptional = metadataResolver.getMetadataFilters() + .stream() + .filter(it -> it.getResourceId().equals(resourceId)) + .findFirst(); + if (!filterTobeUpdatedOptional.isPresent()) { + return ResponseEntity.notFound().build(); + } + MetadataFilter filterTobeUpdated = filterTobeUpdatedOptional.get(); + if (!resourceId.equals(updatedFilter.getResourceId())) { + return new ResponseEntity(HttpStatus.CONFLICT); } - return resolver; - } - private MetadataFilter findFilterOrThrowHttp404(String filterResourceId) { - MetadataFilter filter = filterRepository.findByResourceId(filterResourceId); - if (filter == null) { - throw HTTP_404_CLIENT_ERROR_EXCEPTION.get(); + // Verify we're the only one attempting to update the filter + if (updatedFilter.getVersion() != filterTobeUpdated.getVersion()) { + return new ResponseEntity(HttpStatus.CONFLICT); } - return filter; - } - private MetadataFilter newlyPersistedFilter(Stream filters, final String filterResourceId) { - MetadataFilter persistedFilter = filters - .filter(f -> f.getResourceId().equals(filterResourceId)) - .collect(toList()).get(0); + // perform validation if necessary on the entity ids (if the filter is the right configuration to need such a check) + validateFilterOrThrowHttp400(updatedFilter); - return persistedFilter; + filterTobeUpdated.setName(updatedFilter.getName()); + filterTobeUpdated.setFilterEnabled(updatedFilter.isFilterEnabled()); + updatedFilter.updateConcreteFilterTypeData(filterTobeUpdated); + + MetadataFilter persistedFilter = filterRepository.save(filterTobeUpdated); + + //To support envers versioning from MetadataResolver side + metadataResolver.markAsModified(); + repository.save(metadataResolver); + + // TODO: do we need to reload filters here? + reloadFiltersAndHandleScriptException(metadataResolver.getResourceId()); + + return ResponseEntity.ok().body(persistedFilter); } - private static URI getResourceUriFor(MetadataResolver mr, String filterResourceId) { - return ServletUriComponentsBuilder - .fromCurrentServletMapping().path("/api/MetadataResolvers/") - .pathSegment(mr.getResourceId()) - .pathSegment("Filters") - .pathSegment(filterResourceId) - .build() - .toUri(); + /** + * IF the filter is of type "EntityAttributes" AND the target is "ENTITY" THEN check each of the values (which are entityIds) + */ + private void validateFilterOrThrowHttp400(MetadataFilter createdFilter) { + if ("EntityAttributes".equals(createdFilter.getType())) { + EntityAttributesFilter filter = (EntityAttributesFilter) createdFilter; + if ("ENTITY".equals(filter.getEntityAttributesFilterTarget().getEntityAttributesFilterTargetType())) { + for (String entityId : filter.getEntityAttributesFilterTarget().getValue()) { + if (!groupService.doesStringMatchGroupPattern(userService.getCurrentUser().getGroupId(), entityId)) { + throw HTTP_400_BAD_REQUEST_EXCEPTION.get(); + } + } + } + } } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidator.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidator.java index a161ec2fa..2b14ded1e 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidator.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidator.java @@ -7,9 +7,11 @@ import org.springframework.beans.factory.annotation.Autowired; public class DynamicHttpMetadataResolverValidator implements IMetadataResolverValidator { - @Autowired IGroupService groupService; + @Autowired + private IGroupService groupService; - @Autowired UserService userService; + @Autowired + private UserService userService; public DynamicHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { this.groupService = groupService; @@ -22,7 +24,7 @@ public DynamicHttpMetadataResolverValidator(IGroupService groupService, UserServ DynamicHttpMetadataResolver dynamicResolver = (DynamicHttpMetadataResolver) resolver; if ("MetadataQueryProtocol".equals(dynamicResolver.getMetadataRequestURLConstructionScheme().getType())) { String url = dynamicResolver.getMetadataRequestURLConstructionScheme().getContent(); - if (!groupService.doesUrlMatchGroupPattern(userService.getCurrentUser().getGroupId(), url)) { + if (!groupService.doesStringMatchGroupPattern(userService.getCurrentUser().getGroupId(), url)) { return new ValidationResult("Metadata Query Protocol URL not acceptable for user's group"); } } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidator.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidator.java index 19d165859..e387e9bea 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidator.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidator.java @@ -2,17 +2,16 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver; import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolver; import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService; import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService; import org.springframework.beans.factory.annotation.Autowired; public class FileBackedHttpMetadataResolverValidator implements IMetadataResolverValidator { @Autowired - IGroupService groupService; + private IGroupService groupService; @Autowired - UserService userService; + private UserService userService; public FileBackedHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { this.groupService = groupService; @@ -24,7 +23,7 @@ public FileBackedHttpMetadataResolverValidator(IGroupService groupService, UserS @Override public ValidationResult validate(MetadataResolver resolver) { FileBackedHttpMetadataResolver fbhmResolver = (FileBackedHttpMetadataResolver) resolver; String url = fbhmResolver.getMetadataURL(); - if (!groupService.doesUrlMatchGroupPattern(userService.getCurrentUser().getGroupId(), url)) { + if (!groupService.doesStringMatchGroupPattern(userService.getCurrentUser().getGroupId(), url)) { return new ValidationResult("Metadata URL not acceptable for user's group"); } return new ValidationResult(); diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java index bcca4c088..4749a5401 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceImpl.java @@ -61,7 +61,7 @@ public void deleteDefinition(String resourceId) throws EntityNotFoundException, * Designed usage is that this would be a URL or an entity Id (which is a URI that does not have to follow the URL conventions) */ @Override - public boolean doesUrlMatchGroupPattern(String groupId, String uri) { + public boolean doesStringMatchGroupPattern(String groupId, String uri) { Group group = find(groupId); return Pattern.matches(group.getValidationRegex(), uri); } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java index d95415127..d6e44e5ec 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/service/IGroupService.java @@ -23,5 +23,5 @@ public interface IGroupService { Group updateGroup(Group g) throws EntityNotFoundException, InvalidGroupRegexException; - boolean doesUrlMatchGroupPattern(String groupId, String uri); + boolean doesStringMatchGroupPattern(String groupId, String uri); } \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java index 84c956d93..f6a979e2d 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java @@ -399,14 +399,14 @@ public void updateDescriptorFromRepresentation(org.opensaml.saml.saml2.metadata. private void validateEntityIdAndACSUrls(EntityDescriptorRepresentation edRep) throws InvalidUrlMatchException { // Check the entity id first - if (!groupService.doesUrlMatchGroupPattern(edRep.getIdOfOwner(), edRep.getEntityId())) { + if (!groupService.doesStringMatchGroupPattern(edRep.getIdOfOwner(), edRep.getEntityId())) { throw new InvalidUrlMatchException("EntityId is not a pattern match to the group"); } // Check the ACS locations if (edRep.getAssertionConsumerServices() != null && edRep.getAssertionConsumerServices().size() > 0) { for (AssertionConsumerServiceRepresentation acs : edRep.getAssertionConsumerServices()) { - if (!groupService.doesUrlMatchGroupPattern(edRep.getIdOfOwner(), acs.getLocationUrl())) { + if (!groupService.doesStringMatchGroupPattern(edRep.getIdOfOwner(), acs.getLocationUrl())) { throw new InvalidUrlMatchException( "ACS location [ " + acs.getLocationUrl() + " ] is not a pattern match to the group"); } diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerIntegrationTests.groovy index e223e0012..41ed176ad 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerIntegrationTests.groovy @@ -20,6 +20,7 @@ import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.context.TestConfiguration import org.springframework.boot.test.web.client.TestRestTemplate import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Profile import org.springframework.http.HttpEntity import org.springframework.http.HttpHeaders import org.springframework.test.context.ActiveProfiles @@ -32,7 +33,7 @@ import static org.springframework.http.HttpMethod.PUT * @author Dmitriy Kopylenko */ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@ActiveProfiles("no-auth") +@ActiveProfiles(["no-auth", "mfci-test"]) class MetadataFiltersControllerIntegrationTests extends Specification { @Autowired @@ -249,7 +250,8 @@ class MetadataFiltersControllerIntegrationTests extends Specification { } @TestConfiguration - static class Config { + @Profile("mfci-test") + static class LocalConfig { @Bean MetadataResolver metadataResolver() { new OpenSamlChainingMetadataResolver().with { @@ -259,4 +261,4 @@ class MetadataFiltersControllerIntegrationTests extends Specification { } } } -} +} \ No newline at end of file From 6a708c5d1dd840b8b698da7593629bba8310bfc7 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Tue, 17 Aug 2021 20:33:22 -0700 Subject: [PATCH 016/138] SHIBUI-2024 Reverting misnamed file --- ...idator.groovy => DurationMetadataResolverValidator.groovy} | 2 +- .../MetadataResolverValidationConfiguration.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/{DurationIMetadataResolverValidator.groovy => DurationMetadataResolverValidator.groovy} (95%) diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationIMetadataResolverValidator.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationMetadataResolverValidator.groovy similarity index 95% rename from backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationIMetadataResolverValidator.groovy rename to backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationMetadataResolverValidator.groovy index ef7c70f23..85dfc3845 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationIMetadataResolverValidator.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DurationMetadataResolverValidator.groovy @@ -5,7 +5,7 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ReloadableMetadataResolverAttributes import edu.internet2.tier.shibboleth.admin.util.DurationUtility -class DurationIMetadataResolverValidator implements IMetadataResolverValidator { +class DurationMetadataResolverValidator implements IMetadataResolverValidator { boolean supports(MetadataResolver resolver) { return resolver.hasProperty('dynamicMetadataResolverAttributes') || resolver.hasProperty('reloadableMetadataResolverAttributes') } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java index 12c076c42..f41b47eaa 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java @@ -30,7 +30,7 @@ MetadataResolverValidationService metadataResolverValidationService(List Date: Tue, 17 Aug 2021 20:40:56 -0700 Subject: [PATCH 017/138] SHIBUI-2024 slight refactoring of names --- ...tadataResolverValidationConfiguration.java | 8 +++--- .../EntityDescriptorController.java | 16 +++-------- ...yDescriptorControllerExceptionHandler.java | 6 ++-- .../InvalidPatternMatchException.java | 7 +++++ .../exception/InvalidUrlMatchException.java | 7 ----- .../ui/service/EntityDescriptorService.java | 11 ++++---- .../JPAEntityDescriptorServiceImpl.java | 14 +++++----- .../EntityDescriptorControllerTests.groovy | 28 ++----------------- 8 files changed, 33 insertions(+), 64 deletions(-) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidPatternMatchException.java delete mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidUrlMatchException.java diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java index f41b47eaa..fdf63e9e0 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/MetadataResolverValidationConfiguration.java @@ -11,8 +11,8 @@ @Configuration public class MetadataResolverValidationConfiguration { - @Bean ResourceBackedIMetadataResolverValidator resourceBackedMetadataResolverValidator() { - return new ResourceBackedIMetadataResolverValidator(); + @Bean DurationMetadataResolverValidator durationMetadataResolverValidator() { + return new DurationMetadataResolverValidator(); } @Bean DynamicHttpMetadataResolverValidator dynamicHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { @@ -30,7 +30,7 @@ MetadataResolverValidationService metadataResolverValidationService(List create(@RequestBody EntityDescriptorRepresentation edRepresentation) - throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException { + throws ForbiddenException, EntityIdExistsException, InvalidPatternMatchException { EntityDescriptorRepresentation persistedEd = entityDescriptorService.createNew(edRepresentation); return ResponseEntity.created(getResourceUriFor(persistedEd.getId())).body(persistedEd); } @@ -148,7 +139,8 @@ public void initRestTemplate() { @PutMapping("/EntityDescriptor/{resourceId}") @Transactional public ResponseEntity update(@RequestBody EntityDescriptorRepresentation edRepresentation, @PathVariable String resourceId) - throws ForbiddenException, ConcurrentModificationException, EntityNotFoundException, InvalidUrlMatchException { + throws ForbiddenException, ConcurrentModificationException, EntityNotFoundException, + InvalidPatternMatchException { edRepresentation.setId(resourceId); // This should be the same already, but just to be safe... EntityDescriptorRepresentation result = entityDescriptorService.update(edRepresentation); return ResponseEntity.ok().body(result); diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerExceptionHandler.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerExceptionHandler.java index 7eae86cb5..6ec47a82a 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerExceptionHandler.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerExceptionHandler.java @@ -3,7 +3,7 @@ import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException; import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException; -import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException; +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidPatternMatchException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -43,8 +43,8 @@ public ResponseEntity handleForbiddenAccess(ForbiddenException e, WebRequest return ResponseEntity.status(HttpStatus.FORBIDDEN).body(new ErrorResponse(HttpStatus.FORBIDDEN, e.getMessage())); } - @ExceptionHandler({ InvalidUrlMatchException.class }) - public ResponseEntity handleInvalidUrlMatchException(InvalidUrlMatchException e, WebRequest request) { + @ExceptionHandler({ InvalidPatternMatchException.class }) + public ResponseEntity handleInvalidUrlMatchException(InvalidPatternMatchException e, WebRequest request) { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ErrorResponse(HttpStatus.BAD_REQUEST, e.getMessage())); } } \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidPatternMatchException.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidPatternMatchException.java new file mode 100644 index 000000000..57cdfcd42 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidPatternMatchException.java @@ -0,0 +1,7 @@ +package edu.internet2.tier.shibboleth.admin.ui.exception; + +public class InvalidPatternMatchException extends Exception { + public InvalidPatternMatchException(String message) { + super(message); + } +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidUrlMatchException.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidUrlMatchException.java deleted file mode 100644 index ea2d463c7..000000000 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/exception/InvalidUrlMatchException.java +++ /dev/null @@ -1,7 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.exception; - -public class InvalidUrlMatchException extends Exception { - public InvalidUrlMatchException(String message) { - super(message); - } -} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EntityDescriptorService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EntityDescriptorService.java index 54fe65ddd..0d070d43d 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EntityDescriptorService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EntityDescriptorService.java @@ -6,7 +6,7 @@ import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException; import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException; -import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException; +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidPatternMatchException; import java.util.ConcurrentModificationException; import java.util.List; @@ -33,7 +33,7 @@ public interface EntityDescriptorService { * @throws EntityIdExistsException If any EntityDescriptor already exists with the same EntityId */ EntityDescriptorRepresentation createNew(EntityDescriptor ed) - throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException; + throws ForbiddenException, EntityIdExistsException, InvalidPatternMatchException; /** * @param edRepresentation Incoming representation to save @@ -42,7 +42,7 @@ EntityDescriptorRepresentation createNew(EntityDescriptor ed) * @throws EntityIdExistsException If the entity already exists */ EntityDescriptorRepresentation createNew(EntityDescriptorRepresentation edRepresentation) - throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException; + throws ForbiddenException, EntityIdExistsException, InvalidPatternMatchException; /** * Map from opensaml implementation of entity descriptor model to front-end data representation of entity descriptor @@ -99,10 +99,11 @@ EntityDescriptorRepresentation createNew(EntityDescriptorRepresentation edRepres * @throws ForbiddenException If the user is not permitted to perform the action * @throws EntityNotFoundException If the entity doesn't already exist in the database * @throws ConcurrentModificationException IF the entity is being modified in another session - * @throws InvalidUrlMatchException If the entity id or the ACS location urls don't match the supplied regex + * @throws InvalidPatternMatchException If the entity id or the ACS location urls don't match the supplied regex */ EntityDescriptorRepresentation update(EntityDescriptorRepresentation edRepresentation) - throws ForbiddenException, EntityNotFoundException, ConcurrentModificationException, InvalidUrlMatchException; + throws ForbiddenException, EntityNotFoundException, ConcurrentModificationException, + InvalidPatternMatchException; /** * Update an instance of entity descriptor with information from the front-end representation diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java index f6a979e2d..04b33bf76 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java @@ -5,7 +5,7 @@ import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException; import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException; import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException; -import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException; +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidPatternMatchException; import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects; import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository; import edu.internet2.tier.shibboleth.admin.ui.security.model.Group; @@ -73,13 +73,13 @@ public EntityDescriptor createDescriptorFromRepresentation(final EntityDescripto @Override public EntityDescriptorRepresentation createNew(EntityDescriptor ed) - throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException { + throws ForbiddenException, EntityIdExistsException, InvalidPatternMatchException { return createNew(createRepresentationFromDescriptor(ed)); } @Override public EntityDescriptorRepresentation createNew(EntityDescriptorRepresentation edRep) - throws ForbiddenException, EntityIdExistsException, InvalidUrlMatchException { + throws ForbiddenException, EntityIdExistsException, InvalidPatternMatchException { if (edRep.isServiceEnabled() && !userService.currentUserIsAdmin()) { throw new ForbiddenException("You do not have the permissions necessary to enable this service."); } @@ -368,7 +368,7 @@ public Map getRelyingPartyOverridesRepresentationFromAttributeLi @Override public EntityDescriptorRepresentation update(EntityDescriptorRepresentation edRep) - throws ForbiddenException, EntityNotFoundException, InvalidUrlMatchException { + throws ForbiddenException, EntityNotFoundException, InvalidPatternMatchException { EntityDescriptor existingEd = entityDescriptorRepository.findByResourceId(edRep.getId()); if (existingEd == null) { throw new EntityNotFoundException(String.format("The entity descriptor with entity id [%s] was not found for update.", edRep.getId())); @@ -397,17 +397,17 @@ public void updateDescriptorFromRepresentation(org.opensaml.saml.saml2.metadata. buildDescriptorFromRepresentation((EntityDescriptor) entityDescriptor, representation); } - private void validateEntityIdAndACSUrls(EntityDescriptorRepresentation edRep) throws InvalidUrlMatchException { + private void validateEntityIdAndACSUrls(EntityDescriptorRepresentation edRep) throws InvalidPatternMatchException { // Check the entity id first if (!groupService.doesStringMatchGroupPattern(edRep.getIdOfOwner(), edRep.getEntityId())) { - throw new InvalidUrlMatchException("EntityId is not a pattern match to the group"); + throw new InvalidPatternMatchException("EntityId is not a pattern match to the group"); } // Check the ACS locations if (edRep.getAssertionConsumerServices() != null && edRep.getAssertionConsumerServices().size() > 0) { for (AssertionConsumerServiceRepresentation acs : edRep.getAssertionConsumerServices()) { if (!groupService.doesStringMatchGroupPattern(edRep.getIdOfOwner(), acs.getLocationUrl())) { - throw new InvalidUrlMatchException( + throw new InvalidPatternMatchException( "ACS location [ " + acs.getLocationUrl() + " ] is not a pattern match to the group"); } } diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy index 717aeb155..5e514763b 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy @@ -11,7 +11,7 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRe import edu.internet2.tier.shibboleth.admin.ui.exception.EntityIdExistsException import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException import edu.internet2.tier.shibboleth.admin.ui.exception.ForbiddenException -import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidUrlMatchException +import edu.internet2.tier.shibboleth.admin.ui.exception.InvalidPatternMatchException import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository import edu.internet2.tier.shibboleth.admin.ui.security.model.Group @@ -24,35 +24,18 @@ import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceForTesting import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceImpl -import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService -import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorVersionService import edu.internet2.tier.shibboleth.admin.ui.service.EntityService import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityDescriptorServiceImpl -import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityServiceImpl import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator -import edu.internet2.tier.shibboleth.admin.ui.util.TestHelpers import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.util.EntityDescriptorConversionUtils -import groovy.json.JsonOutput -import groovy.json.JsonSlurper - -import org.skyscreamer.jsonassert.Customization -import org.skyscreamer.jsonassert.JSONAssert -import org.skyscreamer.jsonassert.JSONCompareMode -import org.skyscreamer.jsonassert.ValueMatcher -import org.skyscreamer.jsonassert.comparator.CustomComparator -import org.skyscreamer.jsonassert.comparator.JSONCompareUtil import org.springframework.beans.factory.annotation.Autowired -import org.springframework.beans.factory.support.RootBeanDefinition import org.springframework.boot.autoconfigure.domain.EntityScan import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Profile -import org.springframework.context.support.StaticApplicationContext import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.security.core.Authentication import org.springframework.security.core.context.SecurityContext @@ -65,17 +48,10 @@ import org.springframework.test.context.ContextConfiguration import org.springframework.test.web.servlet.setup.MockMvcBuilders import org.springframework.transaction.annotation.Transactional import org.springframework.web.client.RestTemplate -import org.springframework.web.servlet.config.annotation.EnableWebMvc -import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport -import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver import org.springframework.web.util.NestedServletException -import spock.lang.Ignore -import spock.lang.Shared import spock.lang.Specification import spock.lang.Subject -import java.time.LocalDateTime - import javax.persistence.EntityManager import static org.hamcrest.CoreMatchers.containsString @@ -341,7 +317,7 @@ class EntityDescriptorControllerTests extends Specification { mockMvc.perform(post('/api/EntityDescriptor').contentType(APPLICATION_JSON).content(edRepJson)) false } catch (NestedServletException expected) { - expected.getCause() instanceof InvalidUrlMatchException + expected.getCause() instanceof InvalidPatternMatchException } } From d9414983997e044021c2f7600305eecc1aaf993c Mon Sep 17 00:00:00 2001 From: chasegawa Date: Tue, 17 Aug 2021 21:28:44 -0700 Subject: [PATCH 018/138] SHIBUI-2024 slight refactoring (test cleanup) --- .../repository/GroupsRepositoryTests.groovy | 32 +++--- .../OwnershipRepositoryTests.groovy | 40 +++---- .../security/service/GroupServiceTests.groovy | 4 +- .../security/service/UserServiceTests.groovy | 104 ++++++++---------- 4 files changed, 80 insertions(+), 100 deletions(-) diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy index 1a23778da..aba53121e 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy @@ -1,23 +1,24 @@ package edu.internet2.tier.shibboleth.admin.ui.security.repository -import javax.persistence.EntityManager -import javax.transaction.Transactional - +import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration +import edu.internet2.tier.shibboleth.admin.ui.security.model.Group +import edu.internet2.tier.shibboleth.admin.ui.security.model.Ownership +import edu.internet2.tier.shibboleth.admin.ui.security.model.listener.GroupUpdatedEntityListener import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.domain.EntityScan import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest +import org.springframework.boot.test.context.TestConfiguration import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Profile +import org.springframework.dao.DataIntegrityViolationException import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.test.annotation.Rollback import org.springframework.test.context.ActiveProfiles import org.springframework.test.context.ContextConfiguration - -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.security.model.Group -import edu.internet2.tier.shibboleth.admin.ui.security.model.Ownership -import edu.internet2.tier.shibboleth.admin.ui.security.model.listener.GroupUpdatedEntityListener import spock.lang.Specification +import javax.transaction.Transactional + /** * Tests to validate the repo and model for groups * @author chasegawa @@ -26,7 +27,7 @@ import spock.lang.Specification @ContextConfiguration(classes=[InternationalizationConfiguration, LocalConfig]) @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") -@ActiveProfiles("test") +@ActiveProfiles(["test","gr-tests"]) class GroupsRepositoryTests extends Specification { @Autowired GroupsRepository groupsRepo @@ -95,8 +96,8 @@ class GroupsRepositoryTests extends Specification { it.resourceId = "g1" it } - def Group savedGroup = groupsRepo.saveAndFlush(group) - def Collection all = ownershipRepository.findAllByOwner(savedGroup) + Group savedGroup = groupsRepo.saveAndFlush(group) + Collection all = ownershipRepository.findAllByOwner(savedGroup) then: all.size() == 3 @@ -131,7 +132,7 @@ class GroupsRepositoryTests extends Specification { def gList = groupsRepo.findAll() gList.size() == 1 def groupFromDb = gList.get(0).asType(Group) - groupFromDb.equals(group) == true + groupFromDb.equals(group) // fetch checks groupsRepo.findByResourceId("not an id") == null @@ -158,7 +159,7 @@ class GroupsRepositoryTests extends Specification { then: // Missing non-nullable field (name) should thrown error - final def exception = thrown(org.springframework.dao.DataIntegrityViolationException) + final def exception = thrown(DataIntegrityViolationException) } @Rollback @@ -212,13 +213,14 @@ class GroupsRepositoryTests extends Specification { groupsRepo.findAll().size() == 0 when: - def nothingThere = groupsRepo.findByResourceId(null); + def nothingThere = groupsRepo.findByResourceId(null) then: nothingThere == null } - @org.springframework.boot.test.context.TestConfiguration + @TestConfiguration + @Profile("gr-tests") static class LocalConfig { @Bean GroupUpdatedEntityListener groupUpdatedEntityListener(OwnershipRepository repo) { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy index 229763c58..196dd29f4 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy @@ -83,7 +83,7 @@ class OwnershipRepositoryTests extends Specification { @Rollback def "test clearUsersGroups"() { when: "remove entries where the user is the owned object of a group" - repo.clearUsersGroups("aaa"); + repo.clearUsersGroups("aaa") def result = repo.findAllGroupsForUser("aaa") then: @@ -102,7 +102,7 @@ class OwnershipRepositoryTests extends Specification { } when: "remove entries where the user is the owned object of groups" - repo.clearUsersGroups("ccc"); + repo.clearUsersGroups("ccc") result = repo.findAllGroupsForUser("ccc") then: @@ -113,9 +113,8 @@ class OwnershipRepositoryTests extends Specification { def "test deleteEntriesForOwnedObject"() { when: "remove entries where the user is the owned object of a group" repo.deleteEntriesForOwnedObject(new Ownable() { - public String getObjectId() { return "aaa" } - - public OwnableType getOwnableType() { OwnableType.USER } + String getObjectId() { return "aaa" } + OwnableType getOwnableType() { OwnableType.USER } }) def result = repo.findAllGroupsForUser("aaa") @@ -136,10 +135,9 @@ class OwnershipRepositoryTests extends Specification { when: "remove entries where the user is the owned object of groups" repo.deleteEntriesForOwnedObject(new Ownable() { - public String getObjectId() { return "ccc" } - - public OwnableType getOwnableType() { OwnableType.USER } - }); + String getObjectId() { return "ccc" } + OwnableType getOwnableType() { OwnableType.USER } + }) result = repo.findAllGroupsForUser("ccc") then: @@ -153,9 +151,8 @@ class OwnershipRepositoryTests extends Specification { userIds.add("bbb") userIds.add("ccc") def result = repo.findUsersByOwner(new Owner() { - public String getOwnerId() { return "g1" } - - public OwnerType getOwnerType() { OwnerType.GROUP } + String getOwnerId() { return "g1" } + OwnerType getOwnerType() { OwnerType.GROUP } }) then: @@ -167,9 +164,8 @@ class OwnershipRepositoryTests extends Specification { when: result = repo.findUsersByOwner(new Owner() { - public String getOwnerId() { return "aaa" } - - public OwnerType getOwnerType() { return OwnerType.USER } + String getOwnerId() { return "aaa" } + OwnerType getOwnerType() { return OwnerType.USER } }) then: @@ -196,8 +192,8 @@ class OwnershipRepositoryTests extends Specification { groupIds.add("g1") groupIds.add("g2") def result = repo.findOwnableObjectOwners(new Ownable() { - public String getObjectId() { return "ccc" } - public OwnableType getOwnableType() { return OwnableType.USER } + String getObjectId() { return "ccc" } + OwnableType getOwnableType() { return OwnableType.USER } }) then: @@ -242,9 +238,8 @@ class OwnershipRepositoryTests extends Specification { userIds.add("bbb") userIds.add("ccc") def result = repo.findAllByOwner(new Owner() { - public String getOwnerId() { return "g1" } - - public OwnerType getOwnerType() { return OwnerType.GROUP } + String getOwnerId() { return "g1" } + OwnerType getOwnerType() { return OwnerType.GROUP } }) then: @@ -256,9 +251,8 @@ class OwnershipRepositoryTests extends Specification { when: "Find all items owned by user aaa" result = repo.findAllByOwner(new Owner() { - public String getOwnerId() { return "aaa" } - - public OwnerType getOwnerType() { return OwnerType.USER } + String getOwnerId() { return "aaa" } + OwnerType getOwnerType() { return OwnerType.USER } }) then: diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy index 7673a907a..eb742ddf2 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy @@ -34,7 +34,7 @@ import spock.lang.Specification @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") @DirtiesContext -@ActiveProfiles(["local"]) +@ActiveProfiles(["gs-test"]) class GroupServiceTests extends Specification { @Autowired GroupServiceForTesting groupService @@ -126,7 +126,7 @@ class GroupServiceTests extends Specification { } @TestConfiguration - @Profile("local") + @Profile("gs-test") static class LocalConfig { @Bean GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy index 2ef663fbc..732743430 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy @@ -1,61 +1,45 @@ package edu.internet2.tier.shibboleth.admin.ui.security.service -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter - -import javax.persistence.EntityManager - -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.test.context.TestConfiguration -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.ComponentScan -import org.springframework.context.annotation.Profile -import org.springframework.context.annotation.PropertySource -import org.springframework.data.jpa.repository.config.EnableJpaRepositories -import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder -import org.springframework.security.test.context.support.WithMockUser -import org.springframework.test.annotation.DirtiesContext -import org.springframework.test.annotation.Rollback -import org.springframework.test.context.ActiveProfiles -import org.springframework.test.context.ContextConfiguration -import org.springframework.transaction.annotation.Transactional - import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.SerializationFeature import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer - -import edu.internet2.tier.shibboleth.admin.ui.ShibbolethUiApplication import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration -import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation import edu.internet2.tier.shibboleth.admin.ui.security.model.Group -import edu.internet2.tier.shibboleth.admin.ui.security.model.OwnerType import edu.internet2.tier.shibboleth.admin.ui.security.model.Ownership import edu.internet2.tier.shibboleth.admin.ui.security.model.Role import edu.internet2.tier.shibboleth.admin.ui.security.model.User -import edu.internet2.tier.shibboleth.admin.ui.security.model.listener.GroupUpdatedEntityListener -import edu.internet2.tier.shibboleth.admin.ui.security.model.listener.UserUpdatedEntityListener import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository -import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService -import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.autoconfigure.domain.EntityScan +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest +import org.springframework.boot.test.context.TestConfiguration +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.ComponentScan +import org.springframework.context.annotation.Profile +import org.springframework.data.jpa.repository.config.EnableJpaRepositories +import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder +import org.springframework.test.annotation.DirtiesContext +import org.springframework.test.annotation.Rollback +import org.springframework.test.context.ActiveProfiles +import org.springframework.test.context.ContextConfiguration +import org.springframework.transaction.annotation.Transactional import spock.lang.Specification +import javax.persistence.EntityManager +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter + @DataJpaTest @ContextConfiguration(classes=[CoreShibUiConfiguration, CustomPropertiesConfiguration, LocalConfig]) @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") @DirtiesContext -@ActiveProfiles(["test", "local"]) +@ActiveProfiles(["test", "us-test"]) @ComponentScan(basePackages="{ edu.internet2.tier.shibboleth.admin.ui.configuration }") class UserServiceTests extends Specification { @@ -106,17 +90,17 @@ class UserServiceTests extends Specification { @Rollback def "When creating user, user is set to the correct group"() { given: - Group gb = new Group(); + Group gb = new Group() gb.setResourceId("testingGroupBBB") gb.setName("Group BBB") gb = groupService.createGroup(gb) Optional userRole = roleRepository.findByName("ROLE_USER") - def User user = new User(username: "someUser", roles:[userRole.get()], password: "foo") + User user = new User(username: "someUser", roles:[userRole.get()], password: "foo") user.setGroup(gb) when: - def User result = userService.save(user) + User result = userService.save(user) then: result.groupId == "testingGroupBBB" @@ -124,12 +108,12 @@ class UserServiceTests extends Specification { result.userGroups.size() == 1 // Raw check that the DB is correct for ownership - def Set users = ownershipRepository.findUsersByOwner(gb) + Set users = ownershipRepository.findUsersByOwner(gb) users.size() == 1 - users.getAt(0).ownedId == "someUser" + users[0].ownedId == "someUser" // Validate that loading the group has the correct list as well - Group g = groupService.find("testingGroupBBB"); + Group g = groupService.find("testingGroupBBB") g.ownedItems.size() == 1 } @@ -141,19 +125,19 @@ class UserServiceTests extends Specification { ga.setName("Group A") ga = groupService.createGroup(ga) - Group gb = new Group(); + Group gb = new Group() gb.setResourceId("testingGroupBBB") gb.setName("Group BBB") gb = groupService.createGroup(gb) Optional userRole = roleRepository.findByName("ROLE_USER") - def User user = new User(username: "someUser", roles:[userRole.get()], password: "foo") + User user = new User(username: "someUser", roles:[userRole.get()], password: "foo") user.setGroup(gb) - def User userInB = userService.save(user) + User userInB = userService.save(user) when: userInB.setGroupId("testingGroup") // changing groups will happen by updating the user's groupid (from the ui) - def User result = userService.save(userInB) + User result = userService.save(userInB) then: result.groupId == "testingGroup" @@ -161,19 +145,19 @@ class UserServiceTests extends Specification { result.userGroups.size() == 1 // Raw check that the DB is correct for ownership - def Set users = ownershipRepository.findUsersByOwner(ga) + Set users = ownershipRepository.findUsersByOwner(ga) users.size() == 1 - users.getAt(0).ownedId == "someUser" + users[0].ownedId == "someUser" // check db is correct for the previous group as well - def Set users2 = ownershipRepository.findUsersByOwner(gb) + Set users2 = ownershipRepository.findUsersByOwner(gb) users2.size() == 0 // Validate that loading the group has the correct list as well - Group g = groupService.find("testingGroup"); + Group g = groupService.find("testingGroup") g.ownedItems.size() == 1 - Group g2 = groupService.find("testingGroupBBB"); + Group g2 = groupService.find("testingGroupBBB") g2.ownedItems.size() == 0 } @@ -186,16 +170,16 @@ class UserServiceTests extends Specification { ga = groupService.createGroup(ga) Optional userRole = roleRepository.findByName("ROLE_USER") - def User user = new User(username: "someUser", firstName: "Fred", lastName: "Flintstone", roles:[userRole.get()], password: "foo") + User user = new User(username: "someUser", firstName: "Fred", lastName: "Flintstone", roles:[userRole.get()], password: "foo") user.setGroup(ga) userService.save(user) when: - def User flintstoneUser = userRepository.findByUsername("someUser").get() + User flintstoneUser = userRepository.findByUsername("someUser").get() flintstoneUser.setFirstName("Wilma") flintstoneUser.setGroupId("testingGroup") - def User result = userService.save(flintstoneUser) + User result = userService.save(flintstoneUser) then: result.groupId == "testingGroup" @@ -212,7 +196,7 @@ class UserServiceTests extends Specification { ga.setName("Group A") ga = groupService.createGroup(ga) - Group gb = new Group(); + Group gb = new Group() gb.setResourceId("testingGroupBBB") gb.setName("Group BBB") gb = groupService.createGroup(gb) @@ -237,16 +221,16 @@ class UserServiceTests extends Specification { result.userGroups.size() == 2 // Raw check that the DB is correct for ownership - def Set users = ownershipRepository.findUsersByOwner(ga) + Set users = ownershipRepository.findUsersByOwner(ga) users.size() == 1 - users.getAt(0).ownedId == "someUser" + users[0].ownedId == "someUser" - def Set users2 = ownershipRepository.findUsersByOwner(gb) + Set users2 = ownershipRepository.findUsersByOwner(gb) users2.size() == 1 - users2.getAt(0).ownedId == "someUser" + users2[0].ownedId == "someUser" when: - def userFromDb = userRepository.findById(result.id).get(); + def userFromDb = userRepository.findById(result.id).get() then: userFromDb.getUserGroups().size() == 2 @@ -259,7 +243,7 @@ class UserServiceTests extends Specification { } @TestConfiguration - @Profile("local") + @Profile("us-test") static class LocalConfig { @Bean GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { From 130dd66dc6b50580e7c6a905f1db408cd34fb1d0 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Wed, 18 Aug 2021 10:29:55 -0700 Subject: [PATCH 019/138] SHIBUI-2024 slight refactoring (test cleanup) --- .../ui/controller/EntityDescriptorControllerTests.groovy | 6 ++++-- .../admin/ui/security/service/GroupServiceTests.groovy | 2 ++ .../admin/ui/security/service/UserServiceTests.groovy | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy index 5e514763b..74ce22376 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy @@ -35,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.domain.EntityScan import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Primary import org.springframework.context.annotation.Profile import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.security.core.Authentication @@ -64,7 +65,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") @DirtiesContext -@ActiveProfiles(["local"]) +@ActiveProfiles(["edc-test"]) class EntityDescriptorControllerTests extends Specification { @Autowired EntityDescriptorRepository entityDescriptorRepository @@ -796,9 +797,10 @@ class EntityDescriptorControllerTests extends Specification { } @org.springframework.boot.test.context.TestConfiguration - @Profile(value = "local") + @Profile(value = "edc-test") static class LocalConfig { @Bean + @Primary GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { GroupServiceForTesting result = new GroupServiceForTesting(new GroupServiceImpl().with { it.groupRepository = repo diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy index eb742ddf2..a1a15cb56 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy @@ -18,6 +18,7 @@ import org.springframework.boot.autoconfigure.domain.EntityScan import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest import org.springframework.boot.test.context.TestConfiguration import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Primary import org.springframework.context.annotation.Profile import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.test.annotation.DirtiesContext @@ -129,6 +130,7 @@ class GroupServiceTests extends Specification { @Profile("gs-test") static class LocalConfig { @Bean + @Primary GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { GroupServiceForTesting result = new GroupServiceForTesting(new GroupServiceImpl().with { it.groupRepository = repo diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy index 732743430..f19049486 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy @@ -20,6 +20,7 @@ import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest import org.springframework.boot.test.context.TestConfiguration import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan +import org.springframework.context.annotation.Primary import org.springframework.context.annotation.Profile import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder @@ -246,6 +247,7 @@ class UserServiceTests extends Specification { @Profile("us-test") static class LocalConfig { @Bean + @Primary GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { GroupServiceForTesting result = new GroupServiceForTesting(new GroupServiceImpl().with { it.groupRepository = repo From feb6e5300f7aeb6c79a18fae9c1080d86d3dcaea Mon Sep 17 00:00:00 2001 From: chasegawa Date: Wed, 18 Aug 2021 12:38:37 -0700 Subject: [PATCH 020/138] SHIBUI-2024 fixing issue with test when there is no owner of an entity id --- ...escriptorControllerVersionEndpointsIntegrationTests.groovy | 2 +- .../admin/ui/service/JPAEntityDescriptorServiceImpl.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerVersionEndpointsIntegrationTests.groovy b/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerVersionEndpointsIntegrationTests.groovy index a8d5a68ab..802002fde 100644 --- a/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerVersionEndpointsIntegrationTests.groovy +++ b/backend/src/enversTest/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerVersionEndpointsIntegrationTests.groovy @@ -165,4 +165,4 @@ class EntityDescriptorControllerVersionEndpointsIntegrationTests extends Specifi private static resourceUriFor(String uriTemplate, String resourceId) { String.format(uriTemplate, resourceId) } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java index 04b33bf76..86ab2839d 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java @@ -16,6 +16,7 @@ import edu.internet2.tier.shibboleth.admin.util.MDDCConstants; import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -376,6 +377,9 @@ public EntityDescriptorRepresentation update(EntityDescriptorRepresentation edRe if (edRep.isServiceEnabled() && !userService.currentUserIsAdmin()) { throw new ForbiddenException("You do not have the permissions necessary to enable this service."); } + if (StringUtils.isEmpty(edRep.getIdOfOwner())) { + edRep.setIdOfOwner(StringUtils.isNotEmpty(existingEd.getIdOfOwner()) ? existingEd.getIdOfOwner() : userService.getCurrentUserGroup().getOwnerId()); + } if (!userService.isAuthorizedFor(existingEd)) { throw new ForbiddenException(); } From 347bbdf3050e95ced9e9a00a153e8ae254e98c3c Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Wed, 18 Aug 2021 14:25:26 -0700 Subject: [PATCH 021/138] Added field to group form --- .../src/main/resources/i18n/messages.properties | 3 +++ ui/public/assets/schema/groups/group.json | 5 +++++ ui/src/app/admin/component/GroupForm.js | 4 +++- ui/src/app/admin/hooks.js | 16 ++++++++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/backend/src/main/resources/i18n/messages.properties b/backend/src/main/resources/i18n/messages.properties index 9789f7299..261600110 100644 --- a/backend/src/main/resources/i18n/messages.properties +++ b/backend/src/main/resources/i18n/messages.properties @@ -489,6 +489,9 @@ label.by=By label.source=Metadata Source label.provider=Metadata Provider +label.url-validation-regex=URL validation regular expression +tooltip.url-validation-regex=URL validation regular expression + message.user-role-admin-group=Cannot change group for ROLE_ADMIN users. message.delete-user-title=Delete User? diff --git a/ui/public/assets/schema/groups/group.json b/ui/public/assets/schema/groups/group.json index 02bcb2dea..518293851 100644 --- a/ui/public/assets/schema/groups/group.json +++ b/ui/public/assets/schema/groups/group.json @@ -17,6 +17,11 @@ "type": "string", "minLength": 1, "maxLength": 255 + }, + "validationRegex": { + "title": "label.url-validation-regex", + "description": "tooltip.url-validation-regex", + "type": "string" } } } \ No newline at end of file diff --git a/ui/src/app/admin/component/GroupForm.js b/ui/src/app/admin/component/GroupForm.js index da8c5af8b..77ec82135 100644 --- a/ui/src/app/admin/component/GroupForm.js +++ b/ui/src/app/admin/component/GroupForm.js @@ -5,7 +5,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faSpinner, faSave } from '@fortawesome/free-solid-svg-icons'; import Translate from '../../i18n/components/translate'; -import { useGroupUiSchema } from '../hooks'; +import { useGroupUiSchema, useGroupUiValidator } from '../hooks'; import { fields, widgets } from '../../form/component'; import { templates } from '../../form/component'; import { FormContext, setFormDataAction, setFormErrorAction } from '../../form/FormManager'; @@ -23,6 +23,7 @@ export function GroupForm ({group = {}, errors = [], loading = false, schema, on }; const uiSchema = useGroupUiSchema(); + const validator = useGroupUiValidator(); return (<>

@@ -49,6 +50,7 @@ export function GroupForm ({group = {}, errors = [], loading = false, schema, on
onChange(form)} + validate={validator} schema={schema} uiSchema={uiSchema} FieldTemplate={templates.FieldTemplate} diff --git a/ui/src/app/admin/hooks.js b/ui/src/app/admin/hooks.js index 28aef201a..483f1edeb 100644 --- a/ui/src/app/admin/hooks.js +++ b/ui/src/app/admin/hooks.js @@ -1,4 +1,6 @@ import useFetch from 'use-http'; +import isNil from 'lodash/isNil'; +import {isValidRegex} from '../core/utility/is_valid_regex'; import API_BASE_PATH from '../App.constant'; export function useGroups (opts = { cachePolicy: 'no-cache' }) { @@ -17,4 +19,18 @@ export function useGroupUiSchema () { 'ui:widget': 'textarea' } }; +} + +export function useGroupUiValidator() { + console.log('hi') + return (formData, errors) => { + console.log(formData, errors) + if (!isNil(formData?.validationRegex)) { + const isValid = isValidRegex(formData.validationRegex); + if (!isValid) { + errors.validationRegex.addError('message.invalid-regex-pattern'); + } + } + return errors; + } } \ No newline at end of file From 198b1314e044dcc10e02004fa908e68f7a7240a8 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Thu, 19 Aug 2021 08:55:56 -0700 Subject: [PATCH 022/138] NOJIRA Including the group detail in the json for users --- .../tier/shibboleth/admin/ui/security/model/User.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java index cb769c662..30bc67d14 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java @@ -82,7 +82,6 @@ public class User extends AbstractAuditable implements Owner, Ownable { * @return the initial implementation, while supporting a user having multiple groups in the db side, acts as if the * user can only belong to a single group */ - @JsonIgnore public Group getGroup() { return getUserGroups().isEmpty() ? null : (Group) userGroups.toArray()[0]; } @@ -145,4 +144,4 @@ public void setGroups(Set groups) { public void registerLoader(ILazyLoaderHelper lazyLoaderHelper) { this.lazyLoaderHelper = lazyLoaderHelper; } -} +} \ No newline at end of file From f9ff3e351353b4ffd8d3c1c00d6d89b223733376 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Thu, 19 Aug 2021 09:30:44 -0700 Subject: [PATCH 023/138] NOJIRA Including the group detail in the json for users --- .../tier/shibboleth/admin/ui/security/model/User.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java index 30bc67d14..1ab25f4ac 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/User.java @@ -130,7 +130,8 @@ public Set getUserGroups() { } return userGroups; } - + + @JsonIgnore public void setGroup(Group g) { groupId = g.getResourceId(); userGroups.clear(); From 0294ca34286cf3dcba7ead1570ad51bb3015a8eb Mon Sep 17 00:00:00 2001 From: chasegawa Date: Thu, 19 Aug 2021 13:17:49 -0700 Subject: [PATCH 024/138] SHIBUI-2024 Including the entity targets for name and id filter --- .../controller/MetadataFiltersController.java | 9 ++- .../filters/EntityAttributesFilter.java | 73 ++++++++----------- .../filters/EntityAttributesFilterTarget.java | 27 ++++--- .../ui/domain/filters/IFilterTarget.java | 13 ++++ .../admin/ui/domain/filters/ITargetable.java | 5 ++ .../ui/domain/filters/NameIdFormatFilter.java | 26 +++---- .../filters/NameIdFormatFilterTarget.java | 32 ++++---- .../MetadataFiltersControllerTests.groovy | 58 +++++++++++++-- .../admin/ui/util/TestObjectGenerator.groovy | 4 +- 9 files changed, 158 insertions(+), 89 deletions(-) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/IFilterTarget.java create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/ITargetable.java diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java index 7f48faa1a..07d45a6f1 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersController.java @@ -1,6 +1,7 @@ package edu.internet2.tier.shibboleth.admin.ui.controller; import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter; +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.ITargetable; import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter; import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver; import edu.internet2.tier.shibboleth.admin.ui.repository.FilterRepository; @@ -234,10 +235,10 @@ public ResponseEntity update(@PathVariable String metadataResolverId, * IF the filter is of type "EntityAttributes" AND the target is "ENTITY" THEN check each of the values (which are entityIds) */ private void validateFilterOrThrowHttp400(MetadataFilter createdFilter) { - if ("EntityAttributes".equals(createdFilter.getType())) { - EntityAttributesFilter filter = (EntityAttributesFilter) createdFilter; - if ("ENTITY".equals(filter.getEntityAttributesFilterTarget().getEntityAttributesFilterTargetType())) { - for (String entityId : filter.getEntityAttributesFilterTarget().getValue()) { + if (createdFilter instanceof ITargetable){ + ITargetable filter = (ITargetable) createdFilter; + if ("ENTITY".equals(filter.getTarget().getTargetTypeValue())) { + for (String entityId : filter.getTarget().getValue()) { if (!groupService.doesStringMatchGroupPattern(userService.getCurrentUser().getGroupId(), entityId)) { throw HTTP_400_BAD_REQUEST_EXCEPTION.get(); } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java index 7643f483d..c267d4204 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java @@ -8,44 +8,23 @@ import lombok.ToString; import org.hibernate.envers.Audited; -import javax.persistence.CascadeType; -import javax.persistence.CollectionTable; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.JoinColumn; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.OrderColumn; -import javax.persistence.PostLoad; -import javax.persistence.Transient; +import javax.persistence.*; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.Set; -import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.getAttributeListFromAttributeReleaseList; -import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.getAttributeListFromRelyingPartyOverridesRepresentation; -import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.getAttributeReleaseListFromAttributeList; -import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.getRelyingPartyOverridesRepresentationFromAttributeList; +import static edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions.*; @Entity -@EqualsAndHashCode(callSuper = true, exclude={"attributeRelease", "relyingPartyOverrides"}) +@EqualsAndHashCode(callSuper = true, exclude = { "attributeRelease", "relyingPartyOverrides" }) @Getter @Setter @ToString @Audited -public class EntityAttributesFilter extends MetadataFilter { +public class EntityAttributesFilter extends MetadataFilter implements ITargetable { private static final long serialVersionUID = 1L; - public EntityAttributesFilter() { - type = "EntityAttributes"; - } - - @OneToOne(cascade = CascadeType.ALL) - private EntityAttributesFilterTarget entityAttributesFilterTarget; - @OneToMany(cascade = CascadeType.ALL) @OrderColumn @JsonIgnore @@ -53,25 +32,21 @@ public EntityAttributesFilter() { @Transient private List attributeRelease = new ArrayList<>(); - - public void setAttributeRelease(List attributeRelease) { - this.attributeRelease = attributeRelease; - this.rebuildAttributes(); - } + + @OneToOne(cascade = CascadeType.ALL) + private EntityAttributesFilterTarget entityAttributesFilterTarget; @Transient private Map relyingPartyOverrides; - public void setRelyingPartyOverrides(Map relyingPartyOverridesRepresentation) { - this.relyingPartyOverrides = relyingPartyOverridesRepresentation; - this.rebuildAttributes(); + public EntityAttributesFilter() { + type = "EntityAttributes"; } - //TODO: yeah, I'm not too happy, either - private void rebuildAttributes() { - this.attributes.clear(); - this.attributes.addAll((List) (List)getAttributeListFromAttributeReleaseList(this.attributeRelease)); - this.attributes.addAll((List) (List)getAttributeListFromRelyingPartyOverridesRepresentation(this.relyingPartyOverrides)); + @Override + @JsonIgnore + public IFilterTarget getTarget() { + return entityAttributesFilterTarget; } @PostLoad @@ -82,6 +57,23 @@ public void intoTransientRepresentation() { this.relyingPartyOverrides = getRelyingPartyOverridesRepresentationFromAttributeList(this.attributes); } + //TODO: yeah, I'm not too happy, either + private void rebuildAttributes() { + this.attributes.clear(); + this.attributes.addAll((List) (List) getAttributeListFromAttributeReleaseList(this.attributeRelease)); + this.attributes.addAll((List) (List) getAttributeListFromRelyingPartyOverridesRepresentation(this.relyingPartyOverrides)); + } + + public void setAttributeRelease(List attributeRelease) { + this.attributeRelease = attributeRelease; + this.rebuildAttributes(); + } + + public void setRelyingPartyOverrides(Map relyingPartyOverridesRepresentation) { + this.relyingPartyOverrides = relyingPartyOverridesRepresentation; + this.rebuildAttributes(); + } + private EntityAttributesFilter updateConcreteFilterTypeData(EntityAttributesFilter filterToBeUpdated) { filterToBeUpdated.setEntityAttributesFilterTarget(getEntityAttributesFilterTarget()); filterToBeUpdated.setRelyingPartyOverrides(getRelyingPartyOverrides()); @@ -89,8 +81,7 @@ private EntityAttributesFilter updateConcreteFilterTypeData(EntityAttributesFilt return filterToBeUpdated; } - @Override - public MetadataFilter updateConcreteFilterTypeData(MetadataFilter filterToBeUpdated) { + @Override public MetadataFilter updateConcreteFilterTypeData(MetadataFilter filterToBeUpdated) { return updateConcreteFilterTypeData((EntityAttributesFilter) filterToBeUpdated); } -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilterTarget.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilterTarget.java index 0a0da096f..8d9247074 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilterTarget.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilterTarget.java @@ -1,15 +1,13 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.filters; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import edu.internet2.tier.shibboleth.admin.ui.domain.AbstractAuditable; import lombok.EqualsAndHashCode; import org.hibernate.envers.AuditOverride; import org.hibernate.envers.Audited; -import javax.persistence.Column; -import javax.persistence.ElementCollection; -import javax.persistence.Entity; -import javax.persistence.OrderColumn; +import javax.persistence.*; import java.util.ArrayList; import java.util.List; @@ -18,10 +16,7 @@ @Audited @AuditOverride(forClass = AbstractAuditable.class) @JsonIgnoreProperties({"handler", "hibernateLazyInitializer"}) -public class EntityAttributesFilterTarget extends AbstractAuditable { - public enum EntityAttributesFilterTargetType { - ENTITY, CONDITION_SCRIPT, CONDITION_REF, REGEX - } +public class EntityAttributesFilterTarget extends AbstractAuditable implements IFilterTarget { private EntityAttributesFilterTargetType entityAttributesFilterTargetType; @@ -34,14 +29,20 @@ public EntityAttributesFilterTargetType getEntityAttributesFilterTargetType() { return entityAttributesFilterTargetType; } - public void setEntityAttributesFilterTargetType(EntityAttributesFilterTargetType entityAttributesFilterTarget) { - this.entityAttributesFilterTargetType = entityAttributesFilterTarget; + @Override + @JsonIgnore + public String getTargetTypeValue() { + return entityAttributesFilterTargetType.name(); } public List getValue() { return value; } + public void setEntityAttributesFilterTargetType(EntityAttributesFilterTargetType entityAttributesFilterTarget) { + this.entityAttributesFilterTargetType = entityAttributesFilterTarget; + } + public void setSingleValue(String value) { List values = new ArrayList<>(); values.add(value); @@ -59,4 +60,8 @@ public String toString() { ", value=" + value + '}'; } -} + + public enum EntityAttributesFilterTargetType { + ENTITY, CONDITION_SCRIPT, CONDITION_REF, REGEX + } +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/IFilterTarget.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/IFilterTarget.java new file mode 100644 index 000000000..d0a2683b1 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/IFilterTarget.java @@ -0,0 +1,13 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.filters; + +import java.util.List; + +public interface IFilterTarget { + String getTargetTypeValue(); + + List getValue(); + + void setSingleValue(String value); + + void setValue(List value); +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/ITargetable.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/ITargetable.java new file mode 100644 index 000000000..c46ff1c7f --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/ITargetable.java @@ -0,0 +1,5 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.filters; + +public interface ITargetable { + public IFilterTarget getTarget(); +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilter.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilter.java index 47bb0810b..efd814375 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilter.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilter.java @@ -1,19 +1,14 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.filters; -import java.util.List; - -import javax.persistence.CascadeType; -import javax.persistence.ElementCollection; -import javax.persistence.Entity; -import javax.persistence.OneToOne; -import javax.persistence.OrderColumn; - -import org.hibernate.envers.Audited; - +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; import lombok.ToString; +import org.hibernate.envers.Audited; + +import javax.persistence.*; +import java.util.List; @Entity @EqualsAndHashCode(callSuper = true) @@ -21,7 +16,7 @@ @Setter @ToString @Audited -public class NameIdFormatFilter extends MetadataFilter { +public class NameIdFormatFilter extends MetadataFilter implements ITargetable { public NameIdFormatFilter() { type = "NameIDFormat"; @@ -36,6 +31,12 @@ public NameIdFormatFilter() { @OneToOne(cascade = CascadeType.ALL) private NameIdFormatFilterTarget nameIdFormatFilterTarget; + @Override + @JsonIgnore + public IFilterTarget getTarget() { + return nameIdFormatFilterTarget; + } + private NameIdFormatFilter updateConcreteFilterTypeData(NameIdFormatFilter filterToBeUpdated) { filterToBeUpdated.setRemoveExistingFormats(getRemoveExistingFormats()); filterToBeUpdated.setFormats(getFormats()); @@ -47,5 +48,4 @@ private NameIdFormatFilter updateConcreteFilterTypeData(NameIdFormatFilter filte public MetadataFilter updateConcreteFilterTypeData(MetadataFilter filterToBeUpdated) { return updateConcreteFilterTypeData((NameIdFormatFilter) filterToBeUpdated); } - -} +} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilterTarget.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilterTarget.java index eef906500..90445ff75 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilterTarget.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/NameIdFormatFilterTarget.java @@ -1,5 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.filters; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import edu.internet2.tier.shibboleth.admin.ui.domain.AbstractAuditable; import lombok.EqualsAndHashCode; @@ -10,6 +11,7 @@ import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.OrderColumn; +import javax.persistence.Transient; import java.util.ArrayList; import java.util.List; @@ -19,30 +21,32 @@ @Audited @AuditOverride(forClass = AbstractAuditable.class) @JsonIgnoreProperties({"handler", "hibernateLazyInitializer"}) -public class NameIdFormatFilterTarget extends AbstractAuditable { - - public enum NameIdFormatFilterTargetType { - ENTITY, CONDITION_SCRIPT, REGEX - } +public class NameIdFormatFilterTarget extends AbstractAuditable implements IFilterTarget { private NameIdFormatFilterTargetType nameIdFormatFilterTargetType; + @ElementCollection + @OrderColumn + private List value; + public NameIdFormatFilterTargetType getNameIdFormatFilterTargetType() { return nameIdFormatFilterTargetType; } - public void setNameIdFormatFilterTargetType(NameIdFormatFilterTargetType nameIdFormatFilterTargetType) { - this.nameIdFormatFilterTargetType = nameIdFormatFilterTargetType; + @Override + @JsonIgnore + public String getTargetTypeValue() { + return nameIdFormatFilterTargetType.name(); } - @ElementCollection - @OrderColumn - private List value; - public List getValue() { return value; } + public void setNameIdFormatFilterTargetType(NameIdFormatFilterTargetType nameIdFormatFilterTargetType) { + this.nameIdFormatFilterTargetType = nameIdFormatFilterTargetType; + } + public void setSingleValue(String value) { List values = new ArrayList<>(); values.add(value); @@ -53,5 +57,7 @@ public void setValue(List value) { this.value = value; } - -} + public enum NameIdFormatFilterTargetType { + ENTITY, CONDITION_SCRIPT, REGEX + } +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy index 280294aa1..d9fb504f8 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy @@ -13,6 +13,11 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlChainingMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.repository.FilterRepository import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository +import edu.internet2.tier.shibboleth.admin.ui.security.model.Role +import edu.internet2.tier.shibboleth.admin.ui.security.model.User +import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository +import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import edu.internet2.tier.shibboleth.admin.ui.service.FilterService import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverService import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator @@ -24,8 +29,10 @@ import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.domain.EntityScan import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest import org.springframework.data.jpa.repository.config.EnableJpaRepositories +import org.springframework.security.test.context.support.WithMockUser import org.springframework.test.context.ContextConfiguration import org.springframework.test.web.servlet.setup.MockMvcBuilders +import org.springframework.transaction.annotation.Transactional import org.w3c.dom.Document import spock.lang.Specification import spock.lang.Unroll @@ -53,6 +60,15 @@ class MetadataFiltersControllerTests extends Specification { @Autowired FilterService filterService + @Autowired + IGroupService groupService + + @Autowired + RoleRepository roleRepository + + @Autowired + UserService userService + TestObjectGenerator testObjectGenerator RandomGenerator randomGenerator ObjectMapper mapper @@ -67,7 +83,9 @@ class MetadataFiltersControllerTests extends Specification { static BASE_URI = '/api/MetadataResolvers' + @Transactional def setup() { + groupService.ensureAdminGroupExists() randomGenerator = new RandomGenerator() testObjectGenerator = new TestObjectGenerator(attributeUtility, customPropertiesConfiguration) mapper = new ObjectMapper() @@ -76,6 +94,8 @@ class MetadataFiltersControllerTests extends Specification { controller = new MetadataFiltersController ( repository: metadataResolverRepository, filterRepository: metadataFilterRepository, + groupService: groupService, + userService: userService, metadataResolverService: new MetadataResolverService() { @Override void reloadFilters(String metadataResolverName) { @@ -94,8 +114,33 @@ class MetadataFiltersControllerTests extends Specification { it } ) - mockMvc = MockMvcBuilders.standaloneSetup(controller).build() + + roleRepository.deleteAll() + roleRepository.flush() + if (roleRepository.count() == 0) { + def roles = [new Role().with { + name = 'ROLE_ADMIN' + it + }] + roles.each { + roleRepository.save(it) + } + } + roleRepository.flush() + + def users = [new User().with { + username = 'admin' + password = '{noop}adminpass' + firstName = 'Joe' + lastName = 'Doe' + emailAddress = 'joe@institution.edu' + roles.add(roleRepository.findByName('ROLE_ADMIN').get()) + it + }] + users.each { + it = userService.save(it) + } } def "FilterController.getAll gets all available types of filters"() { @@ -139,6 +184,7 @@ class MetadataFiltersControllerTests extends Specification { } @Unroll + @WithMockUser(value = "admin", roles = ["ADMIN"]) def "FilterController.create creates the desired filter (filterType: #filterType)"(String filterType) { given: def randomFilter = testObjectGenerator.buildRandomFilterOfType(filterType) @@ -161,10 +207,9 @@ class MetadataFiltersControllerTests extends Specification { def postedJsonBody = expectedJsonBody - ~/"id":.*?,/ // remove the "id:," when: - def result = mockMvc.perform( - post("$BASE_URI/foo/Filters") - .contentType(APPLICATION_JSON) - .content(postedJsonBody)) + def result = mockMvc.perform(post("$BASE_URI/foo/Filters") + .contentType(APPLICATION_JSON) + .content(postedJsonBody)) then: println postedJsonBody @@ -182,6 +227,7 @@ class MetadataFiltersControllerTests extends Specification { } @Unroll + @WithMockUser(value = "admin", roles = ["ADMIN"]) def "FilterController.update updates the target #filterType filter as desired"(String filterType) { given: def originalFilter = testObjectGenerator.buildRandomFilterOfType(filterType) @@ -251,4 +297,4 @@ class MetadataFiltersControllerTests extends Specification { then: result.andExpect(status().is(409)) } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/TestObjectGenerator.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/TestObjectGenerator.groovy index e28220cc6..677b159f9 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/TestObjectGenerator.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/TestObjectGenerator.groovy @@ -275,6 +275,7 @@ class TestObjectGenerator { it.setEntityAttributesFilterTarget(entityAttributesFilter.entityAttributesFilterTarget) it.setAttributes(entityAttributesFilter.attributes) it.intoTransientRepresentation() + it.setEntityAttributesFilterTarget(entityAttributesFilter.getEntityAttributesFilterTarget()) it } } @@ -285,6 +286,7 @@ class TestObjectGenerator { it.resourceId = nameIdFormatFilter.resourceId it.removeExistingFormats = nameIdFormatFilter.removeExistingFormats it.formats = nameIdFormatFilter.formats + it.setNameIdFormatFilterTarget(nameIdFormatFilter.getNameIdFormatFilterTarget()) it } } @@ -659,4 +661,4 @@ class TestObjectGenerator { } return list } -} +} \ No newline at end of file From 8cacc8830b4f683aa1049e7aef73c5dc1068145b Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Fri, 20 Aug 2021 12:01:19 -0700 Subject: [PATCH 025/138] Implemented regex validation --- .../main/resources/i18n/messages.properties | 2 + ui/src/app/admin/hooks.js | 2 - ui/src/app/admin/hooks.test.js | 9 +++++ ui/src/app/core/user/UserContext.js | 37 +++++++++++++++++-- .../component/fields/FilterTargetField.js | 35 +++++++++++++----- .../filter/definition/BaseFilterDefinition.js | 32 ++++++++++++++++ .../EntityAttributesFilterDefinition.js | 29 +-------------- .../definition/NameIdFilterDefinition.js | 30 +-------------- .../definition/BaseProviderDefinition.js | 2 +- .../DynamicHttpMetadataProviderDefinition.js | 13 ++++++- ...ileBackedHttpMetadataProviderDefinition.js | 16 ++++++++ .../source/definition/SourceDefinition.js | 16 +++++++- ui/src/app/metadata/editor/MetadataEditor.js | 4 +- .../app/metadata/editor/MetadataEditorForm.js | 10 ++++- .../metadata/editor/MetadataFilterEditor.js | 4 +- .../metadata/wizard/MetadataProviderWizard.js | 4 +- .../metadata/wizard/MetadataSourceWizard.js | 4 +- 17 files changed, 170 insertions(+), 79 deletions(-) create mode 100644 ui/src/app/admin/hooks.test.js diff --git a/backend/src/main/resources/i18n/messages.properties b/backend/src/main/resources/i18n/messages.properties index 261600110..a5cab3353 100644 --- a/backend/src/main/resources/i18n/messages.properties +++ b/backend/src/main/resources/i18n/messages.properties @@ -503,6 +503,8 @@ message.delete-group-body=You are requesting to delete a group. If you complete message.delete-attribute-title=Delete Attribute? message.delete-attribute-body=You are requesting to delete a custom attribute. If you complete this process the attribute will be removed. This cannot be undone. Do you wish to continue? +message.group-pattern-fail=Pattern must match group url validation pattern. + message.must-be-unique=Must be unique. message.must-be-number=Must be a number. message.name-must-be-unique=Name must be unique. diff --git a/ui/src/app/admin/hooks.js b/ui/src/app/admin/hooks.js index 483f1edeb..f0a768cdc 100644 --- a/ui/src/app/admin/hooks.js +++ b/ui/src/app/admin/hooks.js @@ -22,9 +22,7 @@ export function useGroupUiSchema () { } export function useGroupUiValidator() { - console.log('hi') return (formData, errors) => { - console.log(formData, errors) if (!isNil(formData?.validationRegex)) { const isValid = isValidRegex(formData.validationRegex); if (!isValid) { diff --git a/ui/src/app/admin/hooks.test.js b/ui/src/app/admin/hooks.test.js new file mode 100644 index 000000000..303540317 --- /dev/null +++ b/ui/src/app/admin/hooks.test.js @@ -0,0 +1,9 @@ +import { useGroupUiValidator } from './hooks'; + +it('should validate against a regex', () => { + const validator = useGroupUiValidator(); + const addErrorSpy = jest.fn(); + const fail = validator({ validationRegex: '))(()' }, { validationRegex: { addError: addErrorSpy } }); + expect(addErrorSpy).toHaveBeenCalled(); + expect(validator({validationRegex: '/*'})).toBeUndefined(); +}); \ No newline at end of file diff --git a/ui/src/app/core/user/UserContext.js b/ui/src/app/core/user/UserContext.js index d656ac4a4..064c1e65f 100644 --- a/ui/src/app/core/user/UserContext.js +++ b/ui/src/app/core/user/UserContext.js @@ -7,23 +7,33 @@ const UserContext = React.createContext(); const { Provider, Consumer } = UserContext; const path = '/admin/users/current'; +const group = { + "name": "ADMIN-GROUP", + "resourceId": "admingroup", + "validationRegex": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$", + "ownerType": "GROUP", + "ownerId": "admingroup" +}; /*eslint-disable react-hooks/exhaustive-deps*/ function UserProvider({ children }) { const { get, response } = useFetch(`${API_BASE_PATH}`, { - cacheLife: 10000, - cachePolicy: 'cache-first' + cachePolicy: 'no-cache' }); React.useEffect(() => { loadUser() }, []); async function loadUser() { const user = await get(`${path}`); - if (response.ok) setUser(user); + if (response.ok) setUser({ + ...user, + group + }); } const [user, setUser] = React.useState({}); + return ( {children} ); @@ -50,5 +60,24 @@ function useIsAdminOrInGroup() { return isAdmin || isInGroup; } +function useUserGroup() { + const user = useCurrentUser(); + return user?.group; +} + +function useUserGroupRegexValidator () { + const user = useCurrentUser(); + return user?.group?.validationRegex; +} + -export { UserContext, UserProvider, Consumer as UserConsumer, useCurrentUser, useIsAdmin, useIsAdminOrInGroup }; \ No newline at end of file +export { + UserContext, + UserProvider, + Consumer as UserConsumer, + useCurrentUser, + useIsAdmin, + useIsAdminOrInGroup, + useUserGroupRegexValidator, + useUserGroup +}; \ No newline at end of file diff --git a/ui/src/app/form/component/fields/FilterTargetField.js b/ui/src/app/form/component/fields/FilterTargetField.js index 959306b71..9aaf84b97 100644 --- a/ui/src/app/form/component/fields/FilterTargetField.js +++ b/ui/src/app/form/component/fields/FilterTargetField.js @@ -45,8 +45,13 @@ const FilterTargetField = ({ onChange, errorSchema, formData, + formContext, ...props }) => { + + const { group } = formContext; + const regex = new RegExp(group?.validationRegex || '/*'); + const typeFieldName = `${name}Type`; const type = schema.properties[typeFieldName]; @@ -59,6 +64,8 @@ const FilterTargetField = ({ const [selectedTarget, setSelectedTarget] = React.useState([...(formData.value && !isNil(formData.value) && !isNil(formData.value[0]) ? formData.value : [])]); const [term, setSearchTerm] = React.useState(''); + const [match, setMatch] = React.useState(true); + const [touched, setTouched] = React.useState(false); const [ids, setSearchIds] = React.useState([]); const { get, response } = useFetch(`${API_BASE_PATH}/EntityIds/search`, { @@ -113,6 +120,7 @@ const FilterTargetField = ({ const onEntityIdsChange = (value) => { setSearchTerm(value); + setMatch(regex ? regex.test(value) : true); }; const selectType = (option) => { @@ -172,19 +180,28 @@ const FilterTargetField = ({ onInputChange={onEntityIdsChange} selected={ [term] } onChange={ () => {} } + onBlur={() => setTouched(true)} onSearch={ (query) => setSearchTerm(query) } - renderMenuItemChildren={(option, { options, text }, index) => { - return {option}; - }}> + renderMenuItemChildren={(option, { options, text }, index) => + {option} + }> {({ isMenuShown, toggleMenu }) => ( toggleMenu()} disabled={disabled || readonly} /> )} - - - You must add at least one entity id target and they must each be unique. - - + {(!touched || match) ? + + + You must add at least one entity id target and they must each be unique. + + + : + + + Invalid URL + + + } } { targetType === 'CONDITION_SCRIPT' && @@ -232,7 +249,7 @@ const FilterTargetField = ({
+ + + } + + + } + +
+ +
+ } + + } + + ); +} \ No newline at end of file diff --git a/ui/src/app/metadata/view/MetadataAttributeBundles.js b/ui/src/app/metadata/view/MetadataAttributeBundles.js new file mode 100644 index 000000000..520080b41 --- /dev/null +++ b/ui/src/app/metadata/view/MetadataAttributeBundles.js @@ -0,0 +1,82 @@ +import React from 'react'; +import { faEdit, faPlusCircle, faTrash } from '@fortawesome/free-solid-svg-icons'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; + +import Button from 'react-bootstrap/Button'; +import { Link } from 'react-router-dom'; + +import { Translate } from '../../i18n/components/translate'; +import { useTranslator } from '../../i18n/hooks'; + +import { AttributeBundleApi } from '../hoc/attribute/AttributeBundleApi'; + +import { AttributeBundleList } from '../hoc/attribute/AttributeBundleList'; + +export function MetadataAttributeBundles({ entities, onDelete }) { + + const translator = useTranslator(); + + return ( + + {(load, find, create, update, remove, loading) => + + {(bundles) => +
+
+
+
+ + Attribute Bundles + +
+
+
+ +   + Add new bundle + +
+
+ + + + + + + + + {bundles.map((bundle, i) => + + + + + )} + +
+ Bundle Name + Actions
{bundle.name} + + + + Edit + + + +
+
+
+
+ +
+
+ } +
+ } +
+ ); +} \ No newline at end of file From 271727f743de02af409a0a193d4b8289bf953de7 Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Wed, 1 Sep 2021 10:21:32 -0700 Subject: [PATCH 041/138] Fixed test, updated icon --- ui/src/app/core/components/Header.js | 6 +++--- ui/src/app/core/components/Header.test.js | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ui/src/app/core/components/Header.js b/ui/src/app/core/components/Header.js index 0c925ac50..259903a31 100644 --- a/ui/src/app/core/components/Header.js +++ b/ui/src/app/core/components/Header.js @@ -8,7 +8,7 @@ import OverlayTrigger from 'react-bootstrap/OverlayTrigger'; import Tooltip from 'react-bootstrap/Tooltip'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faTh, faSignOutAlt, faPlusCircle, faCube, faCubes, faUsersCog, faUser, faSpinner, faUserCircle } from '@fortawesome/free-solid-svg-icons'; +import { faTh, faSignOutAlt, faPlusCircle, faCube, faCubes, faUsersCog, faUser, faSpinner, faUserCircle, faCog } from '@fortawesome/free-solid-svg-icons'; import Translate from '../../i18n/components/translate'; import { useTranslator } from '../../i18n/hooks'; @@ -67,7 +67,7 @@ export function Header () { {isAdmin && - + @@ -84,7 +84,7 @@ export function Header () { } - + diff --git a/ui/src/app/core/components/Header.test.js b/ui/src/app/core/components/Header.test.js index f154789b2..6b09a6b5c 100644 --- a/ui/src/app/core/components/Header.test.js +++ b/ui/src/app/core/components/Header.test.js @@ -9,14 +9,20 @@ jest.mock('../../i18n/hooks', () => ({ })); const mockIsAdmin = jest.fn(); +const mockCurrentUser = jest.fn(); +const mockCurrentUserLoading = jest.fn(); jest.mock('../user/UserContext', () => ({ - useIsAdmin: () => mockIsAdmin() + useIsAdmin: () => mockIsAdmin(), + useCurrentUser: () => mockCurrentUser(), + useCurrentUserLoading: () => mockCurrentUserLoading() })); describe('header for admins', () => { beforeEach(() => { mockIsAdmin.mockReturnValue(true); + mockCurrentUser.mockReturnValue({ username: 'foo', groupId: 'bar' }); + mockCurrentUserLoading.mockReturnValue(false); }); it('should display logo and navigation', () => { From 15605ecbd0eab298eb2dc278a798d16ecceac5c3 Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Wed, 1 Sep 2021 10:58:10 -0700 Subject: [PATCH 042/138] Fixed missing dep --- ui/src/app/core/components/Header.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/app/core/components/Header.js b/ui/src/app/core/components/Header.js index f0bb81c3e..803bb8483 100644 --- a/ui/src/app/core/components/Header.js +++ b/ui/src/app/core/components/Header.js @@ -7,7 +7,7 @@ import Dropdown from 'react-bootstrap/Dropdown'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faTh, faSignOutAlt, faPlusCircle, faCube, faCubes, faUsersCog, faSpinner, faSpinner, faUserCircle, faCog } from '@fortawesome/free-solid-svg-icons'; +import { faTh, faSignOutAlt, faPlusCircle, faCube, faCubes, faUsersCog, faSpinner, faUserCircle, faCog, faFileArchive } from '@fortawesome/free-solid-svg-icons'; import Translate from '../../i18n/components/translate'; import { useTranslator } from '../../i18n/hooks'; From c992e20852accce09a8b76a9a209d7b6f4721f1f Mon Sep 17 00:00:00 2001 From: chasegawa Date: Wed, 1 Sep 2021 11:25:37 -0700 Subject: [PATCH 043/138] SHIBUI-2051 test updates --- .../listener/UserUpdatedEntityListener.java | 8 +- .../JPAEntityDescriptorServiceImpl.java | 4 + ....groovy => AbstractBaseDataJpaTest.groovy} | 8 +- ...vy => BaseDataJpaTestConfiguration.groovy} | 14 ++- .../CustomPropertiesConfigurationTests.groovy | 35 +------ ...dataResolverValidationConfiguration.groovy | 22 +---- .../controller/EntitiesControllerTests.groovy | 97 +++---------------- .../EntityDescriptorControllerTests.groovy | 20 ++-- .../MetadataFiltersControllerTests.groovy | 40 +++----- ...ResolversControllerIntegrationTests.groovy | 38 +++++--- .../ui/domain/EntityDescriptorTest.groovy | 53 ++-------- ...ymorphicFiltersJacksonHandlingTests.groovy | 14 ++- ...orphicResolversJacksonHandlingTests.groovy | 4 +- ...cHttpMetadataResolverValidatorTests.groovy | 72 +------------- ...dHttpMetadataResolverValidatorTests.groovy | 82 +--------------- ...ValidationServiceConfigurationTests.groovy | 1 - ...yAttributeDefinitionRepositoryTests.groovy | 36 +++---- .../EntityDescriptorRepositoryTest.groovy | 4 +- .../repository/FilterRepositoryTests.groovy | 46 ++++----- .../MetadataResolverRepositoryTests.groovy | 25 +---- .../GroupsControllerIntegrationTests.groovy | 6 +- .../UsersControllerIntegrationTests.groovy | 45 +++++---- .../repository/GroupsRepositoryTests.groovy | 5 +- .../OwnershipRepositoryTests.groovy | 4 +- .../security/service/GroupServiceTests.groovy | 6 +- .../security/service/UserServiceTests.groovy | 26 +---- .../AdminUserServiceTests.groovy | 56 +++++++++-- ...JPAMetadataResolverServiceImplTests.groovy | 19 +--- ...JPAEntityDescriptorServiceImplTests.groovy | 19 ++-- ...PAEntityDescriptorServiceImplTests2.groovy | 5 +- .../service/JPAEntityServiceImplTests.groovy | 13 +-- .../service/JPAFilterServiceImplTests.groovy | 54 ++++++----- ...JPAMetadataResolverServiceImplTests.groovy | 23 ++--- ...taResolverConverterServiceImplTests.groovy | 5 +- ...ntityDescriptorConversionUtilsTests.groovy | 37 ++----- 35 files changed, 322 insertions(+), 624 deletions(-) rename backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/{BaseDataJpaTestSetup.groovy => AbstractBaseDataJpaTest.groovy} (92%) rename backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/{BaseDataJpaTestSetupConfiguration.groovy => BaseDataJpaTestConfiguration.groovy} (85%) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/UserUpdatedEntityListener.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/UserUpdatedEntityListener.java index dc2291db9..fcbcfa68f 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/UserUpdatedEntityListener.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/UserUpdatedEntityListener.java @@ -44,8 +44,12 @@ public void loadGroups(User user) { user.setLazyLoaderHelper(null); Set ownerships = ownershipRepository.findAllGroupsForUser(user.getUsername()); HashSet groups = new HashSet<>(); - ownerships.forEach(ownership -> { - groups.add(groupRepository.findByResourceId(ownership.getOwnerId())); + final boolean isAdmin = user.getRole().equals("ROLE_ADMIN"); + ownerships.stream().map(ownership -> groupRepository.findByResourceId(ownership.getOwnerId())).forEach(userGroup -> { + if (isAdmin) { + userGroup.setValidationRegex(null); + } + groups.add(userGroup); }); user.setGroups(groups); } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java index 86ab2839d..4fbdbe004 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java @@ -347,6 +347,10 @@ public List getAllRepresentationsBasedOnUserAcce @Override public List getAttributeReleaseListFromAttributeList(List attributeList) { + if (attributeList == null) { + return new ArrayList(); + } + attributeList.removeIf(Objects::isNull); return ModelRepresentationConversions.getAttributeReleaseListFromAttributeList(attributeList); } diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestSetup.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/AbstractBaseDataJpaTest.groovy similarity index 92% rename from backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestSetup.groovy rename to backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/AbstractBaseDataJpaTest.groovy index 29f42d82e..eed734ea1 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestSetup.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/AbstractBaseDataJpaTest.groovy @@ -16,10 +16,10 @@ import org.springframework.transaction.annotation.Transactional import spock.lang.Specification @DataJpaTest -@ContextConfiguration(classes = [BaseDataJpaTestSetupConfiguration]) +@ContextConfiguration(classes = [BaseDataJpaTestConfiguration]) @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") -abstract class BaseDataJpaTestSetup extends Specification { +abstract class AbstractBaseDataJpaTest extends Specification { @Autowired GroupServiceForTesting groupService @@ -62,6 +62,10 @@ abstract class BaseDataJpaTestSetup extends Specification { } } + createAdminUser() + } + + protected createAdminUser() { if (userRepository.findByUsername("admin").isEmpty()) { Optional adminRole = roleRepository.findByName("ROLE_ADMIN") User adminUser = new User(username: "admin", roles: [adminRole.get()], password: "foo") diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestSetupConfiguration.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestConfiguration.groovy similarity index 85% rename from backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestSetupConfiguration.groovy rename to backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestConfiguration.groovy index d8626a07a..c3657ef42 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestSetupConfiguration.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/BaseDataJpaTestConfiguration.groovy @@ -11,7 +11,7 @@ import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepos import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceForTesting import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceImpl import edu.internet2.tier.shibboleth.admin.util.AttributeUtility -import io.micrometer.core.instrument.search.Search +import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions import org.springframework.context.annotation.Bean import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration @@ -21,7 +21,7 @@ import org.springframework.context.annotation.Primary @Configuration @Import([ShibUIConfiguration.class, CustomPropertiesConfiguration.class, SearchConfiguration.class]) @ComponentScan(basePackages=[ "edu.internet2.tier.shibboleth.admin.ui.service", "edu.internet2.tier.shibboleth.admin.ui.security.service" ]) -class BaseDataJpaTestSetupConfiguration { +class BaseDataJpaTestConfiguration { @Bean AttributeUtility attributeUtility(OpenSamlObjects openSamlObjects) { return new AttributeUtility(openSamlObjects) @@ -47,8 +47,16 @@ class BaseDataJpaTestSetupConfiguration { } @Bean + ModelRepresentationConversions modelRepresentationConversions(CustomPropertiesConfiguration customPropertiesConfiguration) { + return new ModelRepresentationConversions(customPropertiesConfiguration) + } + + @Bean + @Primary OpenSamlObjects openSamlObjects() { - return new OpenSamlObjects() + OpenSamlObjects result = new OpenSamlObjects() + result.init() + return result } @Bean diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfigurationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfigurationTests.groovy index 74ecb9796..bcdc666de 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfigurationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfigurationTests.groovy @@ -1,51 +1,26 @@ package edu.internet2.tier.shibboleth.admin.ui.configuration -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.domain.CustomEntityAttributeDefinition -import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.repository.CustomEntityAttributeDefinitionRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository import edu.internet2.tier.shibboleth.admin.ui.service.CustomEntityAttributesDefinitionService -import edu.internet2.tier.shibboleth.admin.ui.service.CustomEntityAttributesDefinitionServiceImpl - -import javax.persistence.EntityManager - -import org.opensaml.saml.metadata.resolver.MetadataResolver import org.springframework.beans.factory.annotation.Autowired -import org.springframework.beans.factory.annotation.Qualifier -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.test.context.TestConfiguration -import org.springframework.context.annotation.Bean -import org.springframework.data.jpa.repository.config.EnableJpaRepositories -import org.springframework.security.core.userdetails.UsernameNotFoundException -import org.springframework.test.context.ActiveProfiles -import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification +import javax.persistence.EntityManager /** * Tests for edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration */ -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, InternationalizationConfiguration, SearchConfiguration, edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -class CustomPropertiesConfigurationTests extends Specification { +class CustomPropertiesConfigurationTests extends AbstractBaseDataJpaTest { @Autowired - @Qualifier(value="customPropertiesConfiguration") CustomPropertiesConfiguration configUnderTest @Autowired CustomEntityAttributesDefinitionService ceadService @Autowired - CustomEntityAttributeDefinitionRepository repository; + CustomEntityAttributeDefinitionRepository repository @Autowired EntityManager entityManager @@ -89,4 +64,4 @@ class CustomPropertiesConfigurationTests extends Specification { ceadService.getAllDefinitions().size() == 1 configUnderTest.getOverrides().size() == 11 } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy index 6daa2c816..5ccf3efea 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/TestMetadataResolverValidationConfiguration.groovy @@ -1,33 +1,13 @@ package edu.internet2.tier.shibboleth.admin.ui.configuration -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.DynamicHttpMetadataResolverValidator -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.MetadataResolverValidationService -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.FileBackedHttpMetadataResolverValidator import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.IMetadataResolverValidator +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.MetadataResolverValidationService import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.ResourceBackedIMetadataResolverValidator -import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService -import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService -import org.springframework.beans.factory.annotation.Qualifier import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration -import org.springframework.context.annotation.Profile - @Configuration class TestMetadataResolverValidationConfiguration { - - @Bean - @Profile("dh-test") - DynamicHttpMetadataResolverValidator dynamicHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { - new DynamicHttpMetadataResolverValidator(groupService, userService) - } - - @Bean - @Profile("fbh-test") - FileBackedHttpMetadataResolverValidator fileBackedHttpMetadataResolverValidator(IGroupService groupService, UserService userService) { - new FileBackedHttpMetadataResolverValidator(groupService, userService) - } - @Bean ResourceBackedIMetadataResolverValidator resourceBackedMetadataResolverValidator() { new ResourceBackedIMetadataResolverValidator() diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerTests.groovy index 35c015681..687a4dad1 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerTests.groovy @@ -1,50 +1,34 @@ package edu.internet2.tier.shibboleth.admin.ui.controller -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository -import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityDescriptorServiceImpl -import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityServiceImpl import net.shibboleth.ext.spring.resource.ResourceHelper import net.shibboleth.utilities.java.support.resolver.CriteriaSet - import org.opensaml.core.criterion.EntityIdCriterion import org.opensaml.saml.metadata.resolver.impl.ResourceBackedMetadataResolver import org.spockframework.spring.SpringBean import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest import org.springframework.core.io.ClassPathResource -import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.http.HttpHeaders import org.springframework.http.MediaType -import org.springframework.test.context.ContextConfiguration import org.springframework.test.web.servlet.setup.MockMvcBuilders -import spock.lang.Specification import spock.lang.Subject -import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.is import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.* +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -class EntitiesControllerTests extends Specification { +class EntitiesControllerTests extends AbstractBaseDataJpaTest { @Autowired JPAEntityDescriptorServiceImpl serviceImpl - - @Autowired - UserService userService - - def openSamlObjects = new OpenSamlObjects().with { - init() + + OpenSamlObjects openSamlObjects = new OpenSamlObjects().with { + it.init() it } @@ -56,7 +40,7 @@ class EntitiesControllerTests extends Specification { initialize() it } - + // This stub will spit out the results from the resolver instead of actually finding them in the DB @SpringBean EntityDescriptorRepository edr = Stub(EntityDescriptorRepository) { @@ -66,7 +50,8 @@ class EntitiesControllerTests extends Specification { @Subject def controller - def mockMvc + def mockMvc + def setup() { controller = new EntitiesController() @@ -110,34 +95,6 @@ class EntitiesControllerTests extends Specification { } def 'GET /api/entities/http%3A%2F%2Ftest.scaldingspoon.org%2Ftest1'() { - given: - def expectedBody = ''' - { - "id":null, - "serviceProviderName":null, - "entityId":"http://test.scaldingspoon.org/test1", - "organization": {}, - "contacts":null, - "serviceProviderSsoDescriptor": { - "protocolSupportEnum":"SAML 2", - "nameIdFormats":["urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"] - }, - "logoutEndpoints":null, - "securityInfo":null, - "assertionConsumerServices":[ - {"locationUrl":"https://test.scaldingspoon.org/test1/acs","binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST","makeDefault":false} - ], - "serviceEnabled":false, - "createdDate":null, - "modifiedDate":null, - "attributeRelease":["givenName","employeeNumber"], - "version":1445248649, - "createdBy":null, - "current":false, - "groupId":null - } - ''' - when: def result = mockMvc.perform(get('/entities/http%3A%2F%2Ftest.scaldingspoon.org%2Ftest1')) @@ -155,34 +112,6 @@ class EntitiesControllerTests extends Specification { } def 'GET /entities/http%3A%2F%2Ftest.scaldingspoon.org%2Ftest1'() { - given: - def expectedBody = ''' - { - "id":null, - "serviceProviderName":null, - "entityId":"http://test.scaldingspoon.org/test1", - "organization": {}, - "contacts":null, - "serviceProviderSsoDescriptor": { - "protocolSupportEnum":"SAML 2", - "nameIdFormats":["urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"] - }, - "logoutEndpoints":null, - "securityInfo":null, - "assertionConsumerServices":[ - {"locationUrl":"https://test.scaldingspoon.org/test1/acs","binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST","makeDefault":false} - ], - "serviceEnabled":false, - "createdDate":null, - "modifiedDate":null, - "attributeRelease":["givenName","employeeNumber"], - "version":1445248649, - "createdBy":null, - "current":false, - "groupId":null - } - ''' - when: def result = mockMvc.perform(get('/entities/http%3A%2F%2Ftest.scaldingspoon.org%2Ftest1')) @@ -258,4 +187,4 @@ class EntitiesControllerTests extends Specification { .andExpect(content().contentType('application/xml;charset=ISO-8859-1')) .andExpect(content().xml(expectedBody)) } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy index 2c8440330..f83ab1fb3 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy @@ -1,7 +1,7 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import com.fasterxml.jackson.databind.ObjectMapper -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.AssertionConsumerServiceRepresentation @@ -25,7 +25,6 @@ import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.ui.util.WithMockAdmin import edu.internet2.tier.shibboleth.admin.util.AttributeUtility import edu.internet2.tier.shibboleth.admin.util.EntityDescriptorConversionUtils -import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.TestConfiguration import org.springframework.context.annotation.Bean @@ -42,11 +41,17 @@ import javax.persistence.EntityManager import static org.hamcrest.CoreMatchers.containsString import static org.springframework.http.MediaType.APPLICATION_JSON import static org.springframework.http.MediaType.APPLICATION_XML -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.* -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.* +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status @ContextConfiguration(classes=[EDCLocalConfig]) -class EntityDescriptorControllerTests extends BaseDataJpaTestSetup { +class EntityDescriptorControllerTests extends AbstractBaseDataJpaTest { @Autowired EntityDescriptorRepository entityDescriptorRepository @@ -678,10 +683,5 @@ class EntityDescriptorControllerTests extends BaseDataJpaTestSetup { CustomPropertiesConfiguration customPropertiesConfiguration) { return new JPAEntityServiceImpl(openSamlObjects, attributeUtility, customPropertiesConfiguration) } - - @Bean - ModelRepresentationConversions modelRepresentationConversions(CustomPropertiesConfiguration customPropertiesConfiguration) { - return new ModelRepresentationConversions(customPropertiesConfiguration) - } } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy index 0f29b12d2..14165b411 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataFiltersControllerTests.groovy @@ -2,7 +2,7 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.SerializationFeature -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver @@ -10,12 +10,13 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSaml import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.repository.FilterRepository import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository -import edu.internet2.tier.shibboleth.admin.ui.service.* +import edu.internet2.tier.shibboleth.admin.ui.service.FilterService +import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityServiceImpl +import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverService import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.ui.util.WithMockAdmin import edu.internet2.tier.shibboleth.admin.util.AttributeUtility -import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions import groovy.json.JsonOutput import groovy.json.JsonSlurper import org.springframework.beans.factory.annotation.Autowired @@ -29,11 +30,15 @@ import spock.lang.Unroll import static org.hamcrest.CoreMatchers.containsString import static org.springframework.http.MediaType.APPLICATION_JSON -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.* -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.* +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status -@ContextConfiguration(classes=[MFCLocalConfig]) -class MetadataFiltersControllerTests extends BaseDataJpaTestSetup { +@ContextConfiguration(classes=[ MFCLocalConfig ]) +class MetadataFiltersControllerTests extends AbstractBaseDataJpaTest { @Autowired AttributeUtility attributeUtility @@ -249,31 +254,10 @@ class MetadataFiltersControllerTests extends BaseDataJpaTestSetup { @TestConfiguration private static class MFCLocalConfig { - @Bean - JPAFilterTargetServiceImpl jpaFilterTargetService() { - return new JPAFilterTargetServiceImpl() - } - @Bean JPAEntityServiceImpl jpaEntityService(OpenSamlObjects openSamlObjects, AttributeUtility attributeUtility, CustomPropertiesConfiguration customPropertiesConfiguration) { return new JPAEntityServiceImpl(openSamlObjects, attributeUtility,customPropertiesConfiguration) } - - @Bean - JPAFilterServiceImpl jpaFilterService(EntityDescriptorService entityDescriptorService, EntityService entityService, - FilterTargetService filterTargetService) { - return new JPAFilterServiceImpl().with { - it.entityDescriptorService = entityDescriptorService - it.entityService = entityService - it.filterTargetService = filterTargetService - it - } - } - - @Bean - ModelRepresentationConversions modelRepresentationConversions(CustomPropertiesConfiguration customPropertiesConfiguration) { - return new ModelRepresentationConversions(customPropertiesConfiguration) - } } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversControllerIntegrationTests.groovy index 107675729..a32b65f64 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversControllerIntegrationTests.groovy @@ -3,8 +3,15 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.SerializationFeature import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup -import edu.internet2.tier.shibboleth.admin.ui.configuration.* +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest +import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.EntitiesVersioningConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.MetadataResolverConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.MetadataResolverConverterConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.MetadataResolverValidationConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.PlaceholderResolverComponentsConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.ShibUIConfiguration +import edu.internet2.tier.shibboleth.admin.ui.configuration.StringTrimModule import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver @@ -14,18 +21,24 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator.Metadat import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolversPositionOrderContainerRepository -import edu.internet2.tier.shibboleth.admin.ui.service.* +import edu.internet2.tier.shibboleth.admin.ui.service.DefaultMetadataResolversPositionOrderContainerService +import edu.internet2.tier.shibboleth.admin.ui.service.DirectoryService +import edu.internet2.tier.shibboleth.admin.ui.service.DirectoryServiceImpl +import edu.internet2.tier.shibboleth.admin.ui.service.IndexWriterService +import edu.internet2.tier.shibboleth.admin.ui.service.JPAMetadataResolverServiceImpl +import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverConverterService +import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverService +import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverVersionService +import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolversPositionOrderContainerService import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.ui.util.WithMockAdmin import edu.internet2.tier.shibboleth.admin.util.AttributeUtility -import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions import groovy.json.JsonSlurper import org.opensaml.saml.metadata.resolver.MetadataResolver import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.TestConfiguration import org.springframework.context.annotation.Bean import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter -import org.springframework.test.context.ActiveProfiles import org.springframework.test.context.ContextConfiguration import org.springframework.test.web.servlet.MockMvc import org.springframework.test.web.servlet.MvcResult @@ -35,14 +48,18 @@ import spock.lang.Unroll import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL import static org.springframework.http.MediaType.APPLICATION_JSON -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.* -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.* +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status @ContextConfiguration(classes=[MetadataResolverValidationConfiguration, MetadataResolverConverterConfiguration, MetadataResolverConfiguration, EntitiesVersioningConfiguration, edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration, PlaceholderResolverComponentsConfiguration, MRCILocalConfig]) -class MetadataResolversControllerIntegrationTests extends BaseDataJpaTestSetup { +class MetadataResolversControllerIntegrationTests extends AbstractBaseDataJpaTest { @Autowired AttributeUtility attributeUtility @@ -392,11 +409,6 @@ class MetadataResolversControllerIntegrationTests extends BaseDataJpaTestSetup { return mrc } - @Bean - ModelRepresentationConversions modelRepresentationConversions(CustomPropertiesConfiguration customPropertiesConfiguration) { - return new ModelRepresentationConversions(customPropertiesConfiguration) - } - @Bean MetadataResolversPositionOrderContainerService metadataResolversPositionOrderContainerService(MetadataResolversPositionOrderContainerRepository positionOrderContainerRepository, MetadataResolverRepository resolverRepository) { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptorTest.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptorTest.groovy index 0747b9d4c..8fc49acde 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptorTest.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptorTest.groovy @@ -1,18 +1,13 @@ package edu.internet2.tier.shibboleth.admin.ui.domain -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.PlaceholderResolverComponentsConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.HttpMetadataResolverAttributes import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ReloadableMetadataResolverAttributes import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlChainingMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlFileBackedHTTPMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects -import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository -import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceImpl import edu.internet2.tier.shibboleth.admin.ui.service.IndexWriterService import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator @@ -20,44 +15,26 @@ import org.opensaml.saml.metadata.resolver.ChainingMetadataResolver import org.opensaml.saml.metadata.resolver.MetadataResolver import org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.context.TestConfiguration import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Profile -import org.springframework.data.jpa.repository.config.EnableJpaRepositories -import org.springframework.test.annotation.DirtiesContext -import org.springframework.test.context.ActiveProfiles import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification - -import java.nio.file.Files /** * @author Bill Smith (wsmith@unicon.net) */ -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, InternationalizationConfiguration, MyConfig, PlaceholderResolverComponentsConfiguration, edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) -@ActiveProfiles(value="local") -class EntityDescriptorTest extends Specification { - - RandomGenerator randomGenerator - TestObjectGenerator generator +@ContextConfiguration(classes = [ EDLocalConfig, PlaceholderResolverComponentsConfiguration ]) +class EntityDescriptorTest extends AbstractBaseDataJpaTest { + @Autowired + IndexWriterService indexWriterService @Autowired MetadataResolver metadataResolver @Autowired - IndexWriterService indexWriterService + OpenSamlObjects openSamlObjects - def openSamlObjects = new OpenSamlObjects().with { - init() - it - } + RandomGenerator randomGenerator + TestObjectGenerator generator def setup() { generator = new TestObjectGenerator() @@ -90,8 +67,7 @@ class EntityDescriptorTest extends Specification { } @TestConfiguration - @Profile("local") - static class MyConfig { + private static class EDLocalConfig { @Bean MetadataResolver metadataResolver() { ChainingMetadataResolver metadataResolver = new OpenSamlChainingMetadataResolver() @@ -100,14 +76,5 @@ class EntityDescriptorTest extends Specification { metadataResolver.initialize() return metadataResolver } - - @Bean - GroupServiceImpl groupService(GroupsRepository repo, OwnershipRepository ownershipRepository) { - new GroupServiceImpl().with { - it.groupRepository = repo - it.ownershipRepository = ownershipRepository - return it - } - } } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/filters/PolymorphicFiltersJacksonHandlingTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/filters/PolymorphicFiltersJacksonHandlingTests.groovy index b995923f9..89a285ad8 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/filters/PolymorphicFiltersJacksonHandlingTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/filters/PolymorphicFiltersJacksonHandlingTests.groovy @@ -2,16 +2,14 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.filters import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.SerializationFeature -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration -import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator +import edu.internet2.tier.shibboleth.admin.ui.util.WithMockAdmin import edu.internet2.tier.shibboleth.admin.util.AttributeUtility import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.test.context.SpringBootTest -import spock.lang.Specification -class PolymorphicFiltersJacksonHandlingTests extends BaseDataJpaTestSetup { +class PolymorphicFiltersJacksonHandlingTests extends AbstractBaseDataJpaTest { @Autowired AttributeUtility attributeUtility @@ -28,6 +26,7 @@ class PolymorphicFiltersJacksonHandlingTests extends BaseDataJpaTestSetup { testObjectGenerator = new TestObjectGenerator(attributeUtility, customPropertiesConfiguration) } + @WithMockAdmin def "Correct polymorphic serialization of EntityRoleWhiteListFilter"() { given: def givenFilterJson = """ @@ -63,6 +62,7 @@ class PolymorphicFiltersJacksonHandlingTests extends BaseDataJpaTestSetup { roundTripFilter instanceof EntityRoleWhiteListFilter } + @WithMockAdmin def "Correct polymorphic serialization of EntityAttributesFilter"() { given: def simulatedPersistentFilter = testObjectGenerator.entityAttributesFilter() @@ -76,6 +76,7 @@ class PolymorphicFiltersJacksonHandlingTests extends BaseDataJpaTestSetup { simulatedPersistentFilter.attributes.size() == simulatedPrePersistentFilter.attributes.size() } + @WithMockAdmin def "Correct polymorphic serialization of RequiredValidUntilFilter"() { given: def givenFilterJson = """ @@ -108,6 +109,7 @@ class PolymorphicFiltersJacksonHandlingTests extends BaseDataJpaTestSetup { roundTripFilter instanceof RequiredValidUntilFilter } + @WithMockAdmin def "List of filters with correct types"() { given: def filters = testObjectGenerator.buildAllTypesOfFilterList() @@ -124,6 +126,7 @@ class PolymorphicFiltersJacksonHandlingTests extends BaseDataJpaTestSetup { } + @WithMockAdmin def "Deserialization of EntityAttributes filter"() { given: def filterJson = """ @@ -171,6 +174,7 @@ class PolymorphicFiltersJacksonHandlingTests extends BaseDataJpaTestSetup { EntityAttributesFilter.class.cast(filter).entityAttributesFilterTarget.value == ['GATCCLk32V'] } + @WithMockAdmin def "Correct polymorphic serialization of NameIdFormatFilter"() { given: def givenFilterJson = """ diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/PolymorphicResolversJacksonHandlingTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/PolymorphicResolversJacksonHandlingTests.groovy index 358e11f4c..f0df3716d 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/PolymorphicResolversJacksonHandlingTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/PolymorphicResolversJacksonHandlingTests.groovy @@ -2,7 +2,7 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.SerializationFeature -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityRoleWhiteListFilter @@ -10,7 +10,7 @@ import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.util.AttributeUtility import org.springframework.beans.factory.annotation.Autowired -class PolymorphicResolversJacksonHandlingTests extends BaseDataJpaTestSetup { +class PolymorphicResolversJacksonHandlingTests extends AbstractBaseDataJpaTest { @Autowired AttributeUtility attributeUtility diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidatorTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidatorTests.groovy index 7b4470b18..21af72924 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidatorTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/DynamicHttpMetadataResolverValidatorTests.groovy @@ -1,61 +1,28 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator -import edu.internet2.tier.shibboleth.admin.ui.configuration.* +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest +import edu.internet2.tier.shibboleth.admin.ui.configuration.MetadataResolverValidationConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataQueryProtocolScheme import edu.internet2.tier.shibboleth.admin.ui.security.model.Group import edu.internet2.tier.shibboleth.admin.ui.security.model.Role import edu.internet2.tier.shibboleth.admin.ui.security.model.User -import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceForTesting -import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceImpl -import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import org.springframework.beans.factory.annotation.Autowired -import org.springframework.beans.factory.annotation.Qualifier -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Primary -import org.springframework.context.annotation.Profile -import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.security.test.context.support.WithMockUser -import org.springframework.test.annotation.Rollback -import org.springframework.test.context.ActiveProfiles import org.springframework.test.context.ContextConfiguration import org.springframework.transaction.annotation.Transactional -import spock.lang.Specification -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration, TestMetadataResolverValidationConfiguration, LocalConfig]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -@ActiveProfiles(["dh-test"]) -class DynamicHttpMetadataResolverValidatorTests extends Specification { +@ContextConfiguration(classes = [MetadataResolverValidationConfiguration]) +class DynamicHttpMetadataResolverValidatorTests extends AbstractBaseDataJpaTest { @Autowired GroupServiceForTesting groupServiceForTesting @Autowired - @Qualifier("metadataResolverValidationService") MetadataResolverValidationService metadataResolverValidationService - @Autowired - RoleRepository roleRepository - - @Autowired - UserRepository userRepository - - @Autowired - UserService userService - @Transactional def setup() { - userRepository.deleteAll() - roleRepository.deleteAll() - groupServiceForTesting.clearAllForTesting() - Group g = new Group() g.setResourceId("shib") g.setName("shib") @@ -63,27 +30,12 @@ class DynamicHttpMetadataResolverValidatorTests extends Specification { g.setValidationRegex("^(?:https?:\\/\\/)?(?:[^.]+\\.)?shib\\.org(\\/.*)?\$") g = groupServiceForTesting.createGroup(g) - def roles = [new Role().with { - name = 'ROLE_ADMIN' - it - }, new Role().with { - name = 'ROLE_USER' - it - }, new Role().with { - name = 'ROLE_NONE' - it - }] - roles.each { - roleRepository.save(it) - } - Optional userRole = roleRepository.findByName("ROLE_USER") User user = new User(username: "someUser", roles:[userRole.get()], password: "foo", group: g) userService.save(user) } @WithMockUser(value = "someUser", roles = ["USER"]) - @Rollback def "test validation by service works properly"() { given: DynamicHttpMetadataResolver metadataResolver = new DynamicHttpMetadataResolver() @@ -104,20 +56,4 @@ class DynamicHttpMetadataResolverValidatorTests extends Specification { then: !result.isValid() } - - @org.springframework.boot.test.context.TestConfiguration - @Profile("dh-test") - static class LocalConfig { - @Bean - @Primary - GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { - GroupServiceForTesting result = new GroupServiceForTesting(new GroupServiceImpl().with { - it.groupRepository = repo - it.ownershipRepository = ownershipRepository - return it - }) - result.ensureAdminGroupExists() - return result - } - } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidatorTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidatorTests.groovy index 790baec2d..c82f0aa18 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidatorTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/FileBackedHttpMetadataResolverValidatorTests.groovy @@ -1,84 +1,29 @@ package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.validator -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestMetadataResolverValidationConfiguration +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest +import edu.internet2.tier.shibboleth.admin.ui.configuration.MetadataResolverValidationConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.security.model.Group import edu.internet2.tier.shibboleth.admin.ui.security.model.Role import edu.internet2.tier.shibboleth.admin.ui.security.model.User -import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository -import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceForTesting -import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceImpl -import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import org.springframework.beans.factory.annotation.Autowired -import org.springframework.beans.factory.annotation.Qualifier -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Primary -import org.springframework.context.annotation.Profile -import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.security.test.context.support.WithMockUser -import org.springframework.test.annotation.Rollback -import org.springframework.test.context.ActiveProfiles import org.springframework.test.context.ContextConfiguration import org.springframework.transaction.annotation.Transactional -import spock.lang.Specification -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration, TestMetadataResolverValidationConfiguration, LocalConfig]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -@ActiveProfiles(["fbh-test"]) -class FileBackedHttpMetadataResolverValidatorTests extends Specification { +@ContextConfiguration(classes = [MetadataResolverValidationConfiguration]) +class FileBackedHttpMetadataResolverValidatorTests extends AbstractBaseDataJpaTest { @Autowired - GroupServiceForTesting groupServiceForTesting - - @Autowired - @Qualifier("metadataResolverValidationService") MetadataResolverValidationService metadataResolverValidationService - @Autowired - RoleRepository roleRepository - - @Autowired - UserRepository userRepository - - @Autowired - UserService userService - @Transactional def setup() { - userRepository.deleteAll() - roleRepository.deleteAll() - groupServiceForTesting.clearAllForTesting() - Group g = new Group() g.setResourceId("shib") g.setName("shib") // This is valid for a url with "shib.org" in it g.setValidationRegex("^(?:https?:\\/\\/)?(?:[^.]+\\.)?shib\\.org(\\/.*)?\$") - g = groupServiceForTesting.createGroup(g) - - def roles = [new Role().with { - name = 'ROLE_ADMIN' - it - }, new Role().with { - name = 'ROLE_USER' - it - }, new Role().with { - name = 'ROLE_NONE' - it - }] - roles.each { - roleRepository.save(it) - } + g = groupService.createGroup(g) Optional userRole = roleRepository.findByName("ROLE_USER") User user = new User(username: "someUser", roles:[userRole.get()], password: "foo", group: g) @@ -86,7 +31,6 @@ class FileBackedHttpMetadataResolverValidatorTests extends Specification { } @WithMockUser(value = "someUser", roles = ["USER"]) - @Rollback def "test validation by service works properly"() { given: FileBackedHttpMetadataResolver metadataResolver = new FileBackedHttpMetadataResolver() @@ -105,20 +49,4 @@ class FileBackedHttpMetadataResolverValidatorTests extends Specification { then: !result.isValid() } - - @org.springframework.boot.test.context.TestConfiguration - @Profile("fbh-test") - static class LocalConfig { - @Bean - @Primary - GroupServiceForTesting groupServiceForTesting(GroupsRepository repo, OwnershipRepository ownershipRepository) { - GroupServiceForTesting result = new GroupServiceForTesting(new GroupServiceImpl().with { - it.groupRepository = repo - it.ownershipRepository = ownershipRepository - return it - }) - result.ensureAdminGroupExists() - return result - } - } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceConfigurationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceConfigurationTests.groovy index 501afe9b9..f2834aa9c 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceConfigurationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/validator/MetadataResolverValidationServiceConfigurationTests.groovy @@ -11,7 +11,6 @@ import spock.lang.Specification */ @ContextConfiguration(classes=[TestMetadataResolverValidationConfiguration]) class MetadataResolverValidationServiceConfigurationTests extends Specification { - @Autowired @Qualifier("metadataResolverValidationServiceEmpty") MetadataResolverValidationService metadataResolverValidationServiceNoValidators diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/CustomEntityAttributeDefinitionRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/CustomEntityAttributeDefinitionRepositoryTests.groovy index 64dc3cdd3..828d82cbe 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/CustomEntityAttributeDefinitionRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/CustomEntityAttributeDefinitionRepositoryTests.groovy @@ -1,27 +1,17 @@ package edu.internet2.tier.shibboleth.admin.ui.repository -import javax.persistence.EntityManager - +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest +import edu.internet2.tier.shibboleth.admin.ui.domain.CustomEntityAttributeDefinition import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.data.jpa.repository.config.EnableJpaRepositories -import org.springframework.test.context.ContextConfiguration +import org.springframework.dao.DataIntegrityViolationException -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.domain.CustomEntityAttributeDefinition -import spock.lang.Specification +import javax.persistence.EntityManager /** * Tests to validate the repo and model for custom entity attributes * @author chasegawa */ -@DataJpaTest -@ContextConfiguration(classes=[InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -class CustomEntityAttributeDefinitionRepositoryTests extends Specification { - +class CustomEntityAttributeDefinitionRepositoryTests extends AbstractBaseDataJpaTest { @Autowired CustomEntityAttributeDefinitionRepository repo @@ -55,7 +45,7 @@ class CustomEntityAttributeDefinitionRepositoryTests extends Specification { def cas = repo.findAll() cas.size() == 1 def caFromDb1 = cas.get(0).asType(CustomEntityAttributeDefinition) - caFromDb1.equals(ca) == true + caFromDb1.equals(ca) // fetch checks repo.findByName("not a name") == null @@ -85,7 +75,7 @@ class CustomEntityAttributeDefinitionRepositoryTests extends Specification { then: // Missing non-nullable field should thrown error - final def exception = thrown(org.springframework.dao.DataIntegrityViolationException) + thrown(DataIntegrityViolationException) } def "basic CRUD operations validated"() { @@ -116,7 +106,7 @@ class CustomEntityAttributeDefinitionRepositoryTests extends Specification { def cas = repo.findAll() cas.size() == 1 def caFromDb1 = cas.get(0).asType(CustomEntityAttributeDefinition) - caFromDb1.equals(ca) == true + caFromDb1 == ca // fetch checks repo.findByName("not a name") == null @@ -126,7 +116,7 @@ class CustomEntityAttributeDefinitionRepositoryTests extends Specification { caFromDb1.with { it.helpText = "some new text that wasn't there before" } - caFromDb1.equals(ca) == false + caFromDb1 != ca when: repo.save(caFromDb1) @@ -137,8 +127,8 @@ class CustomEntityAttributeDefinitionRepositoryTests extends Specification { def cas2 = repo.findAll() cas2.size() == 1 def caFromDb2 = cas2.get(0).asType(CustomEntityAttributeDefinition) - caFromDb2.equals(ca) == false - caFromDb2.equals(caFromDb1) == true + caFromDb2 != ca + caFromDb2 == caFromDb1 // delete tests when: @@ -171,7 +161,7 @@ class CustomEntityAttributeDefinitionRepositoryTests extends Specification { def cas = repo.findAll() cas.size() == 1 def ca3FromDb = cas.get(0).asType(CustomEntityAttributeDefinition) - ca3FromDb.equals(ca3) == true + ca3FromDb == ca3 // now update the attribute list items ca3FromDb.with { @@ -190,7 +180,7 @@ class CustomEntityAttributeDefinitionRepositoryTests extends Specification { it.resourceId = ca3FromDb.resourceId it } - caFromDb4.equals(ca4) == true + caFromDb4 == ca4 // now remove items ca3FromDb.with { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/EntityDescriptorRepositoryTest.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/EntityDescriptorRepositoryTest.groovy index b61566034..f3e36f7dc 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/EntityDescriptorRepositoryTest.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/EntityDescriptorRepositoryTest.groovy @@ -1,6 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.repository -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlChainingMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects @@ -19,7 +19,7 @@ import javax.persistence.EntityManager import java.util.stream.Stream @ContextConfiguration(classes = [EDRLocalConfig]) -class EntityDescriptorRepositoryTest extends BaseDataJpaTestSetup { +class EntityDescriptorRepositoryTest extends AbstractBaseDataJpaTest { @Autowired EntityDescriptorRepository entityDescriptorRepository diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/FilterRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/FilterRepositoryTests.groovy index f233684fd..3a5b28713 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/FilterRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/FilterRepositoryTests.groovy @@ -1,36 +1,29 @@ package edu.internet2.tier.shibboleth.admin.ui.repository -import javax.persistence.EntityManager - -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.data.jpa.repository.config.EnableJpaRepositories -import org.springframework.test.context.ContextConfiguration - import com.fasterxml.jackson.databind.ObjectMapper - -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration -import edu.internet2.tier.shibboleth.admin.ui.domain.CustomEntityAttributeDefinition +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator -import spock.lang.Specification +import edu.internet2.tier.shibboleth.admin.ui.util.WithMockAdmin +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.transaction.annotation.Transactional -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -class FilterRepositoryTests extends Specification { +import javax.persistence.EntityManager +class FilterRepositoryTests extends AbstractBaseDataJpaTest { @Autowired - FilterRepository repositoryUnderTest + FilterRepository filterRepository @Autowired EntityManager entityManager + @Transactional + def setup() { + filterRepository.deleteAll() + } + + @WithMockAdmin + @Transactional def "EntityAttributesFilter hashcode works as desired"() { given: def entityAttributesFilterJson = '''{ @@ -64,26 +57,27 @@ class FilterRepositoryTests extends Specification { when: def filter = new ObjectMapper().readValue(entityAttributesFilterJson.bytes, EntityAttributesFilter) - def persistedFilter = repositoryUnderTest.save(filter) + def persistedFilter = filterRepository.save(filter) entityManager.flush() then: - def item1 = repositoryUnderTest.findByResourceId(persistedFilter.resourceId) + def item1 = filterRepository.findByResourceId(persistedFilter.resourceId) entityManager.clear() - def item2 = repositoryUnderTest.findByResourceId(persistedFilter.resourceId) + def item2 = filterRepository.findByResourceId(persistedFilter.resourceId) item1.hashCode() == item2.hashCode() } + @WithMockAdmin def "NameIdFormatFilter is able to be persisted to RDBMS"() { given: def nameIdFormatFilter = TestObjectGenerator.nameIdFormatFilter() when: - def persistedFilter = repositoryUnderTest.save(nameIdFormatFilter) + def persistedFilter = filterRepository.save(nameIdFormatFilter) then: persistedFilter.audId > 0L persistedFilter.formats.size() == 1 } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/MetadataResolverRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/MetadataResolverRepositoryTests.groovy index 99ff22481..2030a25d6 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/MetadataResolverRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/MetadataResolverRepositoryTests.groovy @@ -1,26 +1,15 @@ package edu.internet2.tier.shibboleth.admin.ui.repository -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver -import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService -import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityDescriptorServiceImpl -import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityServiceImpl import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.data.jpa.repository.config.EnableJpaRepositories -import org.springframework.test.annotation.DirtiesContext -import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification +import org.springframework.test.annotation.Rollback import javax.persistence.EntityManager @@ -29,12 +18,8 @@ import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttrib /** * Testing persistence of the MetadataResolver models */ -@DataJpaTest -@ContextConfiguration(classes = [CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) -class MetadataResolverRepositoryTests extends Specification { +@Rollback +class MetadataResolverRepositoryTests extends AbstractBaseDataJpaTest { @Autowired MetadataResolverRepository metadataResolverRepository @@ -245,4 +230,4 @@ class MetadataResolverRepositoryTests extends Specification { } resolver } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupsControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupsControllerIntegrationTests.groovy index 35bfe8e32..099e6099f 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupsControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/GroupsControllerIntegrationTests.groovy @@ -1,6 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.security.controller -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.exception.EntityNotFoundException import edu.internet2.tier.shibboleth.admin.ui.security.exception.GroupDeleteException import edu.internet2.tier.shibboleth.admin.ui.security.exception.GroupExistsConflictException @@ -12,6 +12,7 @@ import edu.internet2.tier.shibboleth.admin.ui.util.WithMockAdmin import groovy.json.JsonOutput import org.springframework.beans.factory.annotation.Autowired import org.springframework.http.MediaType +import org.springframework.test.annotation.Rollback import org.springframework.test.web.servlet.MockMvc import org.springframework.test.web.servlet.setup.MockMvcBuilders import org.springframework.transaction.annotation.Transactional @@ -19,7 +20,8 @@ import org.springframework.transaction.annotation.Transactional import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.* import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.* -class GroupsControllerIntegrationTests extends BaseDataJpaTestSetup { +@Rollback +class GroupsControllerIntegrationTests extends AbstractBaseDataJpaTest { @Autowired GroupsRepository groupsRepository diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/UsersControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/UsersControllerIntegrationTests.groovy index fb4ad9a10..b07a304ab 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/UsersControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/controller/UsersControllerIntegrationTests.groovy @@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.databind.SerializationFeature import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.controller.support.RestControllersSupport import edu.internet2.tier.shibboleth.admin.ui.security.model.Group import edu.internet2.tier.shibboleth.admin.ui.security.model.User @@ -31,7 +31,8 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.* @ContextConfiguration(classes=[UCILocalConfig]) -class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { +@Rollback +class UsersControllerIntegrationTests extends AbstractBaseDataJpaTest { @Autowired GroupsRepository groupsRepository @@ -42,6 +43,7 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { def users static RESOURCE_URI = '/api/admin/users' + static VALIDATION_REGEX = "^(?:https?:\\/\\/)?(?:[^.]+\\.)?shib\\.org(\\/.*)?\$" def setup() { def controller = new UsersController(userRepository, userService) @@ -61,12 +63,14 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { it.name = "A1" it.description = "AAA Group" it.resourceId = "AAA" + it.validationRegex = VALIDATION_REGEX it }, new Group().with { it.name = "B1" it.description = "BBB Group" it.resourceId = "BBB" + it.validationRegex = VALIDATION_REGEX it }] groups.each { @@ -131,18 +135,22 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { .andExpect(jsonPath("\$.[0].emailAddress").value("joe@institution.edu")) .andExpect(jsonPath("\$.[0].role").value("ROLE_ADMIN")) .andExpect(jsonPath("\$.[0].groupId").value("admingroup")) + .andExpect(jsonPath("\$.[0].userGroups.[0].validationRegex").isEmpty()) .andExpect(jsonPath("\$.[1].username").value("nonadmin")) .andExpect(jsonPath("\$.[1].emailAddress").value("peter@institution.edu")) .andExpect(jsonPath("\$.[1].role").value("ROLE_USER")) - .andExpect(jsonPath("\$.[1].groupId").value("nonadmin")) + .andExpect(jsonPath("\$.[1].groupId").value("nonadmin")) + .andExpect(jsonPath("\$.[1].userGroups.[0].validationRegex").value("/(?:)/")) .andExpect(jsonPath("\$.[2].username").value("none")) .andExpect(jsonPath("\$.[2].emailAddress").value("badboy@institution.edu")) .andExpect(jsonPath("\$.[2].role").value("ROLE_NONE")) - .andExpect(jsonPath("\$.[2].groupId").value("none")) + .andExpect(jsonPath("\$.[2].groupId").value("none")) + .andExpect(jsonPath("\$.[2].userGroups.[0].validationRegex").value("/(?:)/")) .andExpect(jsonPath("\$.[3].username").value("anonymousUser")) .andExpect(jsonPath("\$.[3].emailAddress").value("anon@institution.edu")) .andExpect(jsonPath("\$.[3].role").value("ROLE_ADMIN")) .andExpect(jsonPath("\$.[3].groupId").value("admingroup")) + .andExpect(jsonPath("\$.[3].userGroups.[0].validationRegex").isEmpty()) } @WithMockAdmin @@ -157,6 +165,7 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { .andExpect(jsonPath("\$.emailAddress").value("joe@institution.edu")) .andExpect(jsonPath("\$.role").value("ROLE_ADMIN")) .andExpect(jsonPath("\$.groupId").value("admingroup")) + .andExpect(jsonPath("\$.userGroups.[0].validationRegex").isEmpty()) } @WithMockAdmin @@ -168,7 +177,6 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { result.andExpect(status().isNotFound()) } - @Rollback @WithMockAdmin def 'DELETE ONE existing user'() { when: 'GET request is made for one existing user' @@ -193,7 +201,6 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { } } - @Rollback @WithMockAdmin def 'POST new user persists properly'() { given: @@ -214,7 +221,6 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { result.andExpect(status().isOk()) } - @Rollback @WithMockAdmin def 'POST new duplicate username returns 409'() { given: @@ -239,14 +245,13 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { result.andExpect(status().isConflict()) } - @Rollback @WithMockAdmin def 'PATCH updates user properly'() { given: String userString = mockMvc.perform(get("$RESOURCE_URI/none")).andReturn().getResponse().getContentAsString() User user = mapper.readValue(userString, User.class) user.setFirstName("somethingnew") - + when: def result = mockMvc.perform(patch("$RESOURCE_URI/$user.username") .contentType(MediaType.APPLICATION_JSON) @@ -255,34 +260,36 @@ class UsersControllerIntegrationTests extends BaseDataJpaTestSetup { then: result.andExpect(status().isOk()) - + when: user.setGroupId("AAA") def resultNewGroup = mockMvc.perform(patch("$RESOURCE_URI/$user.username").contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsString(user)).accept(MediaType.APPLICATION_JSON)) - + then: resultNewGroup.andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) .andExpect(jsonPath("\$.groupId").value("AAA")) - - def groups = ownershipRepository.findAllGroupsForUser(user.username) + .andExpect(jsonPath("\$.userGroups.[0].validationRegex").value(VALIDATION_REGEX)) + + def groups = ownershipRepository.findAllGroupsForUser(user.username) groups.size() == 1 - + when: 'Updating user role to admin puts the user in the admin group' user.setRole("ROLE_ADMIN") user.setGroupId("AAA") // Dont care that this is different, ROLE_ADMIN should take precedence def resultUserNewRole = mockMvc.perform(patch("$RESOURCE_URI/$user.username").contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsString(user)).accept(MediaType.APPLICATION_JSON)) - + then: resultUserNewRole.andExpect(status().isOk()) - .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("\$.groupId").value("admingroup")) - + .andExpect(content().contentType(MediaType.APPLICATION_JSON)) + .andExpect(jsonPath("\$.groupId").value("admingroup")) + .andExpect(jsonPath("\$.userGroups.[0].validationRegex").isEmpty()) + def groupsCheck = ownershipRepository.findAllGroupsForUser(user.username) groupsCheck.size() == 1 - + } @WithMockAdmin diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy index 14f2f3911..fc4b41ad6 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy @@ -1,6 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.security.repository -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.security.model.Group import edu.internet2.tier.shibboleth.admin.ui.security.model.Ownership import org.springframework.beans.factory.annotation.Autowired @@ -13,7 +13,8 @@ import javax.transaction.Transactional * Tests to validate the repo and model for groups * @author chasegawa */ -class GroupsRepositoryTests extends BaseDataJpaTestSetup { +@Rollback +class GroupsRepositoryTests extends AbstractBaseDataJpaTest { @Autowired GroupsRepository groupsRepo diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy index 6d3f49a2b..63d0284a6 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy @@ -1,6 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.security.repository -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.security.model.* import org.springframework.transaction.annotation.Transactional @@ -8,7 +8,7 @@ import org.springframework.transaction.annotation.Transactional * Tests to validate the repo and model for groups * @author chasegawa */ -class OwnershipRepositoryTests extends BaseDataJpaTestSetup { +class OwnershipRepositoryTests extends AbstractBaseDataJpaTest { @Transactional def setup() { ownershipRepository.deleteAll() diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy index 20c575880..2cc9b1968 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/GroupServiceTests.groovy @@ -1,10 +1,12 @@ package edu.internet2.tier.shibboleth.admin.ui.security.service -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.security.exception.InvalidGroupRegexException import edu.internet2.tier.shibboleth.admin.ui.security.model.Group +import org.springframework.test.annotation.Rollback -class GroupServiceTests extends BaseDataJpaTestSetup { +@Rollback +class GroupServiceTests extends AbstractBaseDataJpaTest { def "Test setting group regex works"() { given: Group g = new Group() diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy index a2ba7051d..f86c79764 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy @@ -1,24 +1,13 @@ package edu.internet2.tier.shibboleth.admin.ui.security.service -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.databind.SerializationFeature -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule -import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.security.model.Group import edu.internet2.tier.shibboleth.admin.ui.security.model.Ownership import edu.internet2.tier.shibboleth.admin.ui.security.model.Role import edu.internet2.tier.shibboleth.admin.ui.security.model.User -import org.springframework.boot.test.context.TestConfiguration -import org.springframework.context.annotation.Bean -import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder -import org.springframework.test.annotation.Rollback import org.springframework.transaction.annotation.Transactional -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter - -class UserServiceTests extends BaseDataJpaTestSetup { +class UserServiceTests extends AbstractBaseDataJpaTest { @Transactional def setup() { userRepository.findAll().forEach { @@ -179,15 +168,4 @@ class UserServiceTests extends BaseDataJpaTestSetup { then: gbUpdated.ownedItems.size() == 1 } - - @TestConfiguration - static class LocalConfig { - @Bean - ObjectMapper objectMapper() { - JavaTimeModule module = new JavaTimeModule() - LocalDateTimeDeserializer localDateTimeDeserializer = new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSS")) - module.addDeserializer(LocalDateTime.class, localDateTimeDeserializer) - return Jackson2ObjectMapperBuilder.json().modules(module).featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).build() - } - } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/springsecurity/AdminUserServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/springsecurity/AdminUserServiceTests.groovy index 6ceae1eef..3f72adf98 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/springsecurity/AdminUserServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/springsecurity/AdminUserServiceTests.groovy @@ -1,25 +1,41 @@ package edu.internet2.tier.shibboleth.admin.ui.security.springsecurity +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest +import edu.internet2.tier.shibboleth.admin.ui.configuration.DevConfig +import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects +import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository +import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository +import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository +import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.test.context.SpringBootTest +import org.springframework.boot.test.context.TestConfiguration +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.ComponentScan import org.springframework.security.core.userdetails.UsernameNotFoundException import org.springframework.test.context.ActiveProfiles -import spock.lang.Specification +import org.springframework.test.context.ContextConfiguration /** * Tests for AdminUserService (well, really it tests that the DevConfig worked as much as anything) * * @author Dmitriy Kopylenko */ -@SpringBootTest -@ActiveProfiles('dev') -class AdminUserServiceTests extends Specification { - +@ContextConfiguration(classes=[AUSLocalConfig]) +class AdminUserServiceTests extends AbstractBaseDataJpaTest { @Autowired AdminUserService adminUserService + @Autowired + DevConfig devConfig + + def setup() { + // db is cleaned by test setup, so we have to re-run before each test + devConfig.createDevUsersAndGroups() + } + def "Loading existing admin user with admin role"() { given: 'Valid user with admin role is available (loaded by Spring Boot Listener in dev profile)' def user = adminUserService.loadUserByUsername('admin') @@ -41,4 +57,30 @@ class AdminUserServiceTests extends Specification { then: thrown UsernameNotFoundException } -} + + @Override + protected createAdminUser() { + // Do nothing so that the dev config will create the admin user rather than the test setup + } + + @TestConfiguration + private static class AUSLocalConfig { + @Bean + AdminUserService adminUserService(UserRepository userRepository) { + return new AdminUserService(userRepository) + } + + // Rather than having a specific dev context needed, we just stand up the needed bean. + @Bean + DevConfig devConfig(UserRepository adminUserRepository, GroupsRepository groupsRepository, IGroupService groupService, + MetadataResolverRepository metadataResolverRepository, OpenSamlObjects openSamlObjects, UserService userService, + RoleRepository roleRepository, EntityDescriptorRepository entityDescriptorRepository) { + DevConfig dc = new DevConfig( adminUserRepository, groupsRepository, metadataResolverRepository, roleRepository, + entityDescriptorRepository, openSamlObjects, groupService).with { + it.userService = userService + it + } + return dc + } + } +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/IncommonJPAMetadataResolverServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/IncommonJPAMetadataResolverServiceImplTests.groovy index d0de19fd8..f5230c410 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/IncommonJPAMetadataResolverServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/IncommonJPAMetadataResolverServiceImplTests.groovy @@ -1,9 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.service -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.ShibUIConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.XSString import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter @@ -14,31 +11,19 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.filters.SignatureValidation import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolversPositionOrderContainerRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository -import edu.internet2.tier.shibboleth.admin.ui.security.service.GroupServiceImpl import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.util.AttributeUtility -import groovy.xml.XmlUtil import org.opensaml.saml.metadata.resolver.ChainingMetadataResolver import org.opensaml.saml.metadata.resolver.MetadataResolver import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.context.TestConfiguration import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Profile -import org.springframework.data.jpa.repository.config.EnableJpaRepositories -import org.springframework.test.context.ActiveProfiles import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification - import static edu.internet2.tier.shibboleth.admin.ui.util.TestHelpers.* @ContextConfiguration(classes = [IJPAMRSILocalConfig]) -class IncommonJPAMetadataResolverServiceImplTests extends BaseDataJpaTestSetup { +class IncommonJPAMetadataResolverServiceImplTests extends AbstractBaseDataJpaTest { @Autowired AttributeUtility attributeUtility diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy index 8d017b884..e2c8bc5bf 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy @@ -1,16 +1,22 @@ package edu.internet2.tier.shibboleth.admin.ui.service import com.fasterxml.jackson.databind.ObjectMapper -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.* +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.AssertionConsumerServiceRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.ContactRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.LogoutEndpointRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.MduiRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.OrganizationRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.SecurityInfoRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.ServiceProviderSsoDescriptorRepresentation import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.util.AttributeUtility import edu.internet2.tier.shibboleth.admin.util.EntityDescriptorConversionUtils -import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions import org.skyscreamer.jsonassert.JSONAssert import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.TestConfiguration @@ -26,7 +32,7 @@ import spock.lang.Ignore @ContextConfiguration(classes=[JPAEDSILocalConfig]) @PropertySource("classpath:application.yml") -class JPAEntityDescriptorServiceImplTests extends BaseDataJpaTestSetup { +class JPAEntityDescriptorServiceImplTests extends AbstractBaseDataJpaTest { @Autowired EntityService entityService @@ -768,10 +774,5 @@ class JPAEntityDescriptorServiceImplTests extends BaseDataJpaTestSetup { CustomPropertiesConfiguration customPropertiesConfiguration) { return new JPAEntityServiceImpl(openSamlObjects, attributeUtility, customPropertiesConfiguration) } - - @Bean - ModelRepresentationConversions modelRepresentationConversions(CustomPropertiesConfiguration customPropertiesConfiguration) { - return new ModelRepresentationConversions(customPropertiesConfiguration) - } } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests2.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests2.groovy index c4d8cfcab..22e90bf14 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests2.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests2.groovy @@ -1,6 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.service -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository @@ -9,10 +9,9 @@ import edu.internet2.tier.shibboleth.admin.ui.security.model.Role import edu.internet2.tier.shibboleth.admin.ui.security.model.User import org.springframework.beans.factory.annotation.Autowired import org.springframework.security.test.context.support.WithMockUser -import org.springframework.test.annotation.Rollback import org.springframework.transaction.annotation.Transactional -class JPAEntityDescriptorServiceImplTests2 extends BaseDataJpaTestSetup { +class JPAEntityDescriptorServiceImplTests2 extends AbstractBaseDataJpaTest { @Autowired EntityDescriptorRepository entityDescriptorRepository diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityServiceImplTests.groovy index bf1e1a213..d6a0f47d1 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityServiceImplTests.groovy @@ -1,6 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.service -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects @@ -18,16 +18,7 @@ import org.springframework.test.context.ContextConfiguration * @author Bill Smith (wsmith@unicon.net) */ @ContextConfiguration(classes=[JPAESILocalConfig]) -class JPAEntityServiceImplTests extends BaseDataJpaTestSetup { -// @Autowired -// AttributeUtility attributeUtility -// -// @Autowired -// CustomPropertiesConfiguration customPropertiesConfiguration -// -// @Autowired -// OpenSamlObjects openSamlObjects - +class JPAEntityServiceImplTests extends AbstractBaseDataJpaTest { @Autowired EntityService service diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAFilterServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAFilterServiceImplTests.groovy index 25dd61fa5..5c4d192c2 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAFilterServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAFilterServiceImplTests.groovy @@ -1,35 +1,21 @@ package edu.internet2.tier.shibboleth.admin.ui.service +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator import edu.internet2.tier.shibboleth.admin.ui.util.TestHelpers import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator import edu.internet2.tier.shibboleth.admin.util.AttributeUtility import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.data.jpa.repository.config.EnableJpaRepositories +import org.springframework.boot.test.context.TestConfiguration +import org.springframework.context.annotation.Bean import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification /** * @author Bill Smith (wsmith@unicon.net) */ -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -class JPAFilterServiceImplTests extends Specification { - - RandomGenerator randomGenerator - TestObjectGenerator testObjectGenerator - - @Autowired - JPAFilterServiceImpl service +@ContextConfiguration(classes = [ JPAFSIConfig ]) +class JPAFilterServiceImplTests extends AbstractBaseDataJpaTest { @Autowired AttributeUtility attributeUtility @@ -37,6 +23,12 @@ class JPAFilterServiceImplTests extends Specification { @Autowired CustomPropertiesConfiguration customPropertiesConfiguration + @Autowired + JPAFilterServiceImpl filterService + + RandomGenerator randomGenerator + TestObjectGenerator testObjectGenerator + def setup() { randomGenerator = new RandomGenerator() testObjectGenerator = new TestObjectGenerator(attributeUtility, customPropertiesConfiguration) @@ -47,7 +39,7 @@ class JPAFilterServiceImplTests extends Specification { def representation = testObjectGenerator.buildFilterRepresentation() when: - def result = service.createFilterFromRepresentation(representation) + def result = filterService.createFilterFromRepresentation(representation) then: result.name == representation.filterName @@ -71,7 +63,7 @@ class JPAFilterServiceImplTests extends Specification { def filter = testObjectGenerator.buildFilter { testObjectGenerator.entityAttributesFilter() } when: - def result = service.createRepresentationFromFilter(filter) + def result = filterService.createRepresentationFromFilter(filter) then: result.id == filter.resourceId @@ -87,4 +79,22 @@ class JPAFilterServiceImplTests extends Specification { result.filterTarget.type == filter.entityAttributesFilterTarget.entityAttributesFilterTargetType.toString() result.filterTarget.value == filter.entityAttributesFilterTarget.value } -} + + @TestConfiguration + private static class JPAFSIConfig { + @Bean + JPAFilterServiceImpl jpaFilterServiceImpl(EntityDescriptorService entityDescriptorService, EntityService entityService, FilterTargetService filterTargetService) { + return new JPAFilterServiceImpl().with { + it.entityDescriptorService = entityDescriptorService + it.entityService = entityService + it.filterTargetService = filterTargetService + it + } + } + + @Bean + JPAFilterTargetServiceImpl jpaFilterTargetService() { + return new JPAFilterTargetServiceImpl() + } + } +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy index baf0173ab..32731c64a 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy @@ -1,13 +1,19 @@ package edu.internet2.tier.shibboleth.admin.ui.service -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.PlaceholderResolverComponentsConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.ShibUIConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter import edu.internet2.tier.shibboleth.admin.ui.domain.filters.RequiredValidUntilFilter -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.* +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ClasspathMetadataResource +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataQueryProtocolScheme +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.RegexScheme +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.SvnMetadataResource +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.TemplateScheme import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlChainingMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository @@ -26,7 +32,6 @@ import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.TestConfiguration import org.springframework.context.annotation.Bean import org.springframework.core.io.ClassPathResource -import org.springframework.test.annotation.DirtiesContext import org.springframework.test.context.ContextConfiguration import org.xmlunit.builder.DiffBuilder import org.xmlunit.builder.Input @@ -35,8 +40,8 @@ import spock.lang.Unroll import static edu.internet2.tier.shibboleth.admin.ui.util.TestHelpers.generatedXmlIsTheSameAsExpectedXml -@ContextConfiguration(classes=[PlaceholderResolverComponentsConfiguration]) -class JPAMetadataResolverServiceImplTests extends BaseDataJpaTestSetup { +@ContextConfiguration(classes=[ JPAMRSIConfig, PlaceholderResolverComponentsConfiguration ]) +class JPAMetadataResolverServiceImplTests extends AbstractBaseDataJpaTest { @Autowired AttributeUtility attributeUtility @@ -363,7 +368,6 @@ class JPAMetadataResolverServiceImplTests extends BaseDataJpaTestSetup { } @Unroll - @DirtiesContext(methodMode = DirtiesContext.MethodMode.AFTER_METHOD) def 'test namespace protection [#namespaces]'() { setup: shibUIConfiguration.protectedAttributeNamespaces = namespaces @@ -387,7 +391,6 @@ class JPAMetadataResolverServiceImplTests extends BaseDataJpaTestSetup { ['http://shibboleth.net/ns/profiles', 'http://scaldingspoon.com/iam'] | '/conf/984-2.xml' } - @DirtiesContext(methodMode = DirtiesContext.MethodMode.AFTER_METHOD) def 'test namespace protection in nonURL resolver with resolver setting enabled=true'() { setup: shibUIConfiguration.protectedAttributeNamespaces = ['http://shibboleth.net/ns/profiles'] @@ -405,7 +408,6 @@ class JPAMetadataResolverServiceImplTests extends BaseDataJpaTestSetup { generatedXmlIsTheSameAsExpectedXml('/conf/1059-enabled.xml', metadataResolverService.generateConfiguration()) } - @DirtiesContext(methodMode = DirtiesContext.MethodMode.AFTER_METHOD) def 'test namespace protection in nonURL resolver with resolver setting enabled not set'() { setup: shibUIConfiguration.protectedAttributeNamespaces = ['http://shibboleth.net/ns/profiles'] @@ -455,11 +457,10 @@ class JPAMetadataResolverServiceImplTests extends BaseDataJpaTestSetup { } @TestConfiguration - private static class Config { + private static class JPAMRSIConfig { @Bean MetadataResolver metadataResolver(OpenSamlObjects openSamlObjects) { - def resource = ResourceHelper.of(new ClassPathResource("/metadata/aggregate.xml")) - def aggregate = new ResourceBackedMetadataResolver(resource){ + def aggregate = new ResourceBackedMetadataResolver(ResourceHelper.of(new ClassPathResource("/metadata/aggregate.xml"))){ @Override DateTime getLastRefresh() { return null diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImplTests.groovy index b7f4a9f7e..363dec3ad 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolverConverterServiceImplTests.groovy @@ -1,7 +1,6 @@ package edu.internet2.tier.shibboleth.admin.ui.service -import edu.internet2.tier.shibboleth.admin.ui.BaseDataJpaTestSetup -import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration +import edu.internet2.tier.shibboleth.admin.ui.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.PlaceholderResolverComponentsConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicMetadataResolverAttributes import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver @@ -12,7 +11,7 @@ import org.springframework.context.annotation.Bean import org.springframework.test.context.ContextConfiguration @ContextConfiguration(classes=[MRCSILocalConfig, PlaceholderResolverComponentsConfiguration]) -class MetadataResolverConverterServiceImplTests extends BaseDataJpaTestSetup { +class MetadataResolverConverterServiceImplTests extends AbstractBaseDataJpaTest { @Autowired MetadataResolverConverterService mrConverterServiceUnderTest diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/EntityDescriptorConversionUtilsTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/EntityDescriptorConversionUtilsTests.groovy index d7f7a427b..ba7870566 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/EntityDescriptorConversionUtilsTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/EntityDescriptorConversionUtilsTests.groovy @@ -1,40 +1,18 @@ package edu.internet2.tier.shibboleth.admin.ui.util -import org.opensaml.saml.common.xml.SAMLConstants -import org.opensaml.saml.saml2.metadata.ContactPersonTypeEnumeration - -import edu.internet2.tier.shibboleth.admin.ui.domain.ContactPerson -import edu.internet2.tier.shibboleth.admin.ui.domain.Description -import edu.internet2.tier.shibboleth.admin.ui.domain.DisplayName -import edu.internet2.tier.shibboleth.admin.ui.domain.EmailAddress -import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor -import edu.internet2.tier.shibboleth.admin.ui.domain.Extensions -import edu.internet2.tier.shibboleth.admin.ui.domain.GivenName -import edu.internet2.tier.shibboleth.admin.ui.domain.InformationURL -import edu.internet2.tier.shibboleth.admin.ui.domain.KeyDescriptor -import edu.internet2.tier.shibboleth.admin.ui.domain.Logo -import edu.internet2.tier.shibboleth.admin.ui.domain.NameIDFormat -import edu.internet2.tier.shibboleth.admin.ui.domain.PrivacyStatementURL -import edu.internet2.tier.shibboleth.admin.ui.domain.SPSSODescriptor -import edu.internet2.tier.shibboleth.admin.ui.domain.SingleLogoutService -import edu.internet2.tier.shibboleth.admin.ui.domain.UIInfo -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.ContactRepresentation -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.LogoutEndpointRepresentation -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.MduiRepresentation -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.SecurityInfoRepresentation -import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.ServiceProviderSsoDescriptorRepresentation +import edu.internet2.tier.shibboleth.admin.ui.domain.* +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.* import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects import edu.internet2.tier.shibboleth.admin.util.EntityDescriptorConversionUtils +import org.opensaml.saml.common.xml.SAMLConstants +import org.opensaml.saml.saml2.metadata.ContactPersonTypeEnumeration import spock.lang.Shared import spock.lang.Specification import spock.lang.Unroll -import static edu.internet2.tier.shibboleth.admin.util.EntityDescriptorConversionUtils.* - class EntityDescriptorConversionUtilsTests extends Specification { @Shared - def OpenSamlObjects openSAMLObjects + OpenSamlObjects openSAMLObjects def setup() { openSAMLObjects = new OpenSamlObjects().with { @@ -42,7 +20,7 @@ class EntityDescriptorConversionUtilsTests extends Specification { it } - def EntityDescriptorConversionUtils utilsUnderTest = new EntityDescriptorConversionUtils().with { + new EntityDescriptorConversionUtils().with { it.openSamlObjects = openSAMLObjects it } @@ -81,7 +59,6 @@ class EntityDescriptorConversionUtilsTests extends Specification { when: def keyDescriptor = EntityDescriptorConversionUtils.createKeyDescriptor('testName', 'both', 'testValue') - def x = openSAMLObjects.marshalToXmlString(keyDescriptor) then: assert keyDescriptor == expected } @@ -92,7 +69,7 @@ class EntityDescriptorConversionUtilsTests extends Specification { def key2 = EntityDescriptorConversionUtils.createKeyDescriptor('test', 'signing', 'test') then: - assert key1.equals(key2) + assert key1 == key2 } @Unroll From c8b3b00ac660232e6628fb54009fe4941781f95c Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Wed, 1 Sep 2021 11:40:45 -0700 Subject: [PATCH 044/138] Fixed ids --- ui/src/app/core/components/Header.js | 35 +++++++++++++++------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/ui/src/app/core/components/Header.js b/ui/src/app/core/components/Header.js index 259903a31..598608a87 100644 --- a/ui/src/app/core/components/Header.js +++ b/ui/src/app/core/components/Header.js @@ -4,11 +4,9 @@ import { Link } from 'react-router-dom'; import Nav from 'react-bootstrap/Nav'; import Navbar from 'react-bootstrap/Navbar'; import Dropdown from 'react-bootstrap/Dropdown'; -import OverlayTrigger from 'react-bootstrap/OverlayTrigger'; -import Tooltip from 'react-bootstrap/Tooltip'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faTh, faSignOutAlt, faPlusCircle, faCube, faCubes, faUsersCog, faUser, faSpinner, faUserCircle, faCog } from '@fortawesome/free-solid-svg-icons'; +import { faTh, faSignOutAlt, faPlusCircle, faCube, faCubes, faUsersCog, faSpinner, faUserCircle, faCog, faFileArchive } from '@fortawesome/free-solid-svg-icons'; import Translate from '../../i18n/components/translate'; import { useTranslator } from '../../i18n/hooks'; @@ -42,56 +40,61 @@ export function Header () {