C# 使用UML序列图生成自动测试用例
我已经完成了序列图并将其转换为XML文件,然后我使用C开发了解析器来从XML文件中提取测试用例,但是,解析器仍然不能很好地工作,如何提取生成测试用例所需的确切标记和元素 这是针对c控制台应用程序visual studio 2017的C# 使用UML序列图生成自动测试用例,c#,xml,visual-studio,uml,testcase,C#,Xml,Visual Studio,Uml,Testcase,我已经完成了序列图并将其转换为XML文件,然后我使用C开发了解析器来从XML文件中提取测试用例,但是,解析器仍然不能很好地工作,如何提取生成测试用例所需的确切标记和元素 这是针对c控制台应用程序visual studio 2017的 public XDocument GetDiagramXml(string diagramName, string diagramXmlFile) { XNamespace UML = "omg.org/UML1.3"; XD
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;
}
实际结果必须是从序列图生成的测试用例
拥有
是吗
可能缺少一个“/”,可以通过
但不确定这是否足以读取元素,因为一切都是“奇怪的”
显然,您没有阅读搜索交互的模型文件,但该文件是一个UML图交换,因为DiagrameElement,您怎么能拥有UML1.3?是什么工具生成的
您确定要使用UML图交换吗?
您确定要从交互/序列图开始工作吗?互动是“有限的”,因为这不是一种行为,例如你认为某人如何根据提供的信息为你提供帮助?救命啊,没用的,没用的。阅读帮助页面,找出哪些问题被认为是好问题。好的,我使用EnterpriseArchitect设计了一个序列图,并使用相同的工具为序列自动生成一个XML文件。我需要的是通过使用c开发的解析器为该序列生成一个测试用例。解析器将读取序列XML文件并提取标记、值和元素,然后确定所有可能的路径。
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/";