簡體   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