引子

我一直在思考,作为一个架构师,如何简化程序员的工作,减轻运维的压力,减低测试的要求。然后做了很多很多的尝试。最开始的公司培训文档,一键发布工具,Nuget版本管理,VS项目模板,SOA统一服务提供,再到后来的插件独立式开发模型,消息驱动模型,网页静态化等等。

今天又来了很多新人,而我们的主站就像个大胖子,拆分工作还是迟迟没有推行。业务依旧像雨后春笋一般层出不穷,触一发而动全身,每个改动都得小心翼翼。怕出问题,更怕出了问题影响到其他业务。而现在,已经很难有人敢说自己清楚的了解我们的程序的每一个业务和流程了吧。

写完代码后,要测试自己的模块,同时也要回归测试一下相关模块,确保其不受影响,然而人工测试会受到各种各样的因数影响到测试的准确性。那么模块流程化的自动化测试,似乎能非常好的胜任这份工作。

准备

虽说各种言论不建议使用C#做自动化测试。但是嘛,编程语言只是工具,用生不如用熟。事实证明用C#做自动化测试,也可以一样的出色。

我使用的是集成了nuget的VS2013。新建一个控制台项目,然后使用nuget引用了log4net做日志记录,然后引用common.loggin做日志打印输出控制器,最后引用主角selenium的WebDriver,就这么简单整个项目基本搭建起来了。

开工

自动去百度里面搜索一下Hello world;

Program.cs

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks; namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
var driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.baidu.com");
driver.FindElement(By.Id("kw")).SendKeys("Hello world");
driver.FindElement(By.Id("su")).Click();
Thread.Sleep(3000);
driver.Close();
}
}
}

结束

运行测试,打开火狐,自动输入Hello world,搜索,3秒后关闭浏览器,完美执行。

最新文章

  1. NIO源码阅读
  2. sqlserver数据库 去除字段中空格,换行符,回车符(使用replace语句)
  3. YUI Compressor for Sublime text2
  4. C++Primer 第五章
  5. You have new mail in /var/spool/mail/root 烦不烦你?
  6. java小练习--获取abc字符串在整个字符串中出现的次数
  7. Android OpenGL ES(四)关于EGL .
  8. 关于移动APP与Web APP的测试重点以及区别
  9. 大型三甲医院医疗体检信息管理系统源码 PEIS 体检科软件 CS
  10. 我的redis入门之路
  11. 去除 chrome 上保存密码后的 input 框的屎黄色背景
  12. python之接口与归一化设计
  13. Light OJ 1199:Partitioning Game(SG函数模板)
  14. oracle第三天笔记
  15. 【项目部署】部署项目以war包部署和解开以目录部署的区别
  16. Linux服务器---安装Tomcat
  17. RESTful API & Swagger入门
  18. 网络基础 Windows telnet使用简介及相关问题解决方案
  19. 【Ubuntu】执行定时任务(cron)
  20. C#预定义类型、引用类型

热门文章

  1. Golang 文件服务器小结
  2. winrar命令行加压解密
  3. Powerdesigner 设置唯一约束
  4. eclipse中java项目的build path详解
  5. 使用spring的特殊bean完成配置
  6. 异步请求Ajax
  7. (一)常用的CSS命名规则
  8. UIAppearance
  9. PHP AJAX上传文件
  10. Class 'Illuminate\Html\HtmlServiceProvider' not found或者form表单不能正常使用解决办法