@Test(dataProvider = "dp") public void testParsing(String file) throws Exception { Parser parser = new Parser(file); List<XmlSuite> suites = parser.parseToList(); assertEquals(suites.size(), 1); }
protected static List<XmlSuite> getSuites(String... suiteFiles){ List<XmlSuite> suites = new ArrayList<>(); for (String suiteFile : suiteFiles) { try { suites.addAll(new Parser(suiteFile).parseToList()); } catch (IOException e) { throw new TestNGException(e); } } return suites; }
@Test public void nullMethodInterceptorWorksInTestngXml() throws IOException, ParserConfigurationException, SAXException { File f = File.createTempFile("testng-tests-", ""); f.deleteOnExit(); BufferedWriter bw = new BufferedWriter(new FileWriter(f)); bw.write(XML); bw.close(); try { List<XmlSuite> xmlSuites = new Parser(f.getAbsolutePath()).parseToList(); TestNG tng = create(); tng.setXmlSuites(xmlSuites); testNullInterceptor(tng); } catch(Exception ex) { ex.printStackTrace(); } }
public static void main(String[] args) throws Exception { TestNG tng = new TestNG(); String xml = "<suite name=\"dgf\" verbose=\"10\"><test name=\"dgf\"><classes>" + "<class name=\"test.dependent.MissingMethodSampleTest\"/>" + "</classes></test></suite>"; System.out.println(xml); ByteArrayInputStream is = new ByteArrayInputStream(xml.getBytes()); tng.setXmlSuites(new Parser(is).parseToList()); tng.run(); } }
public static void main(String[] args) throws Exception { TestNG tng = new TestNG(); String xml = "<suite name=\"dgf\" verbose=\"10\">" + "<test name=\"dgf\">" + "<classes><class name=\"test.dependent.MissingGroupSampleTest\"></class></classes>" + "</test>" + "</suite>"; System.out.println(xml); ByteArrayInputStream is = new ByteArrayInputStream(xml.getBytes()); tng.setXmlSuites(new Parser(is).parseToList()); tng.run(); } }
@Test(description = "GITHUB-435") public void ensureSuiteLevelPackageIsAppliedToAllTests() throws IOException { Parser parser = new Parser("src/test/resources/xml/issue435.xml"); List<XmlSuite> suites = parser.parseToList(); XmlSuite xmlsuite = suites.get(0); assertThat(xmlsuite.getTests().get(0).getClasses().size()).isEqualTo(0); TestNG testNG = create(); testNG.setXmlSuites(suites); testNG.setUseDefaultListeners(false); testNG.run(); assertThat(xmlsuite.getTests().get(0).getClasses().size()).isEqualTo(1); }
@Test(description = "GITHUB-1674") public void ensureSuiteLevelBeanshellIsAppliedToAllTests() throws IOException { PrintStream current = System.out; StringOutputStream stream = new StringOutputStream(); try { System.setOut(new PrintStream(stream)); Parser parser = new Parser("src/test/resources/xml/issue1674.xml"); List<XmlSuite> suites = parser.parseToList(); XmlSuite xmlsuite = suites.get(0); assertThat(xmlsuite.getTests().get(0).getMethodSelectors().size()).isEqualTo(0); TestNG testNG = create(); testNG.setXmlSuites(suites); testNG.setUseDefaultListeners(false); testNG.run(); assertThat(xmlsuite.getTests().get(0).getMethodSelectors().size()).isEqualTo(1); assertThat(stream.toString()).contains(Arrays.asList("rajni", "kamal", "mgr")); } finally { System.setOut(current); } }
@Test public void checkDuplicateChildSuites() throws IOException { String path = getPathToResource("checksuitesinitialization/parent-suite-with-duplicate-child.xml"); Parser parser = new Parser(path); List<XmlSuite> suites = parser.parseToList(); XmlSuite rootSuite = suites.get(0); assertEquals(rootSuite.getChildSuites().size(), 4); XmlSuite suite3 = rootSuite.getChildSuites().get(1); assertEquals(suite3.getName(), "Child Suite 3"); assertEquals(suite3.getChildSuites().size(), 3); XmlSuite suite3_0 = rootSuite.getChildSuites().get(3); assertEquals(suite3.getName(), "Child Suite 3"); assertEquals(suite3_0.getChildSuites().size(), 3); XmlSuite suite5 = suite3.getChildSuites().get(2); assertEquals(suite5.getName(), "Child Suite 5"); assertEquals(suite5.getTests().size(), 1); XmlSuite suite5_0 = suite3_0.getChildSuites().get(2); assertEquals(suite5_0.getName(), "Child Suite 5"); assertEquals(suite5_0.getTests().size(), 1); } }
private static void runTests(String suiteFile, int childSuitesCount, int suiteCounter, String... suiteNames) { List<XmlSuite> suites; try { suites = new Parser(suiteFile).parseToList(); } catch (IOException e) { throw new TestNGException(e); } assertEquals(suites.size(), 1); assertEquals(suites.get(0).getChildSuites().size(), childSuitesCount); TestNG testng = create(suites); SuiteCounter listener = new SuiteCounter(); testng.addListener((ITestNGListener) listener); testng.run(); assertEquals(listener.getCounter(), suiteCounter); assertThat(listener.getSuiteNames()).containsExactly(suiteNames); } }
@Test(description = "GITHUB-1668") public void ensureNoExceptionsAreRaisedWhenMethodSelectorsDefinedAtSuiteLevel() throws IOException { Parser parser = new Parser("src/test/resources/xml/issue1668.xml"); List<XmlSuite> suites = parser.parseToList(); XmlSuite xmlsuite = suites.get(0); TestNG testNG = create(); testNG.setXmlSuites(suites); testNG.setUseDefaultListeners(false); testNG.run(); // Trigger a call to "toXml()" to ensure that there is no exception raised. assertThat(xmlsuite.toXml()).isNotEmpty(); }
private static Path checkFailed(Path testngFailedXml, String... failedMethods) throws IOException { Path outputDirectory = TestHelper.createRandomDirectory(); List<XmlSuite> suites = new Parser(Files.newInputStream(testngFailedXml)).parseToList(); TestNG tng = create(outputDirectory, suites); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener(listener); tng.addListener(new FailedReporter()); tng.run(); assertThat(listener.getSucceedMethodNames()).isEmpty(); assertThat(listener.getSkippedMethodNames()).isEmpty(); assertThat(listener.getFailedMethodNames()).containsExactly(failedMethods); Path testngFailedXml2 = outputDirectory.resolve(FailedReporter.TESTNG_FAILED_XML); assertThat(testngFailedXml2).exists(); return testngFailedXml2; } }
@Test public void checkXmlSuiteAddition() throws IOException { TestNG tng = create(); String testngXmlPath = getPathToResource("sanitycheck/test-s-b.xml"); Parser parser = new Parser(testngXmlPath); tng.setXmlSuites(parser.parseToList()); tng.initializeSuitesAndJarFile(); } }