You are here:
Sample Flexcard Test (Java)
This example demonstrates the complete end-to-end user journey, including setup, navigation, and interaction with Flexcards.
package utam.examples.salesforce.web;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import org.testng.Assert;
import utam.utils.salesforce.TestEnvironment;
import utam.omnistudio.flexcard.pageobjects.FlexCardState;
import utam.omnistudio.core.pageobjects.FlexCard;
import utam.omnistudio.flexcard.pageobjects.Element;
import java.util.List;
import utam.flexipage.pageobjects.RecordHomeTemplateDesktop2;
import utam.global.pageobjects.RecordHomeFlexipage2;
import utam.omnistudio.flexcard.pageobjects.OutputField;
public class FlexcardTest extends SalesforceWebTestBase {
private final TestEnvironment testEnvironment = getTestEnvironment("sandbox44");
@BeforeTest
public void setup() {
setupChrome();
login(testEnvironment, "home");
}
private FlexCard goDirectlyToFlexcard() {
getDriver().get(YOUR_FLEXCARD_EMBEDDED_RECORD_PAGE_URL);
RecordHomeFlexipage2 recordHome = from(RecordHomeFlexipage2.class);
FlexCard flexcard = recordHome.getDecorator().getEventBroker()
.getGeneratedTemplate(RecordHomeTemplateDesktop2.class)
.getComponent2("runtime_omnistudio_flexcard")
.getContent(FlexCard.class);
return flexcard;
}
@Test
public void testFlexcard() throws InterruptedException {
FlexCard flexcard = goDirectlyToFlexcard();
flexcard.waitForVisible();
FlexCardState state = flexcard.getFlexCardStates().get(0);
List<Element> elements = state.getElements();
String label = elements.get(0).getOutputField().getLabel().getText();
Assert.assertEquals(label, "Result", "The label is not correct");
}
@AfterTest
public void tearDown() {
quitDriver();
}
}

