- 博客(49)
- 收藏
- 关注
原创 CodedUI Test 测试WPF程序,无法获取控件属性值的解决方法
公司新程序使用WPF制作,但使用CodedUI Test进行自动化测试的时候,很多控件抓取不到其属性。 比如某输入框的逻辑是当输入错误值的时候,BorderBrush为红色。当使用CodedUI Test测试发现将其放到WpfEdit并没有BorderBrush的这个属性,无法进行行为判断。参考How To: Validate background color or other
2016-01-13 13:01:49 1138
原创 将CodedUI Test 放到控制台程序中,模拟鼠标键盘操作
CodedUI Test是微软的自动化测试工具,在VS中非常好用。可以用来模拟鼠标点击,键盘输入。但执行的时候必须要用mstest调用,无法传入参数(当然可以写入config文件中,但每次修改十分麻烦)。 因为要做一个模拟鼠标键盘操作工具,由上层程序传入参数调用,于是尝试使用CodedUI Test的dll制作了一个小的控制台程序。 参考 Shai Raiten's Blog。
2016-01-06 14:27:15 811
原创 TFS二次开发-基线文件管理器(5)-源码文件的读取
在上一节中,我们在保存标签之前,已经将勾选的文件路径保存到了Listbox中,这里只需要将保存的数据输出去为txt文档就可以做版本控制了。 版本文件比较复杂的是如何读取,也就是如何通过文件路径再次读取出一棵树。这里我主要写一些思路和代码存取的文件我们要将其读出后,存入一个List中。通过文件路径,返回此文件的父级路径。如$/test2-agile/BuildProces
2014-09-10 16:35:33 1455
原创 TFS二次开发-基线文件管理器(4)-标签的创建
上一节已经完成了源码文件的读取,如果要将已经选择的文件保存为一个标签(Lable)。在VS我们只能对一个目录做标签,非常的不方便。如果用下面的方法,将选择的文件路径保存为一个List在打标签,就非常的灵活了。保存为List的方法很简单,需要递归将已经选择的书中的文件保存一下。这里为了显示方便,我先将其存入一个Listbox中,listBox1.Items.Clear();for (
2014-09-10 16:34:51 1583
原创 TFS二次开发-基线文件管理器(3)-源码文件的读取
TFS登录成功后,就可以开始读取源码目录树了。一般来说,我不建议将整个树全部读取出来,因为这里不光存有项目文件,还有项目源码。如果全部读取出会是非常大的一棵树。因此我建议只读出根目录,每一次点击打开一级子目录。这样找到自己需要选取的文件即可。上一节中,我们已经登录完成。 //获取选择的项目名称,这里是单项目,一次取pi[0]的名称pi = tpp.SelectedP
2014-09-10 16:33:00 2044
原创 TFS二次开发-基线文件管理器(2)-TFS登录
首先需要做一个TFS的登录。以前的文章是使用的DomainProjectPicker 最新的VS里面使用的是TeamProjectPicker 首先可以在WinForm程序上写一个Button,然后写入如下代码 这样,server里面就存储了选取的TFS的内容了。 这里TeamProjectPickerMode有三个枚举,分别对应着如下的菜单,大家可以
2014-09-10 16:31:53 1796
原创 TFS二次开发-基线文件管理器(1)-设计
CMMI在做基线文件管理的时候,常常是需要记录一部分基线文件的版本。并且这个基线文件记录也需要进行版本控制。TFS在做这件事的时候一般来说会选用标签(Lable)来做一系列文件的版本记录。但是我发现TFS并不能选取某几个文件进行版本记录(实际上是可以的,但是很麻烦,需要建立Lable后再修改)。于是,我们可以将项目文件以树形结构读出,然后选取需要做基线控制的几个文件.将其版本和路径保存到文
2014-09-10 16:28:59 1309
原创 TFS Build 2010生成构建之 dll、exe文件的版本
TFS Build 2010生成构建之 dll、exe文件的版本 TFS Build 2010的生成服务十分的强大,以前的版本号插件现在已经不需要了,直接在生成定义里面做就可以了(参考"TFS 2010 Build中,版本号的定义",具体版本号定义可参考 "软件项目版本号的命名规则及格式介绍(转)")。但是这个方法只能让生成的名称有版本号,如TestInstaller_2.0.21023.1。生成完成后的DLL文件和EXE文件的版本怎样能和这个定义的版本号匹配呢?下面就是我的方法。原创且成功
2011-05-20 12:34:00 1631
原创 TFS2010迁移升级后配置Report Services服务2(配置报表)
第一篇文章《TFS2010迁移升级后配置Report Services服务》讲的是如何将报表服务器配置成功。配置完成后,报表服务器可正常运行。但是由于迁移的时候并没有迁移报表,因此其中的报表是空的。我们要将新的报表添加进去。 1 下载报表文件 我们可以新建一个项目,并将其报表下载下来。如图 2 将报表添加到迁移项目中 进入到项目,点击"上载文件" 上载完成后通过管理,配置其数据源 配置数据源 3 等待重新生成后查看报表
2011-04-25 00:49:00 819
转载 软件项目版本号的命名规则及格式介绍
<br />一些说明<br />对外的版本号是和产品名称关联的,比如说TK产品 2.0.0.1 。 不会单独说一个版本号。生成版本号则是开头会用项目名称,也就是对应的产品标示。TK系统就是TK打头的,比如TK_2.0.0.1<br />对于版本号,需要增加的说明:<br />BuildNumber,格式一般为:$(BuildDefinitionName)_$(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision) 。举例比
2011-04-14 15:49:00 910
原创 SCVMM 2008 R2 ,Lab Management的一些资料
最近由于要部署一套和微软演示时一样的测试系统,因此研究了不少SCVMM相关的资料,特记录如下 1 在虚拟实验室中的软件生命周期 Using a Virtual Lab for Your Application Lifecycle 主要讲了各部分的基础(Hyper-V,SCVMM,Lab management)概念 做测试、构建、环境部署管理的时候需要用到哪些部件 2 虚拟环境的概念 Virtual Environments Concepts and Guidelines 讲到实验室和库中环
2011-04-14 15:47:00 839
原创 Hyper-V虚拟机的两种外网连接方式
1 网桥式 这种方式是将Hyper-V内部的虚拟网络与外部网络桥接。使得内部外部的IP都在一个网段上。 优点: 就算是无线网,也可以进行桥接(貌似默认Hyper-V不能连接无线网卡,只能用这种方法) IP在一个网段,连通性好,配置方便。 缺点: 需要占用多个IP 安全性差 配置方法: 打开"控制面板/网络和 Internet/网络连接" 首先本地
2011-04-14 15:45:00 5214 1
原创 TFS Build 2010中调用外部程序的示例
1 问题 由于以前公司使用的是TFS 2008.现在已经升级到了TFS 2010.生成构建大不一样。因此2008的脚本基本上被放弃了。于是尝试使用TFS Build 2010来实现以前脚本中的一些功能。 以前脚本内有一个使用exec调用devenv的功能,用来生成工程的Setup文件。2010里面完全不同了。下面记录了我如何使用TFS Build 2010来完成上述操作。 2 简介 新的构建系统使用了xaml格式,打开后类似流程图。不需要直接写代码,所有操作都在工具箱里拖动到流程图中即可。如
2011-04-14 15:41:00 1304 1
原创 TFS2010配置Build服务(多机)
由于升级了TFS2010,其Build服务与TFS2008有着很大的区别。因此我决定所有的脚本重新制作。当然此文章同样适用于新部署生成服务器。 1 安装 首先要安装生成服务(尽量不要和TFS部署在同一台机器上,因为生成的时候对CPU和IO的要求很高) 需要软件: TFS 生成服务组件-这个在TFS的安装盘中 安装 在生成服务器上安装TFS 生成服务 注意,最好用tfsservice帐号 这里默认了两个代理,两个代理代表可以同时进行两个生成。如下图
2011-04-14 15:40:00 2317 1
原创 TFS2010迁移升级后配置Report Services服务
在升级完后,由于略过了配置RS服务,下面我们开始对其进行配置。这里我是用的是双服务器,会稍微复杂些 1 安装RS和分析服务 在TFS应用层安装SQL 2008的RS和分析服务,仅安装RS和AS两个服务。如下图。 这里注意!由于我们使用了两个不同的帐号,因此账户设置的时候将TFSservice也添加上。如下图。 2 配置两个RS连接(TFS应用层) 在TFS应用层用tfsdb运行RS配置管理器(注意是tfsdb这个账号!!)进入"更改数据库" 3 配
2011-04-14 15:35:00 1376
原创 TFS2010升级后配置Lab Management(更新)
由于升级, TFS2008的老项目不支持Lab Management(由于模板不同,导致工作项的差异造成的) 1 下载模板 在TFS2010应用层上安装团队管理器(任何机器都可以,我喜欢这里装个调试方便) 在TFS2010上安装TFS PowerTool(在任何有团队管理器的机器上安装,省的需要命令行操作,当然批量导入还是用命令行方便,最后会对命令行做简单介绍) Team Foundation Server Power Tools March 2011 http://visualstud
2011-04-14 15:35:00 940
原创 TFS2010的跨域迁移
TFS2010的跨域迁移 目前情况:TFS2008,应用层和数据层分为两台电脑。在A域中。 期望完成:TFS2010,应用层和数据层分为两台电脑。在B域中。 1 B域中建立两台机器,1台用于做应用层,1台做数据库 分别将域下的tfsservice和tfsdb这两个账户加入到这两台机器的管理员组(这里总结下,如果数据库为专用,大可只是用1个账号进行部署,会省去一些麻烦) 2 TFS,数据库安装帐号 数据库用tfsdb登录并安装数据库,tfsservice安装TFS2010(这两个可以同
2011-04-14 15:30:00 1356
原创 TFS 2008迁移与升级2010 -第一天-准备
<br /> 由于测试部需要加强测试过程管理,我们决定将之前使用的TFS 2008系统升级到TFS 2010系统,以配合TFS 2010中Test Manager的使用。升级的方式主要参考微软的官方和一些网上博客的文章,目前在测试环境下已经通过了,现在准备在生产环境下升级。 升级后的优点:<br />TFS 2010的后台管理更加强大,有了IDE界面的帮助,管理起来会方便些。<br /> 支持了Test Manager测试管理器。<br /> 支持了Colle
2011-04-14 15:28:00 934
转载 TFS Build 2010 兼容 2008 相关文章
Upgrading TFS 2008 Build Definitions to TFS 2010<br /> <br /> <br />If you’re a TFS 2008 user who’s thinking about installing TFS 2010 Beta 2, you may be wondering what will be involved in getting your existing build definitions to work in 2010. You
2011-04-14 14:44:00 743
原创 TFS Tips
使用生成工具制作一个脚本<br />有时候我们会做一些批量的事情,例如制作基线拷贝文件,打lable,删文件等等。但是如何触发呢。这里可以尝试制作一个空的sln,然后将它做成一个生成。如果是TFS 08,那么直接可以在tfsproj里面写脚本了。
2011-04-14 14:40:00 496
原创 TFS 2008的源码管理器-数据库相关
这里来说下关于TFS 2008中源码管理器所对应的数据库表。在个别情况下,或许会对某个历史文件做修改(当然,除非非常情况,理论上是不允许这样做的,这里也是为了了解其结构来写的)。 在TFS的源码管理中,每一个文件,无论是*.docx还是*.cs这类的文件,都以二进制形式被存放在TFS的数据库中,每一个文件(这里的文件包括这个文件的历史记录)被称为一个"版本"。实际上在数据库中,每一个"版本"都会有一个ChangeSetID以其对应。记录他的迁入时间、签入人、注释等信息。另外会有一个表
2011-04-14 14:39:00 1151
转载 TFS中删除工作项的批处理
@echo offcd e:/Program Files/Microsoft Visual Studio 10.0/Common7/IDEe:set /p var=请输入工作项ID(多个ID以","隔开):witadmin destroywi /collection:http://192.168.10.2:8080/tfs/ /id:%var%pause粘到txt文件,换成bat 路径改成你的VS路径,http改成你的url就行了
2011-04-14 14:38:00 710
原创 TFS 中的文件新旧比较- Folderdiff命令
今天看了下MSDN里的一个人的提问,大概就是希望能查到整个工作目录下的那些文件不是最新的,就像是源码管理器中文件显示的"最新"状态一样。于是查了查相关资料。发现TFS中有个命令Folderdiff 命令,以下是MSDN的中英文地址 中文:http://msdn.microsoft.com/zh-cn/library/bb385992.aspx 英文:http://msdn.microsoft.com/en-us/library/bb385992.aspx 于是尝试一下。在另一台机器中修改了一
2011-04-14 14:35:00 1208
原创 Team Foundation Build System 2010 的一些资料
<br />Team Foundation Build System 是TFS的一个组件。一直以来都是用TFS build 2008,TFS 升级到2010后,build组件有了非常大的变化。最近正在研究中。<br /> 为了方便贴出一些英文资料,以后研究后再写些文章。1 微软的MSDN<br />Understanding a Team Foundation Build System<br />http://msdn.microsoft.com/en-us/library/dd793
2011-04-14 14:29:00 565
转载 Creating a Build Definition using the TFS 2010 API
<br />In this post I will show how to create a new build definition in TFS 2010 using the TFS API. When creating a build definition manually, using Team Explorer, the necessary steps are lined <br />out in the New Build Definition Wizard:<br /> <
2011-04-14 14:28:00 834
原创 TFS 2010 Build中,版本号的定义
<br />曾经转过一篇文章《软件项目版本号的命名规则及格式介绍》<br />里面说明了一般项目版本号的定义方法<br />$(BuildDefinitionName)_$(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision) 。举例比如题库系统: TK_NoInstaller_2.0.21023.1<br />目前我们再 TF Build 2008中也是这样定义版本号的,只是在内部编了一个脚本,最后把版本写上。<br
2011-04-14 14:26:00 975
转载 TFS 源码控制中的搁置
<br />使用源代码管理搁置集<br />搁置功能使您可以暂时保留一批挂起的更改,并可以选择从工作区中移除这些挂起的更改。搁置集是搁置操作的结果。可以在以后将搁置集中的更改还原到您的工作区或其他用户的工作区。<br />变更集和搁置集之间的区别<br />当您在工作区中签入一个或多个挂起的更改时,Team Foundation 会在源代码管理服务器中创建一个变更集。变更集是一组源文件修订、签入说明、注释以及指向关联工作项的链接。与之类似,搁置集是一组源文件修订、签入说明、注释和关联工作项列表。
2011-04-12 10:30:00 4085
原创 TFS Build中对强签名的自动化Build方法
由于项目对程序集进行签名,导致TFS中的Build无法执行,表现为编译出现错误。 在网上查找的解决方法是,在TFS的Build服务器上使用生成执行帐号(非执行人帐号,而是TFS Build的服务账号)执行VSTS的IDE程序,并打开一次签名程序(可以在Build的临时目录中找到程序)。此时会弹出对话框要求输入密码。输入完成后,再自动生成就没问题了。 这种方法在VS2008的项目中通过,但是2005的项目失败。最终想到其生成都是调用MSBuild来做,于是查询到使用MSBuil
2011-04-12 10:27:00 834
原创 TFS 2008 Build服务的copy脚本
在为项目制作生成版本的时候,有时候会拷贝一些文档或脚本到生成目录,如使用说明书、数据库部署脚本等。一般来说可以使用任务来完成。 这里可以参考MSDN的 Copy Task http://msdn.microsoft.com/en-us/library/3e54c37h(v=VS.100).aspx 参考其中的例子(有所修改,但效果相同) 在执行这个任务时候,Database的文件全部被copy到了$(DropLocation)/$(BuildNumber)/Dat
2011-04-12 10:26:00 593
原创 TF Build 中工作项的自动创建
1 自动生成失败,创建工作项。 理论上,在TFS 2008中,Build生成失败会自动创建工作项。但是我的创建遇到了问题。如图,首先确认我的模板中是没有"错误"这个工作项类型的。 于是,我尝试修改TfsBuild.proj中的元素,将其改为"任务"(我的默认工作项中存在),但仍然报告同样错误,相应的英文也不行。当尝试"Bug"的时候成功,但仍然报其他错,如图。于是将"System.Reason=生成失败;"删除,改为"Microsoft.VSTS.CMMI.Symptom=生成失
2011-04-12 10:24:00 630 2
原创 TFS 2010的 Team Project Collection
Microsoft Team Foundation Server 2010引入了一个新的概念 Team Project Collection(TPC,团队工程集合)。它是TFS 2010 在架构上的一个重大改变。 当我们链接TFS 2008时,可以看到Team Project Collections直接为TFS名。 当链接TFS 2010时,可以看到Team Project Collections的不同,它可以包括多个Collection。每个Collection下面可以有多个P
2011-04-12 10:23:00 1072
转载 Team Foundation Server 2010 问与答
在实际使用中经常会遇到一些Team Foundation Server (TFS) 的零碎问题,这里专门列个专题把这些问题,或者一些有价值的发现总结起来与大家共享。开始会简单些,一点点积累吧,呵呵!如果你也遇到了些这方面的问题,欢迎留言,我们可以一起探讨解决的办法。 如何使用TFS进行需求管理(Requirement management)? 答:Visual Studio 2010 Team Foundation Server Requirements Management Guidance
2011-04-12 10:18:00 673
转载 安装完TFS 2008 后,设置SMTP地址方法
When I initially installed the Team Foundation Server RC I did not configure the SMTP server at that time. I have since wanted to go back and set up Project Alerts, but I was unsure where to modify the settings to get this to work. I search the internet fo
2011-04-12 10:17:00 606
原创 TFS 2008的应急恢复方案-基于SharePoint的项目门户
完成了《TFS 2008的应急恢复方案1-冷备份》,我们再接着恢复基于SharePoint的项目门户。 此恢复的方式和TFS和Report Services的方式不相同,主要适用SharePoint的命令行stsadm命令进行恢复。 首先看下环境: 图1 环境说明:如图1,此方案一定要在域环境内部署(非域环境上也可以迁移,但是账号理论上会造成极大的麻烦),由三台服务器组成, A服务器:TFS 应用层,安装有TFS2008 Sp1 B服务器:TFS数据层
2011-04-12 10:16:00 707
原创 TFS 2008的应急恢复方案-Report Services
写完了上一篇《TFS 2008的应急恢复方案1-冷备份》基本的代码方面功能是可以正常使用了,现在我们开始恢复另一个功能Report Services。我觉得这个作为应急服务可有可无,但还是写出简单的恢复方法。 回到上一次的部署图: 图1 环境说明:如图1,此方案一定要在域环境内部署(非域环境上也可以迁移,但是账号理论上会造成极大的麻烦),由三台服务器组成, A服务器:TFS 应用层,安装有TFS2008 Sp1 B服务器:TFS数据层,安装有Sql2005 S
2011-04-12 10:15:00 851
原创 TFS 2008的应急恢复方案1-冷备份
此方案是目前我设计的一种TFS冷备份的应急方案。在数据到位的情况下,约1小时可切换到应急服务器,使工作可正常进行。 此方案的优点是,数据库的备份非实时备份,这样可以进行多次备份,选择正确的还原点还原。 此方案的缺点是,非实时备份,且恢复需要一段时间(主要是数据强制还原所用的时间)。 注意:此方案仅为TFS的恢复,暂未包括Report Services和SharePoint相关数据!只能保证代码相关工作正常进行。 图1 环境说明:如图1,此方案一定要在域环境内部署(非域
2011-04-11 15:16:00 852
原创 TFS 2008的7个库
<br /> 如果做TFS的迁移等相关工作,一定要了解其数据连接方式,因此我们分析下TFS的数据库中与此有关的表。 <br />刚装好的TFS 2008 sp1不加上Report Services和WSS的话应该有7个数据库,来分析下这7个库(和已使用的TFS 2008 sp1对比) <br /> TfsActivityLogging:记录了TFS的log,包括各用户的操作记录,可以直接恢复 <br /> tbl_Command:记录了所有操作记录 <br />
2011-04-11 15:09:00 947
原创 TFS学习 之 项目代码结构
之所以要讨论项目代码放置的结构,是因为他关系到项目的协作、项目的分支合并以及项目的生成。一般来说,常用的三种放置策略有单解决方案(Single solution):适用于小项目,建立一个解决方案并防止所有的相关项目代码。分段解决方案(Partitioned solution):适用于大项目, use multiple solutions to group related projects together. Create solutions to logically group su
2011-04-11 15:08:00 557
原创 TFS中的任务工作流
我们使用Microsoft Team Foundation Server 2008 Power Tools 打开一个已建好的项目中的"任务工作项" 可以看到这是一个基于CMMI的敏捷开发的任务工作流,对他的描述是"所含信息用于在整个 MSF for CMMI Process Improvement 生命周期中跟踪任务" 图1 可以看到,这个"任务"工作项的XML如下 图2 其中 是工作项的描述 是此工作项包含的字段定义 是此工作项的工作流 是工作项面板上各字
2011-04-11 14:58:00 1452
原创 TFS 2008 权限攻略3(使用TFS Administration Tool)
<br />首先简单介绍下TFS权限的设置位置,TFS建立项目后,大体分为三个地方设置一个用户的权限,分别是"TFS本身(这里还分为工作项和代码)"、"Report Service"、"SharePoint项目门户"。由于需要到这三个地方分别设置,十分不方便,因此介绍一个工具TFS Administration Tool,用他来统一管理权限。<br />这是他的官方介绍:<br />TFS Admin Tool allows a TFS administrator toAdd, dele
2011-04-11 14:55:00 843
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人