这一部分,我准备向大家介绍Selenium WebDriver的常用API,学习这部分内容需要大家最好有一些简单的HTML相关知识,本文主要涉及到以下内容:

  • Selenium API:元素检查
  • Selenium API:简单事件处理

  回顾一下我之前讲过的一个概念:所谓自动化测试,可以简单的归结为是一个从被测试程序中识别或是定位元素以及执行操作验证元素的过程。从框架设计的角度来讲,一个自动化测试框架的驱动程序应该向使用者提供“元素定位,执行操作和元素验证”的功能。关于Selenium提供的优秀的“元素定位”能力,上一篇文章《Lesson 03 - Selenium For C# 之 元素定位》我已经做了相关的描述。而这一篇博客,会介绍Selenium如何模拟用户执行操作以及如何获取需要验证的元素。

(一)Selenium API:元素检查

  谈到基于B/S的自动化测试,我们需要检查的主要对象是网页的DOM元素,而Selenium为我们提供了很多标准的API来获取我们想要的内容:

  • 获取元素的文本
  • 获取元素的属性
  • 获取元素的CSS样式

@.获取元素文本信息

  说到这里我先简单的介绍一下这三部分内容和DOM元素的关系(照顾一下完全不懂HTML的同学)。所谓元素的文本,可以简单的认为是手工测试过程中页面上可见的文本信息(即显示内容),如一个输入框内的文本,一个只读的文本域或是一个网页的Title... .... 这些都指的是元素的文本。IWebElement定义了获取元素文本的方式(只读的Text属性):

     public interface IWebElement : ISearchContext
{
//省略其他属性方法... ...
//
// Summary:
// Gets the innerText of this element, without any leading or trailing whitespace,
// and with other whitespace collapsed.
//
// Exceptions:
// OpenQA.Selenium.StaleElementReferenceException:
// Thrown when the target element is no longer valid in the document DOM.
string Text { get; }
}

下面这段代码就是获取了博客园首页导航的文本并输出,测试输出如图所示:

         /// <summary>
/// demo1 : 检查首页文本
/// </summary>
[Fact(DisplayName = "Cnblogs.SeleniumAPI.Demo1")]
public void SeleniumAPI_Demo1()
{
_output.WriteLine("Step 01 : 启动浏览器并打开博客园首页。");
IWebDriver driver = new FirefoxDriver();
driver.Url = "http://www.cnblogs.com"; _output.WriteLine("Step 02 : 寻找需要检查的页面元素。");
var lnkHome = driver.FindElement(By.XPath(".//ul[@class='post_nav_block']/li[1]/a")); _output.WriteLine(string.Format("导航内栏内容:{0}", lnkHome.Text)); _output.WriteLine("Step 04 : 关闭浏览器。");
driver.Close();
}

aaarticlea/png;base64,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jjaL3OHYUeYP9oeHzv6eDlifEJ46Hg6Wa4Nf0YMHD57+q6f71/trz6498cUn1p5de+rLT738v1/+4NEHv/7Sr1d5/ZndZ9rnhul899paFbz/4L9OU3S1v1n3jovusy2D8ohyb9Qss3ttTToHADg1R0/n7Rp1s5gdReSOdL5a7bw52qhoBvzGLDsGbOXw+gdBq3h+vB48eHDpG5f61/uf+sanvrb/tc985zOf+c5n7r1372v7X3viL5+YRvMLX7jwp//tT9vnRk+FRmm7WQeffq4PmZ5Zp+34+dLpaeM4wutsAQA4RceVzpP5tcq5g+G4uzekq++8WdIu/+5K56vUzhen8xOolzf84at/+LFnP7Z+c/2Nd994/Uevf/eN7/7bB//26dGnqyVcnvzSk1/5H19pn9gugU9mQXy2NU7UzUgeZPbUSHelcwCAM3P8fedBEu/a1ky+89ZsSfSJB+m8/LxM33l43rx03jo16II5ziL6397921/80i+uPbv2Z9//s3//j3//8D8+/Or//OovfeWXqraW3/z6b/7z//3n9oldmXqWou++cPGj0zC++9ww6nW5+8Lwpaoh5snP/8OPml0sxawfpsry9VgAAJyC41mzJYyz7XReRdrysFRdOkrEUQiuzxpFl26MFq8R0xwz0eMy6Uznqfkffzp/5713rv791f71/q+++Kt//b/+evT66Ld3frt6TvTJLz353A+e++n7P22fmKyd110tT35++AezenfduVJX1cuD2k+ARk+atsYCAODkeVfoWbr/zv0//rs//vhzH//lG7/8Kzd+Zfq60P71/sef+/hffP8v3vrpW2c9QQAATpV0fsbeef+dV+6+8umdTz/xxSf61/tPfemp4nbxgzd+8O4HzYUUAQB47EnnuXhQOuuJAABwZqRzAADIhXQOAAC5kM4BACAX0jkAAORCOgcAgFxI5wAAkAvpHAAAciGdAwBALqRzAADIhXQOAAC5kM4BACAX0jkAAORCOgcAgFxI5wAAkIvzmM7Hw0Gv1ytGp30uAACcrJNL56OiV5vF4VFxHNH4pNJ5asYLxxoMx4eZx+S4vgwAAB4jJ5TOo6BbhdBjKlyfRDpvTrjXWxy8R8USB608EwAAfnadTDqfZt0quI6KYhTn38FwHCfiMqVOtxWjcl8dfustoyDXzhljWJe20+c259u+WDDNsPrf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" alt="" />

