这段时候研究了一下Selenium,它是一个自动化测试工具,在asp.net平台可以通过nuget去安装,同时支持多种开发语言,之前支持java,而现在也支持C#了,所以我们通过nuget就可以安装了,当然你直接在官网下载对应的DLL也是可以的,不过建议使用nuget管理你的包包,这样升级和部署都更灵活!

一 下载DLL或者Nuget安装到项目里

selenium官网:  ​​http://www.seleniumhq.org/download/​

 

Selenium~自动化测试来了_html


二 将浏览器的安装目录添加到系统环境变更里

将需要用到的浏览器chrome,firfox,等exe所在的文件

夹添加到系统变量path中去,必要的时候需要重启电脑;

这一步很重要,否则运行下面的脚本打开不了浏览器,需要在脚本中添加浏览器地址

三 下载各个浏览器的驱动,并添加到浏览器的安装目录,我们以火狐为例

Selenium~自动化测试来了_html_02

四 编写测试用例,我们可以在单元测试中进行编写,对应具体的页面,进行测试

void CommonLogin()
{
selenium.Navigate().GoToUrl(url + "/#/login");
selenium.FindElement(By.XPath("/html/body/div/div[2]/div[2]/form/div[1]/input")).SendKeys("admin");
selenium.FindElement(By.XPath("/html/body/div/div[2]/div[2]/form/div[2]/input")).SendKeys("111111");
selenium.FindElement(By.XPath("/html/body/div/div[2]/div[2]/form/div[3]/button")).Click();

}
[TestMethod]
public void Login()
{
CommonLogin();
}

运行单元测试后,就自动打开火狐浏览器,打开对应的URL,找到html元素,为他们赋值,找到按钮,进行click事件的触发,其中我们查找和定位元素使用了XPath的语法,我们可以通过火狐的firebug去定位元素,然后复制对应的XPath代码即可!

Selenium~自动化测试来了_单元测试_03

好了,本讲主要说的是单线程里对页面进行的测试,下次我们将介绍高并发的性能测试!

感谢阅读!

 

 

 

作者:仓储大叔,张占岭,
荣誉:微软MVP