Best SeLion code snippet using com.paypal.selion.platform.dataprovider.pojos.KeyValuePair
Source:XmlDataProviderTest.java  
...29import com.paypal.selion.platform.dataprovider.filter.SimpleIndexInclusionFilter;30import com.paypal.selion.platform.dataprovider.impl.XmlFileSystemResource;31import com.paypal.selion.platform.dataprovider.impl.XmlInputStreamResource;32import com.paypal.selion.platform.dataprovider.pojos.KeyValueMap;33import com.paypal.selion.platform.dataprovider.pojos.KeyValuePair;34import com.paypal.selion.platform.dataprovider.pojos.xml.Address;35import com.paypal.selion.platform.dataprovider.pojos.xml.User;36import com.paypal.selion.platform.utilities.FileAssistant;37/*38 * Unit tests for {@code XmlDataProvider}.39 */40public class XmlDataProviderTest {41    private static String listOfAddresses = "src/test/resources/testdata/dataprovider/ListOfAddresses.xml";42    private static String listOfKeyValuePairs = "src/test/resources/testdata/dataprovider/ListOfKeyValuePairs.xml";43    private static String listOfUsersWithInlineAddress = "src/test/resources/testdata/dataprovider/ListOfUsersWithAddress.xml";44    private static String listOfMultipleInlineObjects = "src/test/resources/testdata/dataprovider/SampleMultipleUsersPerDocument.xml";45    private static String addr1 = "1234 Elm st";46    private static String addr2 = "12 Pico st";47    private static String[] expectedKeys = { "k1", "k2", "k3" };48    private static String[] expectedValues = { "val1", "val2", "val3" };49    @DataProvider(name = "getListOfObjects")50    public static Object[][] dataProviderGetListOfAddresses() throws XPathExpressionException, IOException {51        XmlDataSource resource = new XmlFileSystemResource(listOfAddresses, Address.class);52        SeLionDataProvider dataProvider = DataProviderFactory.getDataProvider(resource);53        Object[][] data = dataProvider.getAllData();54        return data;55    }56    @Test(groups = "unit", dataProvider = "getListOfObjects")57    public void testDataProviderGetListOfAddresses(Address address) {58        assertNotNull(address);59        String street = address.getStreet();60        assertTrue(street.equals(addr1) || street.equals(addr2));61    }62    @DataProvider(name = "getNameValueCollection")63    public static Object[][] dataProviderGetNameValueFromXmlResource() throws IOException {64        XmlDataSource resource = new XmlFileSystemResource(listOfKeyValuePairs, KeyValueMap.class);65        XmlDataProvider dataProvider = (XmlDataProvider) DataProviderFactory.getDataProvider(resource);66        Object[][] data = dataProvider.getAllKeyValueData();67        return data;68    }69    @Test(groups = "unit", dataProvider = "getNameValueCollection")70    public void testDataProviderGetNameValueFromXmlResource(KeyValuePair keyValueItem) {71        assertNotNull(keyValueItem);72        assertTrue(Arrays.asList(expectedKeys).contains(keyValueItem.getKey()));73        assertTrue(Arrays.asList(expectedValues).contains(keyValueItem.getValue()));74    }75    @DataProvider(name = "getFilteredNameValueCollection")76    public static Object[][] dataProviderGetFilteredNameValueFromXmlResource() throws IOException {77        XmlDataSource resource = new XmlFileSystemResource(listOfKeyValuePairs, KeyValueMap.class);78        SeLionDataProvider dataProvider = DataProviderFactory.getDataProvider(resource);79        Object[][] data = dataProvider.getDataByKeys(new String[] { "k2" });80        return data;81    }82    @Test(groups = "unit", dataProvider = "getFilteredNameValueCollection")83    public void testDataProviderGetDataByKeys(KeyValuePair keyValueItem) {84        assertNotNull(keyValueItem);85        assertTrue("k2".equals(keyValueItem.getKey()));86        assertTrue("val2".equals(keyValueItem.getValue()));87    }88    @DataProvider(name = "getListFromNestedObjects")89    public static Object[][] dataProviderGetListOfUsers() throws XPathExpressionException, IOException {90        XmlDataSource resource = new XmlInputStreamResource(new BufferedInputStream(91                FileAssistant.loadFile(listOfUsersWithInlineAddress)), User.class, "xml");92        SeLionDataProvider dataProvider = DataProviderFactory.getDataProvider(resource);93        Object[][] data = dataProvider.getAllData();94        return data;95    }96    @DataProvider(name = "getMultipleObjectsUsingXpath")97    public static Object[][] dataProviderGetMultipleObjectsFromXmlResource() throws XPathExpressionException,98            IOException {99        Map<String, Class<?>> map = new LinkedHashMap<String, Class<?>>();100        map.put("//transactions/transaction/user[1]", User.class);101        map.put("//transactions/transaction/user[2]", User.class);102        XmlDataSource resource = new XmlFileSystemResource(listOfMultipleInlineObjects, map);103        SeLionDataProvider dataProvider = DataProviderFactory.getDataProvider(resource);104        Object[][] data = dataProvider.getAllData();105        return data;106    }107    @DataProvider(name = "getDataFilterByIndexIndividual")108    public static Iterator<Object[]> dataProviderByFilterGetDataByIndexIndividual() throws IOException,109            DataProviderException {110        XmlDataSource resource = new XmlInputStreamResource(new BufferedInputStream(111                FileAssistant.loadFile(listOfAddresses)), Address.class, "xml");112        SeLionDataProvider dataProvider = DataProviderFactory.getDataProvider(resource);113        SimpleIndexInclusionFilter filter = new SimpleIndexInclusionFilter("1,3,5");114        Iterator<Object[]> data = dataProvider.getDataByFilter(filter);115        return data;116    }117    @Test(groups = "unit", dataProvider = "getDataFilterByIndexIndividual")118    public void testDataProviderGetDataFilterByIndexIndividual(Address address) {119        assertNotNull(address);120        String street = address.getStreet();121        assertTrue(street.equals(addr1));122    }123    @DataProvider(name = "getDataFromCustomKeyFilter")124    public static Iterator<Object[]> dataProviderUsingCustomKeyFilter() throws IOException, DataProviderException {125        XmlDataSource resource = new XmlFileSystemResource(listOfAddresses, Address.class);126        SeLionDataProvider dataProvider = DataProviderFactory.getDataProvider(resource);127        CustomKeyFilter filter = new CustomKeyFilter("street", "1234 Elm st");128        Iterator<Object[]> data = dataProvider.getDataByFilter(filter);129        return data;130    }131    @Test(groups = "unit", dataProvider = "getDataFromCustomKeyFilter")132    public void testDataProviderUsingCustomKeyFilter(Address address) {133        assertNotNull(address);134        String street = address.getStreet();135        assertTrue(street.equals(addr1));136    }137    @Test138    public void getDataAsHashtable() throws XPathExpressionException, IOException {139        XmlDataSource resource = new XmlFileSystemResource(listOfKeyValuePairs, KeyValueMap.class);140        SeLionDataProvider dataProvider = DataProviderFactory.getDataProvider(resource);141        Hashtable<String, Object> data = dataProvider.getDataAsHashtable();142        assertNotNull(data);143        assertNotNull(data.get("k1"));144        KeyValuePair k1 = (KeyValuePair) data.get("k1");145        assertNotNull(k1.getKey());146        assertNotNull(k1.getValue());147        assertNotNull(data.get("k2"));148        KeyValuePair k2 = (KeyValuePair) data.get("k2");149        assertNotNull(k2.getKey());150        assertNotNull(k2.getValue());151        assertNotNull(data.get("k3"));152        KeyValuePair k3 = (KeyValuePair) data.get("k3");153        assertNotNull(k3.getKey());154        assertNotNull(k3.getValue());155    }156}...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
