繁体   English   中英

使用 UML 序列图生成自动测试用例

[英]to generate automatic test cases using UML sequence diagram

  1. 我已经完成了序列图并将其转换为 XML 文件,然后我使用 C# 开发了解析器以从该 XML 文件中提取测试用例,但是解析器仍然无法正常工作,我该如何提取我需要的确切标签和元素用于生成测试用例?

  2. 这是用于 c# 控制台应用程序 Visual Studio 2017。

     public XDocument GetDiagramXml(string diagramName, string diagramXmlFile) { XNamespace UML = "omg.org/UML1.3"; XDocument diagramElements = XDocument.Load(diagramXmlFile); XElement test = XElement.Load(diagramXmlFile); IEnumerable<XElement> elements = diagramElements.Descendants("XMI.content"); foreach (XElement element in elements) { XElement xmiElement2 = element.Element(UML + "Diagram"); XElement xmiElement3 = null; if (xmiElement2.Attribute("name").Value == diagramName) xmiElement3 = xmiElement2.Element(UML + "Diagram.element"); var output = xmiElement3.Descendants(UML + "DiagramElement"); diagramElements = XDocument.Load(xmiElement3.CreateReader()); } return diagramElements; } public Dictionary<string, string> GetDiagramElments(XDocument diagramRawXml) { Dictionary<string, string> diagramExtractedElements = new Dictionary<string, string>(); return diagramExtractedElements; } public Dictionary<string, Dictionary<string, string>> GetDiagramMessages(Dictionary<string, string> diagramExtractedElement, string diagramXmlFile) { Dictionary<string, Dictionary<string, string>> messagesList = new Dictionary<string, Dictionary<string, string>>(); return messagesList; }
  3. 实际结果必须是从序列图中生成的测试用例。

XNamespace UML = "omg.org/UML1.3"; ... XElement xmiElement2 = element.Element(UML + "Diagram"); ... xmiElement3 = xmiElement2.Element(UML + "Diagram.element"); ... var output = xmiElement3.Descendants(UML + "DiagramElement");

你做

XElement xmiElement2 = element.Element("omg.org/UML1.3Diagram"); ... xmiElement3 = xmiElement2.Element("omg.org/UML1.3Diagram.element"); ... var output = xmiElement3.Descendants("omg.org/UML1.3DiagramElement");

可能缺少一个“/”,这可以解决

XNamespace UML = "omg.org/UML1.3/";

但不确定这是否足以读取元素,因为一切都是“奇怪的”


显然你没有读取模型文件(搜索交互),但该文件是一个 UML 图表交换(因为DiagramElement ),你怎么会有UML1.3 什么工具生成的?

您确定要从 UML Diagram Interchange 工作吗? 您确定要从交互/序列图工作吗? 交互是“有限的”,因为例如这不是一种行为

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM