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

一 下载DLL或者Nuget安装到项目里
 
二 将浏览器的安装目录添加到系统环境变更里
将需要用到的浏览器chrome,firfox,等exe所在的文件
夹添加到系统变量path中去,必要的时候需要重启电脑;
这一步很重要,否则运行下面的脚本打开不了浏览器,需要在脚本中添加浏览器地址
三 下载各个浏览器的驱动,并添加到浏览器的安装目录,我们以火狐为例

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

     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("");
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~自动化测试来了的更多相关文章

  1. JavaScript(Node.js)+ Selenium自动化测试

    Selenium is a browser automation library. Most often used for testing web-applications, Selenium may ...

  2. Selenium自动化测试框架介绍

    Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...

  3. Eclipse+Selenium自动化测试脚本设计V1.0

    Eclipse+Selenium自动化测试脚本设计V1.0 http://www.docin.com/p-803032251.html

  4. Selenium自动化测试实践 公开班(广州)

    Selenium自动化测试实践 公开班(广州) http://gdtesting.com/product.php?id=115

  5. Selenium自动化测试项目案例实践公开课

    Selenium自动化测试项目案例实践公开课: http://gdtesting.cn/news.php?id=55

  6. 圆满完成Selenium自动化测试周末班培训课程!

    圆满完成Selenium自动化测试周末班培训课程! http://automationqa.com/forum.php?mod=viewthread&tid=2704&fromuid= ...

  7. selenium自动化测试(1):环境搭建

    Selenium是一款优秀的WEB自动化测试工具,它功能强大,易于使用,支持多种平台.多种浏览器和多种开发语言.这里介绍使用python+selenium进行自动化测试的一些基础知识. 在Window ...

  8. Python网络数据采集7-单元测试与Selenium自动化测试

    Python网络数据采集7-单元测试与Selenium自动化测试 单元测试 Python中使用内置库unittest可完成单元测试.只要继承unittest.TestCase类,就可以实现下面的功能. ...

  9. selenium自动化测试学习(一)

    在学习selenium自动化测试前,我们需要先了解一点自动化测试的相关知识. (一)什么是自动化测试 (二)为什么要做自动化测试 (三)自动化测试优缺点 (1)什么是自动化测试 自动化测试是把以人为驱 ...

  10. Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)

    Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...

随机推荐

  1. dead reckoning variation

    Targeting A target is a structure of information that describes the state, and change of state, of a ...

  2. hdu-5784 How Many Triangles(计算几何+极角排序)

    题目链接: How Many Triangles Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  3. <opengl>使用glu绘制二次曲面

    绘制二次曲面通常要以下四步:   1.首先我们创建一个二次方程状态对象 GLUquadricObj *m_pObj;    //保存绘图模式.法线模式.法线朝向.纹理等信息 //创建二次方程状态对象 ...

  4. Codeforces617E XOR and Favorite Number(分块 异或)

    Bob has a favorite number k and ai of length n. Now he asks you to answer m queries. Each query is g ...

  5. ACM学习历程——HDU4472 Count(数学递推) (12年长春区域赛)

    Description Prof. Tigris is the head of an archaeological team who is currently in charge of an exca ...

  6. 使用Tornado作为Django App的服务器

    闲来无事,折腾折腾. 老是听说tonado是个异步web框架和服务器,作为框架倒是了解到了,但是服务器一直不太懂.所以决定了解一下,既然可以做服务器,那就把自己的django app部署到这上边去. ...

  7. QT(2)项目文件介绍

    一.项目创建 二.文件说明 三.QT模块

  8. chronoy & NTP

    同步时间 配置文件中/etc/chrony.conf 里面指定: server master iburst keyfile /etc/chrony.keys commandkey 1 allow al ...

  9. MFC中界面自适应

    void CMyDlg::OnSize(UINT nType, int cx, int cy){ CDialogEx::OnSize(nType, cx, cy); CRect rt; GetClie ...

  10. HDOj-1412

    {A} + {B} Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...