良好的自动化系统可以帮助Dev/Tester快速发现product/test code issue.

正好上一个项目结束,上个项目在自动化系统上面做得非常好。从产品开始时半年release一次到后面每个月release一次。可以说这套自动化系统功不可没,当然我们团队也花了很多时间在这套系统的开发,维护上面。

自动化测试executed by WTT by kickoff WTT workflow to run WTT job, which will call scripts we want to run the test.

我们有三套自动化测试 run daily & some other types to run on demand.

Daily automation:

  INT automation – including INT upgrade, INT automation test & INT E2E automation test

  Onebox automation – onebox automation test

  CAT automation – Content Acceptance Test

On demand automation:

  TiP – Test in Production

  Perf test – INT performance test

Automation not related with test:

  SME Auto-publish – publish new content in Main to SME daily

Build System Overview:

Test Framework Overview:

Test cases structure

v  Test projects:

Common

$AdvisorTest\Common\common\web

Test cases:

$AdvisorTest\Features\Alerts\*

$AdvisorTest\Features\CustomerAndUser

v  Test cases structure

Introduction of Kaf engine

v  How kaf engine work

Kaf engine knows the current html/silverlight page in browser, it can get all the information or property of the controls in the page through load the control name/id.

So the most important is that we must define the structure of the target page. The structure including the page framework, layout element, some container controls and un-container controls. All the controls in the page we need define in our test source.

Usually, we define all the controls with a tree of which the root is the silverlight page.

v  Page definition

v  How to kick off

  1. On CMD window, navigate to Kaf bin folder (cd “C:\Program Files\KAF\bin”).
  2. Type: Latch.exe TestCaseDll [/matches: TestCaseNameRegex].

Example: Latch.exe "D:\Atlanta\Main.binaries.Debug\Tests\Microsoft.AttachedServices.Test.Features.Alert.Frontend.AlertFrontendTests.dll" /matches:MainPageTest_PermanentlinksVerification

Build System 和Test Framework overview总结的更多相关文章

  1. Android Build System Ultimate Guide

    Android Build System Ultimate Guide April 8,2013 Lately, Android Open Source Project has gone throug ...

  2. Android uiautomator gradle build system

    This will guide you through the steps to write your first uiautomator test using gradle as it build ...

  3. sublime text 配置 builder [build system]

    有时候需要用运行一段 PHP 代码,比如测试某个函数返回值等等,如果启动 Http Server,再打开浏览器,那黄花菜都凉了.我们可以在 Sublime Text 3 中创建 PHP 的 build ...

  4. Android Build System

    归类一些Android build system 相关的知识. http://elinux.org/Android_Build_System make <local_module> - m ...

  5. Gradle: The New Android Build System

    Gradle: The New Android Build System Google selected Gradle as the foundation of the Android SDK bui ...

  6. lua语言入门之Sublime Text设置lua的Build System

    转自: http://blog.csdn.net/wangbin_jxust/article/details/8911956 最近开始学习LUA语言,使用Sublime Text作为编辑器,不得不说, ...

  7. 【转】Android ROM研究---Android build system增加模块

    原文网址:http://hualang.iteye.com/blog/1141315 Android build system就是编译系统的意思 在我们需要向自己编译的源代码中增加模块的时候,需要一些 ...

  8. The Contiki build system 编译系统

    The Contiki build system======================== The Contiki build system is designed to make it eas ...

  9. Sublime Text 2 新建C++ build system

    首先要有个MinGW(我这里借用ceemple的编译器 ,mingw32) 设置环境变量 右击我的电脑,点属性->高级->环境变量. 在系统环境变量在PATH里加入D:\Ceemple\m ...

随机推荐

  1. 《深入理解Spark-核心思想与源码分析》(四)第四章存储体系

    天行健,君子以自强不息:地势坤,君子以厚德载物.——<易经> 本章导读 Spark的初始化阶段.任务提交阶段.执行阶段,始终离不开存储体系. Spark为了避免Hadoop读写磁盘的I/O ...

  2. Android 权限处理

    概述: 为了保护系统的完整性和用户隐私权,Android 在访问受限的沙盒中运行每款应用. 如果应用需要使用其沙盒以外的资源或信息,则必须明确请求权限. 根据应用请求的权限类型,系统可能会自动授予权限 ...

  3. CString.Format %s 字符串 要用char *

    CString.Format %s 字符串 错了,应该是:std::string str;CString sql;sql.Format("%s",str.c_str());所以正确 ...

  4. java多线程处理导入数据拆分List集合 同步处理插入数据

    原文:https://www.2cto.com/kf/201612/581174.html import org.apache.log4j.Logger; import org.apache.poi. ...

  5. iOS:Reachability网络监听

    iOS利用Reachability确认网络环境3G/WIFI 开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的,一般情况下,可以把网络监 ...

  6. iOS:多线程同步加锁的简单介绍

    多线程同步加锁主要方式有3种:NSLock(普通锁).NSCondition(状态锁).synchronized同步代码块 还有少用的NSRecursiveLock(递归锁).NSConditionL ...

  7. Java内存缓存

    1.缓存为什么要存在 应用服务器资源是有限的,数据库每秒中接受请求的次数也是有限的.如果利用有限的资源来提供尽可能大的吞吐量呢,一个办法:减少计 算量,缩短请求流程(减少网络io或者硬盘io),这时候 ...

  8. rsa实现js前台加密java后台解密

    前段时间写了一个rsa前台加密到后台用java解密,下面共享下实现思路: 准备工作:第三方包是必须的 bcprov-jdk15on-148.jar commons-codec-1.7.jar comm ...

  9. JavaWeb对RSA的使用

    由于公司的网站页面的表单提交是明文的post,虽说是https的页面,但还是有点隐患(https会不会被黑?反正明文逼格是差了点你得承认啊),所以上头吩咐我弄个RSA加密,客户端JS加密,然后服务器J ...

  10. 【云计算】Docker build解决父镜像层级关系过多问题:Cannot create container with more than 127 parents

    docker export 8a6e92c71a77 > malakas.tzr.gz cat malakas.tzr.gz|docker import - /nscloud/malakas:1 ...