ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

一种RF测试执行优化思路(附可执行程序)

2021-12-11 01:01:11  阅读:155  来源: 互联网

标签:Tag leafNode 节点 RF 文件夹 ToString 测试 可执行程序


提供一种思路,解决以下问题: 1、通过RIDE执行测试用例的话,无法调换待执行测试集顺序。 2、无法将当前选择保存为自己的测试集。 鉴于此,需要有方案加以解决。   思路其实也很简单,通过将测试集文件夹、测试集路径加以拼接,利用已有的pybot命令直接执行即可。为了简化操作,可以开发一个界面,读取用例文件夹形成用例树,供使用者手动选择单个或一批用例,拼接形成执行语句。列表可以保存、读取、拷贝到cmd执行,或通过界面直接执行。   0 0     以下结合代码,讲解下测试集文件夹形成树状结构的过程: 一、递归形成用例集树
        private void createTreeView(string autoPath, TreeNode node)
        {
            //先遍历处理文件夹
            DirectoryInfo directoryInfo = new DirectoryInfo(autoPath);
            foreach (DirectoryInfo childDirectoryInfo in directoryInfo.GetDirectories())
            {
                //找到一个子文件夹,定义为一个文件夹节点
                TreeNode directoryNode = new TreeNode(childDirectoryInfo.Name.ToString());
                //Tag属性里存放路径,路径采取拼接方式形成,顶层路径可直接定义为Root
                directoryNode.Tag = node.Tag + "/" + childDirectoryInfo.Name.ToString();
                directoryNode.ImageIndex = 0;
                //将此节点往下递归
                createTreeView(autoPath + "//" + childDirectoryInfo.Name.ToString(), directoryNode);
                //将此节点加入到用例树的父节点下
                node.Nodes.Add(directoryNode);
            }

            //再处理用例集文件,形成叶子
            //Py3的用例集默认是.robot格式,所以这里做了筛选
            foreach (FileInfo fileInfo in directoryInfo.GetFiles("*.robot"))
            {
                //定义一个空叶子节点
                TreeNode leafNode = new TreeNode();
                //将测试集名称作为叶子节点的名称
                leafNode.Text = fileInfo.Name.ToString().Substring(0, fileInfo.Name.ToString().IndexOf(".robot"));
                //排除系统自动生成的init文件
                if (leafNode.Text != "__init__")
                {
                    //Tag属性里存放路径,路径采取拼接方式形成,直接存放文件名,实际调用会用到
                    leafNode.Tag = node.Tag + "/" + fileInfo.Name.ToString();
                    leafNode.ImageIndex = 1;
                    leafNode.SelectedImageIndex = 1;
                    //叶子节点不用再做递归
                    //将叶子节点添加到父节点上
                    node.Nodes.Add(leafNode);
                }
            }
        }

 

二、处理树形结构点击事件: 这里就不展开了,毕竟不同语言各有各的写法。简单说下思路: 1、鼠标单击获取坐标并定位焦点,改变节点“选中”、“未选中”状态。 2、鼠标双击提取节点tag,按叶子节点-测试集名称,非叶子节点-用例集文件夹名称提取。 3、鼠标右键点击节点,按叶子节点-测试集名称,非叶子节点-展开用例集文件夹,逐个用例集名称提取等。 以下是不同的点击效果,均可以正常利用pybot执行。 0   三、最终形成的执行语句。 即可在界面直接运行,也可以复制到cmd里执行。 0   以上程序稍加优化,也可以实现多测试机load balance的并发执行。只不过slave上需要开agent向回发送测试结果。   需要获取可执行程序的,可扫码关注公众号或扫码加群获取: 0    

标签:Tag,leafNode,节点,RF,文件夹,ToString,测试,可执行程序
来源: https://www.cnblogs.com/alphaxu/p/15674384.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有