@.获取元素属性

  开发人员可以通过配置各种元素的属性来控制DOM元素的行为或者样式。这里需要说明一下,什么是DOM元素的属性。还是以博客园首页为例,用Firebug查看导航中“首页”对应的元素:

aaarticlea/png;base64,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" alt="" />

一般的DOM元素格式如下:

<tag_name attribute1="value1" attribute2="value2"... ...>Text Content</tag_name>

  这里tag_name是a,而class,href分别是该元素对应的属性。我们可以用IWebElement定义的GetAttribute方法来获取属性对应的值。从而获取对DOM做相关的验证和判断,可以用以下代码获取获取这个元素的class属性:

     _output.WriteLine("Step 02 : 寻找需要检查的页面元素。");
var lnkHome = driver.FindElement(By.XPath(".//ul[@class='post_nav_block']/li[1]/a"));
var value = lnkHome.GetAttribute("class");

@.获取元素CSS样式

  简单的说DOM元素的TagName和属性描述了DOM元素的类型(即这个元素是什么,文本框,按钮还是下拉菜单),而元素的展现样式则是由CSS(层叠样式表)决定的。在此我默认读者是一个懂一些CSS知识的同学,毕竟我们的主题是Selenium。CSS定义了元素的样式,比如宽度,高度,颜色等等... ... ,我们可以用IWebElement定义的GetCssValue方法获取元素的样式,比如我们需要验证某个元素的显示字体,颜色,或是显示与否等信息。都可以通个这个方法来获取。同样我们可以获取并输出博客园是首页文本的字体和颜色:

         /// <summary>
/// demo2 : 检查首页文本的属性,字体和颜色
/// </summary>
[Fact(DisplayName = "Cnblogs.SeleniumAPI.Demo2")]
public void SeleniumAPI_Demo2()
{
_output.WriteLine("Step 01 : 启动浏览器并打开博客园首页。");
IWebDriver driver = new FirefoxDriver();
driver.Url = "http://www.cnblogs.com"; _output.WriteLine("Step 02 : 寻找需要检查的页面元素。");
var lnkHome = driver.FindElement(By.XPath(".//ul[@class='post_nav_block']/li[1]/a")); lnkHome.GetCssValue("color"); _output.WriteLine(string.Format("导航内栏内容:{0}", lnkHome.Text));
_output.WriteLine(string.Format("classs属性内容:{0}", lnkHome.GetAttribute("class")));
_output.WriteLine(string.Format("字体:{0}", lnkHome.GetCssValue("font-family")));
_output.WriteLine(string.Format("颜色:{0}", lnkHome.GetCssValue("color"))); _output.WriteLine("Step 04 : 关闭浏览器。");
driver.Close();
}

输出结果:

aaarticlea/png;base64,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sk+G6jgAAMDQDTGOZ1kmQ7gex529KDJN28foB+T7rWBv1uTrFR0jG0uREZiLDL21ujgqwrArjqttKtXXxfGNpbkyc8sKu/koJ1kcAABg2gwpjstOFHccd669ksah6hh3t3yrIVyV8M694+JpSUf/ycJyIp+mdMRxWSUfzR+Lq+ieyRCu/toQj3BuLM3Nm499Vseqa1V/FZGdHhYAAIBBGlIc15/c1JJ5ENiPcsoEHsX+dcXlGK4nPTvFcVGndm6SHSZlrXpebThweO2yo4KuvxhItqhsrS6OirZwvSOlWHe8qTqeH9n4fCgAAAD6Maw4vi3bav3eBkcSt3c6g2+VkmeLNK4WUnEcNXt47bJ+RmY/12ksck51HAAAYDoRxwEAAIDeEMcBAACA3uyBOA4AAABMK+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQmxs3bpw6dar98R3i+OOPP/7qq692nxIAAABws3jzzTdPnz7d/vgOcTzLsl/+8pfnzp37DXbLxsZG31MAAABAW88+++yTTz755ptvTiqOZ1l2/fr169evXwMAAACgu379etd03TmOAwAAABgX4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQG+I4AAAA0BviOAAAANAb4jgAAADQm/8H+OSMyqAPPykAAAAASUVORK5CYII=" alt="" />

(二)Selenium API:事件处理

  Selenium的事件处理大可分为两个部分:简单事件处理和复合操作。

  • 简单事件:指的是类似单击某个按钮,输入文本等等。
  • 复合事件:指的是执行一组事件链(比如:按住Ctrl的同时单击鼠标)

@.简单事件处理

  这部分内容我在之前的文章中提到过《Lesson 02 - Selenium For C# 之 核心对象》,IWebElement定义了一常见的事件处理函数:

  • Clear : 清空当前DOM元素内容(用于文本输入元素)。
  • Click : 单击当前DOM元素。
  • SendKey : 向当前DOM元素输入指定文本。
  • Submit : 提交当前元素到Web服务器。

  下面的例子实现了如下功能:(导航到博客园首页>在搜索框中输入“小北De编程手记”>点击“找找看”并等待五秒>关闭浏览器)

         /// <summary>
/// demo3 : 首页查询
/// </summary>
[Fact(DisplayName = "Cnblogs.SeleniumAPI.Demo3")]
public void SeleniumAPI_Demo3()
{
_output.WriteLine("Step 01 : 启动浏览器并打开博客园首页。");
IWebDriver driver = new FirefoxDriver();
driver.Url = "http://www.cnblogs.com"; _output.WriteLine("Step 02 : 寻找需要操作的页面元素。");
var txtSearch = driver.FindElement(By.Id("zzk_q"));
var btnSearch = driver.FindElement(By.XPath(".//input[@type='button' and @value='找找看']")); _output.WriteLine("Step 03 : 输入查询文本");
txtSearch.SendKeys("小北De编程手记");

_output.WriteLine("Step 04 : 点击查询");
btnSearch.Click();

System.Threading.Thread.Sleep(); _output.WriteLine("Step 05 : 关闭浏览器。");
driver.Close();
}

  运行这个Demo,正如代码所述的一步步操作... ...

  篇幅所限,今天先写到这里(其实是困了~~~ 哈哈哈)。下一篇我会讲解Selenium实现复杂交互操作,元素的拖拽,特殊DOM元素的处理(下拉菜单,单选复选框)

《Selenium For C#》的相关文章:Click here.

说明:Demo地址:https://github.com/DemoCnblogs/Selenium

如果您认为这篇文章还不错或者有所收获,可以点击右下角的【推荐】按钮,因为你的支持是我继续写作,分享的最大动力!
作者:小北@North
来源:http://www.cnblogs.com/NorthAlan
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

[小北De编程手记] : Lesson 04 - Selenium For C# 之 API 上的更多相关文章

  1. [小北De编程手记] : Lesson 05 - Selenium For C# 之 API 下

    上一篇,我们介绍了一些Selenium WebDriver相关的API,下面我们就接着上一篇继续介绍Selenium常用的API,这一篇的内容主要涉及到以下话题: Selenium API:复杂事件处 ...

  2. [小北De编程手记] : Lesson 08 - Selenium For C# 之 PageFactory & 团队构建

    本文想跟大家分享的是Selenium对PageObject模式的支持和自动化测试团队的构建.<Selenium For C#>系列的文章写到这里已经接近尾声了,如果之前的文章你是一篇篇的读 ...

  3. [小北De编程手记] : Lesson 07 - Selenium For C# 之 窗口处理

    在实际的自动化测试过程中,我们会遇见许多需要对窗口进行处理的情况.比如,点击删除某条信息的时候系统会显示一个Alert框.或者点击某个超链接时会在浏览器中打开一个新的页面.这一篇,来和大家分享一下Se ...

  4. [小北De编程手记] : Lesson 06 - Selenium For C# 之 流程控制

    无论你是用哪一种自动化测试的驱动框架,当我们构建一个复杂应用程序的自动化测试的时候.都希望构建一个测试流程稳定,维护成本较低的自动化测试.但是,现实往往没有理想丰满.而这一篇,我会为大家讲解我们在使用 ...

  5. [小北De编程手记] : Lesson 01 - Selenium For C# 之 环境搭建

    在我看来一个自动化测试平台的构建,是一种很好的了解开发语言,单元测试框架,自动化测试驱动,设计模式等等等的途径.因此,在下选择了自动化测试的这个话题来和大家分享一下本人关于软件开发和自动化测试的认识. ...

  6. [小北De编程手记] : Lesson 02 - Selenium For C# 之 核心对象

    从这一篇开始,开始正式的介绍Selenium 以及相关的组件,本文的将讨论如下问题: Selenium基本的概念以及在企业化测试框架中的位置 Selenium核心对象(浏览器驱动) Web Drive ...

  7. [小北De编程手记] : Lesson 03 - Selenium For C# 之 元素定位

    无论哪一种自动化测试的驱动框架(基于B/S,桌面应用,还是手机App).都应当具有一套优秀的元素定位技术.通常的自动化测试流程也可以简单的归结为是一个从被测试程序中识别或是定位元素以及执行操作和验证元 ...

  8. [小北De编程手记] : Lesson 04 玩转 xUnit.Net 之 Fixture(下)

    上一篇文章<[小北De编程手记] : Lesson 03 玩转 xUnit.Net 之 Fixture(上)>向大家介绍了xUnit.Net 共享数据的方式.Test Case的构造函数 ...

  9. [小北De编程手记] : Lesson 01 玩转 xUnit.Net 之 概述

    谈到单元测试,任何一个开发或是测试人员都不会觉得陌生.我想大多数的同学也都是接触过各种单元测试框架.关于单元测试的重要性,应该不会有太多的质疑.这个系列,我向大家介绍一下xUnit.Net的使用.就让 ...

随机推荐

  1. 对路径访问拒绝,要加上具体filename/c.png

    string strPath = Path.Combine(FilePath, DateTime.Now.ToString("yyyy-MM-dd")); if (!Directo ...

  2. es6 简单封装一个 省市县三级下拉框

    废话不多说,直接上效果图和代码: 1,index.js function $(el){ return document.getElementById(el) } let render = Symbol ...

  3. wordpress 后台页面无法显示绑定的台湾语言

    问题:当前切换到的语言是English,然后在页面的列表中,分别显示的语言有中文和香港,没有出现台湾的图标,如上图所示 原因:在polylang插件的设置里面,可以看到台湾语言的 Language c ...

  4. Centos 7搭建Gitlab服务器(一),搭配文章(二)一起使用,效果更好

    一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装ss ...

  5. SQL Server 2005 中的分区表和索引

    SQL Server 2005 中的分区表和索引 SQL Server 2005          69(共 83)对本文的评价是有帮助 - 评价此主题   发布日期 : 3/24/2005 | 更新 ...

  6. 浅谈Cordova优缺点与环境部署(转载)

    浅谈Cordova优缺点与环境部署 作者:苏华杰 简介 Cordova是一个用基于HTML.CSS和JavaScript的,用于创建跨平台移动应用程序的快速开发平台.它使开发者能够利用iPhone.A ...

  7. <asp:FileUpload>控件 获取不到文件名

    <asp:FileUpload>控件 放在了<asp:UpdatePanel>控件中会导致获取不到文件名.

  8. redis和memcache缓存击穿,缓存失效问题

    我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题: 缓存穿透 缓存并发 缓存失效 一.缓存穿透 Paste_Image.png Paste_Image.png ...

  9. android LinearLayoutForListView

    由于 scrollview 套 listview 会有很多问题,网上很多人用 LinearLayout 模拟 listview, 也可以设置 adapter. 很多人直接继承 BaseAdapter, ...

  10. 存储器的保护(二)——《x86汇编语言:从实模式到保护模式》读书笔记19

    接着上一篇博文说. 5.代码段执行时的保护 每个代码段都有自己的段界限.同栈段一个道理,有效界限和G位相关. G=0:有效界限 = 描述符中的段界限 G=1:有效界限 = 描述符中的段界限值 * 0x ...