【学习】CodeUi
关于这个,博客园里有很多初级的教程,我是看这篇:
http://www.cnblogs.com/luminji/archive/2010/11/18/1880452.html 初学的可以跟着这个做一边。
对于CODEUI,我研究的时间不久,但是对于这个,只要是个做过开发的DEV,应该说难不倒的。我就说下我的感想:
第一点:
我觉得说最重要的东西:(用黄色笔划出来的东东,这个文件说你录制以后,生成的代码所在地,所以每次生成代码的时候,这个就会被覆盖掉) 说到这里:我们是不是不应该在这里做什么修改呢,因为无论做什么修改都会被覆盖掉。那在哪里做修改呢?
这个黄色标注的文件说我们可以修改的东西。我们再来看一下两个文件的类名:
public partial class UIMap
{
}
[GeneratedCode("Coded UITest Builder", "12.0.30501.0")]
public partial class UIMap
{
}
看这两个.CS文件内部其实说partial文件,所以这个CODEUI工具就说要你把你认为有用的东西合并到UIMap.cs(这个名字我自己取的,随意的)中。 然后你的CASE就能很方便调用UIMAP里面的东西(我们要求:相同的东西只有一份就好)
第二点:
如果你玩的说录制,然后在录制,再。。。。(录制)。 这样的话(好吧,没什么问题,也能做好你的工作),我个人认为这样的方式会浪费你的时间,因为可能大部分的Control你都已经有了。所以我们不去录制,我们抓取,用这个东西,我们就可以抓取我们想要的东西,当然如果你抓取的是一个子空间,它还是会生成你的父控件代码,这个时候我们只要把子控件的代码移动到UIMAP.CS中可以了。这样,我们自己可以确保没有重复的控件存在,我一直看见很多的Document1-10,天哪,如果改了一个小地方,我居然不知道如何下手。注:如果关闭了上面这个图的东西,想再次打开其实很方便
,这里右击选择(Edit with Coded UI Test Builder)就好。
第三点:
是不是所有页面的东西都抓到MAPUI.CS中呢?我只能说...兄弟..你有种...我佩服!!!
我们一个页面放一个UIMAP(名字自己取)里,有一些比较特殊。比如你在http://baidu.com/ 里面你点了search url地址变成了http://baidu.com/dfafa 这样的,如果你用以前的Document可能会获取不到,这个时候(你可以去录制一份啦,然后还是放在原来(原来录的百度那个里面)那里面,取一个简单易懂的名字就好了),当然你也可以重置一下路劲,这里就不多做介绍了,可以去看相关的文档。
第四点:
多看博客和文档,多尝试。我对于CODEUI的理解也不是很深.我就看了2天别人的代码,自己尝试着玩了玩,一点感想。往大神们多给点好用的方法和建议。
【学习】CodeUi的更多相关文章
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Unity3d学习 制作地形
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
随机推荐
- 借助curl理解$GLOBALS['HTTP_RAW_POST_DATA'] ,$_POST, php://input
发送请求代码 post.php <?php $url='http://localhost/web/curl/url.php'; $data='a=123|b=2&c=3'; $heade ...
- Oracle 12.1.0.2 对JSON的支持
Oracle 12.1.0.2版本有一个新功能就是可以存储.查询.索引JSON数据格式,而且也实现了使用SQL语句来解析JSON,非常方便.JSON数据在数据库中以VARCHAR2, CLOB或者BL ...
- mysql replication /mysql 主从复制原理
一下内容均是根据leader的培训分享整理而成 ************************************我是分割线*********************************** ...
- idea完成分支和主干的合并
我们在开发一个项目的时候,我们可能会创建一个分支和一个主干.对于分支而言,我们一般在开发的时候可能会使用,但是在项目上线的时候,我们抽取的项目的地址可能是主干的svn地址,这时我们需要将分支上的svn ...
- C#获取程序代码执行时长
ArrayList list = new ArrayList(); long startTicks = DateTime.Now.Ticks; for (int i = 0; i < 10000 ...
- python学习(十四) 网络编程
14.1 少数几个网络设计模块 14.1.1 socket模块 套接字包括:服务器套接字和客户机套接字. 在创建一个服务器套架字后,让它等待连接,这样它就在摸个网络地址处(IP地址和一个端口号的组合) ...
- TIMEQUEST学习之黑金动力(三)
不知不觉,学到的第四章.但是对于TQ的内部模型和外部模型的完整分析还是没有很好的理解.接着学习......... 我们也了解静态时序分析的第一步骤,亦即时钟方面的约束.此外,也稍微对 Report T ...
- Angular4中利用promise异步加载gojs
GoJS是一个实现交互类图表(比如流程图,树图,关系图,力导图等等)的JS库 gojs提供了angular的基本例子,不过是离线版 https://github.com/NorthwoodsSoftw ...
- Bokeh绘图
http://bokeh.pydata.org/en/latest Bokeh 是一个专门针对Web浏览器的呈现功能的交互式可视化Python库.这是Bokeh与其它可视化库最核心的区别. 专门针对 ...
- Vue 简单的总结四(项目流程,DIY脚手架、vue-cli的使用)
项目流程 1.下载 cdn 2.引包 vue-router依赖vue vue-router.js 3.如果是模块化机制 Vue.use(vue-router) 4.创建示例 let Home = {/ ...