关于这个,博客园里有很多初级的教程,我是看这篇:

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的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

随机推荐

  1. Jenkins详细安装教程

    1.先下载msi文件 Jenkins下载链接: https://pan.baidu.com/s/1SACKNgW7OZrJoXMRDhsJxQ 提取码: 94b9 2.安装 解压后得到的是jenkin ...

  2. lnmp一键安装包,安装多版本php,并开启redis与swoole

    安装多版本的php sudo ./install.sh mphp Install ZendGuardLoader for PHP 7.1... unavailable now. Write ZendG ...

  3. iOS平台下闪退原因汇总(一):"Ran out of trampolines of type 0/1/2" 运行时间错误

    "Ran out of trampolines of type 0/1/2" 运行时间错误通常出现在使用大量递归泛型时.要看到这个错误需要连接着设备直接将项目build到设备里运行 ...

  4. 动态代理AOP实现方法过滤

    上一节实现了动态代理,接下来 有时候,我不需要在每一个方法都要记录日志,做权限验证 等等. 所有就有了这样的需求.AOP实现特定方法过滤,有选择性的来对方法实现AOP 拦截.就是本节标题所示. 举个例 ...

  5. Venom的简单使用

    工具地址:https://github.com/r00t-3xp10it/venom 打开到venom目录,输入./venom.sh 打开程序 按回车键继续 这里有很多的模块,要用哪个模块就输入它的编 ...

  6. burpsuite扫描web目录

    1.进行抓包 2.将其发送到lntruder 3.使用替换脚本替换掉/ 4.替换 5.替换结果 6.将多余的$$删除,在/后面添加$$    //$$就是payload 7.测试结果  替换脚本代码: ...

  7. Oracle11gR2--删除数据库

    1. 停止ORACLE数据库 [oracle@localhost oracle]$ ps -ef|grep smon oracle 72550 1 0 14:23 ? 00:00:00 ora_smo ...

  8. 【基础巩固】文件流读写、大文件移动 FileStream StreamWriter File Path Directory/ ,m资料管理器(递归)

    C#获取文件名 扩展名 string fullPath = @"d:\test\default.avi"; string filename = Path.GetFileName(f ...

  9. Autofac 4 netcore with config demo

    Autofac 4+以上和以前的配置不一样的,最近在NetCore中做项目,得到实例时折腾了一番. 使用场景,用autofac实例化数据库类型,避免一个个的去new json配置文件: <?xm ...

  10. 【转】OpenGL随笔(1)—— mipmap 详解

    注:本文使用的所有 OpenGL 函数来自 OpenGL 4.5,优先使用 DSA. 使用 mipmap 时,OpenGL 根据被映射对象的大小(单位是像素),自动决定使用纹理图的哪个分辨率级别.mi ...