Source:
<code>public void invoke() { if (dmrAttribute == null) dmrAttribute = identifier; if (rowName != null) page.getResourceManager().selectByName(rowName); ConfigAreaFragment area = page.getConfig(); ConfigFragment fragment; if (tab != null) { area.clickTabByLabel(tab); } fragment = Graphene.createPageFragment(ConfigFragment.class, area.getRoot()); Editor edit = fragment.edit(); if (disclosureLabel != null) { By disclosure = ByJQuery.selector("a.header:has(td:contains('" + disclosureLabel + "'):visible)"); fragment.getRoot().findElement(disclosure).click(); } if (defineFirst) { edit.checkbox(defineIdentifier, true); } if (defineClass) { edit.text(defineClassIdentifier, "clazz"); } for(String i : inputsToClear){ edit.text(i, ""); } switch (type) { case TEXTAREA: edit.text(identifier, String.join("\n", lineValues)); break; case TEXT: edit.text(identifier, stringValue); break; case CHECKBOX: edit.checkbox(identifier, booleanValue); break; case SELECT: edit.select(identifier, stringValue); break; } <START> fragment.saveAndAssert(expectedChange); <END> if (expectedChange) { if (this.insideVerifier == null) { this.insideVerifier = verifier; } switch (type) { case TEXTAREA: insideVerifier.verifyAttribute(dmrAttribute, lineValues); break; case SELECT: case TEXT: insideVerifier.verifyAttribute(dmrAttribute, stringValue); break; case CHECKBOX: insideVerifier.verifyAttribute(dmrAttribute, String.valueOf(booleanValue)); break; } } else { fragment.cancel(); } }</code><technical_language>I this controversy line is caused this PR I belive avoid deprecate usage of asserts in UI elements. Mixture of UI assert logic is clean safe (hiding failure reasons Graphene proxies.) please fragment.save() instead extract assert logic here</technical_language>

Target:
public void invoke() { if (dmrAttribute == null) dmrAttribute = identifier; if (rowName != null) page.getResourceManager().selectByName(rowName); ConfigAreaFragment area = page.getConfig(); ConfigFragment fragment; if (tab != null) { area.clickTabByLabel(tab); } fragment = Graphene.createPageFragment(ConfigFragment.class, area.getRoot()); Editor edit = fragment.edit(); if (disclosureLabel != null) { By disclosure = ByJQuery.selector("a.header:has(td:contains('" + disclosureLabel + "'):visible)"); fragment.getRoot().findElement(disclosure).click(); } for(String i : inputsToClear){ edit.text(i, ""); } switch (type) { case TEXTAREA: edit.text(identifier, String.join("\n", lineValues)); break; case TEXT: edit.text(identifier, stringValue); break; case CHECKBOX: edit.checkbox(identifier, booleanValue); break; case SELECT: edit.select(identifier, stringValue); break; } boolean finished = fragment.save(); if (expectedChange) { Assert.assertTrue("Config was supposed to be saved successfully, read view should be active.", finished); } else { Assert.assertFalse("Config wasn't supposed to be saved, read-write view should be active.", finished); } if (expectedChange) { if (this.insideVerifier == null) { this.insideVerifier = verifier; } switch (type) { case TEXTAREA: insideVerifier.verifyAttribute(dmrAttribute, lineValues); break; case SELECT: case TEXT: insideVerifier.verifyAttribute(dmrAttribute, stringValue); break; case CHECKBOX: insideVerifier.verifyAttribute(dmrAttribute, String.valueOf(booleanValue)); break; } } else { fragment.cancel(); } }