Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用UML序列图生成自动测试用例_C#_Xml_Visual Studio_Uml_Testcase - Fatal编程技术网

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

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

我已经完成了序列图并将其转换为XML文件,然后我使用C开发了解析器来从XML文件中提取测试用例,但是,解析器仍然不能很好地工作,如何提取生成测试用例所需的确切标记和元素

这是针对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;

    }
实际结果必须是从序列图生成的测试用例

拥有

是吗

可能缺少一个“/”,可以通过

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

显然,您没有阅读搜索交互的模型文件,但该文件是一个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/";