private void generateXmlFile(XmlSuite xmlSuite) { String content = xmlSuite.toXml().replaceAll("<", "<").replaceAll(">", ">") .replaceAll(" ", " ").replaceAll("\n", "<br/>"); String sb = "<html><head><title>testng.xml for "+ xmlSuite.getName() + "</title></head><body><tt>" + content + "</tt></body></html>"; Utils.writeFile(getOutputDirectory(xmlSuite), TESTNG_XML, sb); }
public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException, XPathExpressionException, InstantiationException, IllegalAccessException, SecurityException, IllegalArgumentException, NoSuchMethodException, InvocationTargetException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); // never forget this! DocumentBuilder builder = factory.newDocumentBuilder(); FileInputStream inputStream = new FileInputStream(new File(System.getProperty("user.home") + "/java/testng/src/test/resources/testng-all.xml")); Document doc = builder.parse(inputStream); XmlSuite result = (XmlSuite) new XDom(new TestNGTagFactory(), doc).parse(); test(result); System.out.println(result.toXml()); }
public XmlSuite parse2(String currentFile, InputStream inputStream, boolean loadClasses) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); // never forget this! DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(inputStream); DomUtil xpu = new DomUtil(doc); XmlSuite result = new XmlSuite(); xpu.populate(result); System.out.println(result.toXml()); return result; } }
private void generateXmlFile(XmlSuite xmlSuite) { String content = xmlSuite .toXml() .replaceAll("<", "<") .replaceAll(">", ">") .replaceAll(" ", " ") .replaceAll("\n", "<br/>"); String sb = "<html><head><title>testng.xml for " + xmlSuite.getName() + "</title></head><body><tt>" + content + "</tt></body></html>"; Utils.writeFile(getOutputDirectory(xmlSuite), TESTNG_XML, sb); }
System.out.println(result.toXml()); return result;
writeFile(newFile, suite.toXml());
@Test(description = "github-1455") public void testToXmlWithComments() { XmlSuite suite = createSuite(); String xml = suite.toXml(); assertThat(xml).contains(COMMAND_LINE_TEST); assertThat(xml).contains(DEFAULT_SUITE); }
} else if (file.endsWith(".yaml")) { File newFile = new File(m_outputDirectory, baseName + ".xml"); writeFile(newFile, suite.toXml()); } else { throw new TestNGException("Unknown file type:" + file);
@Test(description = "github-1455", dependsOnMethods = "testToXmlWithComments") public void testToXmlWithoutComments() { System.setProperty("testng.xml.weaver", "org.testng.xml.CommentDisabledXmlWeaver"); XmlSuite suite = createSuite(); String xml = suite.toXml(); assertThat(xml).doesNotContain(COMMAND_LINE_TEST); assertThat(xml).doesNotContain(DEFAULT_SUITE); }
protected void generateFailureSuite(XmlSuite xmlSuite, ISuite suite, String outputDir) { XmlSuite failedSuite = xmlSuite.shallowCopy(); failedSuite.setName("Failed suite [" + xmlSuite.getName() + "]"); m_xmlSuite= failedSuite; Map<String, ISuiteResult> results = suite.getResults(); for(Map.Entry<String, ISuiteResult> entry : results.entrySet()) { ISuiteResult suiteResult = entry.getValue(); ITestContext testContext = suiteResult.getTestContext(); generateXmlTest(testContext.getCurrentXmlTest(), testContext, testContext.getFailedTests().getAllResults(), testContext.getSkippedTests().getAllResults()); } if(null != failedSuite.getTests() && failedSuite.getTests().size() > 0) { Utils.writeUtf8File(outputDir, TESTNG_FAILED_XML, failedSuite.toXml()); Utils.writeUtf8File(suite.getOutputDirectory(), TESTNG_FAILED_XML, failedSuite.toXml()); } }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); xsb.push("pre"); xsb.addString(Utils.escapeHtml(suite.getXmlSuite().toXml())); xsb.pop("pre"); return xsb.toXML(); }
@Test(dataProvider = "dp", description = "GITHUB-778") public void testTimeOut(String timeout, int size, int lineNumber) { XmlSuite suite = new XmlSuite(); suite.setTimeOut(timeout); StringReader stringReader = new StringReader(suite.toXml()); List<String> resultLines = Lists.newArrayList(); List<Integer> lineNumbers = grep(stringReader, "time-out=\"1000\"", resultLines); assertThat(lineNumbers).size().isEqualTo(size); assertThat(resultLines).size().isEqualTo(size); if (size > 0) { assertThat(lineNumbers.get(size - 1)).isEqualTo(lineNumber); } }
protected void generateFailureSuite(XmlSuite xmlSuite, ISuite suite, String outputDir) { XmlSuite failedSuite = xmlSuite.shallowCopy(); failedSuite.setName("Failed suite [" + xmlSuite.getName() + "]"); m_xmlSuite = failedSuite; Map<String, ISuiteResult> results = suite.getResults(); for (Map.Entry<String, ISuiteResult> entry : results.entrySet()) { ISuiteResult suiteResult = entry.getValue(); ITestContext testContext = suiteResult.getTestContext(); generateXmlTest( testContext.getCurrentXmlTest(), testContext, testContext.getFailedTests().getAllResults(), testContext.getSkippedTests().getAllResults()); } if (null != failedSuite.getTests() && failedSuite.getTests().size() > 0) { Utils.writeUtf8File(outputDir, TESTNG_FAILED_XML, failedSuite.toXml()); Utils.writeUtf8File(suite.getOutputDirectory(), TESTNG_FAILED_XML, failedSuite.toXml()); } }
@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(); }
@Override public String getContent(ISuite suite, XMLStringBuffer main) { XMLStringBuffer xsb = new XMLStringBuffer(main.getCurrentIndent()); xsb.push("pre"); xsb.addString(Utils.escapeHtml(suite.getXmlSuite().toXml())); xsb.pop("pre"); return xsb.toXML(); }
public void saveXmlFile() { String path = m_xmlFile.getText(); if (! path.endsWith(".xml")) path = path + (path.endsWith("/") ? "testng.xml" : "/testng.xml"); IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path)); ByteArrayInputStream is = new ByteArrayInputStream(m_xmlSuite.toXml().getBytes()); try { org.testng.eclipse.ui.util.Utils.createFileWithDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), file, is); } catch (CoreException e) { e.printStackTrace(); } }
/** * 生成testNG调用的xml文件 * @return */ private String createXmlFile(){ List<String> arr=new ArrayList<String>(); String xml=this.suite.toXml(); String xx[]=xml.split("\n"); for (int i = 0; i < xx.length; i++) { if (xx[i].indexOf("verbose")!=-1) { String temp=xx[i].trim(); xx[i]=temp.substring(0, temp.indexOf("verbose")+12)+" preserve-order=\"true\" " +temp.substring(temp.indexOf("verbose")+12, temp.length()); } arr.add(xx[i]); } String xmlName = getXmlFileFolder()+getSuiteName()+".xml"; if (FileUtil.writeString(arr, xmlName, "UTF-8")){ log.info("生成Xml文件成功:"+xmlName); return xmlName; }else { log.error("生成Xml文件失败:"+xmlName); return null; } }
private void updateUi() { m_xmlSuite.setName(m_suiteText.getText()); m_xmlSuite.getTests().get(0).setName(m_testText.getText()); m_xmlSuite.setParallel(m_parallelCombo.getItem(m_parallelCombo.getSelectionIndex())); Integer threadCount = null; try { threadCount = Integer.parseInt(m_threadCountText.getText()); m_xmlSuite.setThreadCount(threadCount); } catch(NumberFormatException ex) { m_xmlSuite.setThreadCount(XmlSuite.DEFAULT_THREAD_COUNT); } updateXmlSuite(m_xmlSuite); m_previewText.setText(m_xmlSuite.toXml()); }
write(suite.toXml().getBytes("UTF-8"), result); } catch (IOException e) { LOG.error("Can't write TestNG suite xml file.", e);
XmlClass xmlClass = new XmlClass(); xmlClass.setName("com.igate.tests.GalenParallelMain"); // xmlClass.setClass(GalenParallelMain.class); Map<String, String> parameters = new HashMap<String, String>(); parameters.put("runtype", "mobile"); parameters.put("browser", "na"); // ... XmlSuite xmlSuite = new XmlSuite(); xmlSuite.setName("cool"); xmlSuite.setThreadCount(4); xmlSuite.setVerbose(5); xmlSuite.setParallel("tests"); XmlTest xmlTest = new XmlTest(xmlSuite); xmlTest.setName("test_case6"); xmlTest.setParallel("tests"); xmlTest.setParameters(parameters); xmlTest.setClasses(Arrays.asList(xmlClass)); // the XML you requested System.out.println(xmlSuite.toXml()); TestNG testNG = new TestNG(); testNG.setXmlSuites(Arrays.asList(xmlSuite)); testNG.run();