Selenium的基本使用

转载 2016年08月31日 10:07:55

一、SeleniumJava编程基本语法

  在Selenium的基本语法中首先是需要定位到页面元素的,Selenium通过找寻到界面元素然后触发相应的时间,通过页面元素变化判断是否执行了相应的操作。

  可以通过页面元素的属性获取相应的页面元素。

  1.通过Identifier(id)定位元素

  所给出的定位的HTML元素必须要有identifier,如果没有就会报告未找到相应元素的错误。通过ID来标识可以确定唯一性。

  WebElement ele = By.id("idName");

  只有当你明确知道元素的id属性,才能使用。

  2.通过Name定位元素

  使用id定位元素固然方面,但是id并不是html元素必须的,我们可以使用Name定位元素位置。

  使用Name定位元素的位置,会匹配第一个与Name匹配的元素。如果页面中有多个相同的Name,可以使用更多的筛选器进行元素筛选的细化。

  WebElement ele = By.Name("name");

  只有明确知道原属的那么,才能使用。

  3.通过Xpath定位元素

  在一些情况下无法得知页面元素的id和name,还可以使用xpath从已知节点开始定位相应的元素。

  绝对路径进行定位 xpath=/html/body/form[1]

  通过元素的相应属性定位例如xpath=//form[@id='loginForm'] 表示从根节点开始查找一个form元素她包含一个属性是id并且里面的值为loginForm

  找到某一个元素下相应的子元素 xpath=//form[input/@name='username'] 找到Form表单下面的input元素并且该元素有一个属性name且该name的值是username。

  找到第一个指定的元素 xpath=//input[@name='username'] 扎到第一个input元素里面有一个name属性并且该属性值为username

  还可以使用更加细分的查找 xpath = //input[@name='continue'][@type='button'] 找到input标签,1.该标签有一个name=continue属性和type=button属性的元素。

  4.通过连接定位元素

  WebElement ele = By.LinkText("xxxx");

  当知晓相应的链接类容就可以定位到相应的元素。

  5.通过DOM元素定位元素

  DOM元素是HTML的基本元素,而且只有dom定位可以直接通过document

  dom=document.getElementById('loginForm')

  dom=document.forms['loginForm']

  dom=document.forms[0]

  document.forms[0].username

  document.forms[0].elements['username']

  document.forms[0].elements[0]

  document.forms[0].elements[3]

  6.通过tagName,通过标签名称进行定位

  List eles = By.TagName("tagname");

  在一个页面中相同的tag标签太多了,如果仅适用单个tagname查询会找到一个列表。

  7.通过Css进行定位(Cascading Style Sheets)

  css=form#loginForm

  css=input[name="username"]

  css=input.required[type="text"]

  css=input.passfield

  css=#loginForm input[type="button"]

  css=#loginForm input:nth-child(2)

  二、Selenium错误现场保存方法(截屏和记录日志)

  知晓了如何定位元素,我们就可以触发页面上相应的BOM事件了。

  那么当执行页面响应的自动化操作的时候发生了错误我们应该怎样才能更好的记录相应的错误呢?记录Log日志和保存相应的屏幕错误信息。

  1.首先记录log日志,可使用为java量身定做的log4j进行日志记录(我的另外一篇Log4j如何实现日志分模块,分天,分错误级别进行记录)

  2.截取错误发生时的屏幕,这样就可以很快的定位错误发生前的操作和错误发生时的错误信息了。

  分享一段执行截屏的java代码。

  /*截屏操作,遇到错误自动截屏存储到指定位置。

  * 指定保存的路径,然后通过 TakesScreenshot 的 getScreenshotAs进行截屏操作。

  * WebElement 继承 TakesScreenshot 这个最大能耐焊好的基于了浏览器,返回当前的状态

  * ——整个当前的HTML元素内容

  * ——可视化部分的HTML元素

  * */

  public static void captureScreenshot(String arg0,WebDriver driver){

  if(PrivateDataSource.Debug){

  logger.debug("调试截图功能,并把截图存储到:"+PrivateDataSource.screenshotsResultsPath);

  }

  String screenshotsResultsPath=PrivateDataSource.screenshotsResultsPath;

原文转自:http://www.uml.org.cn/Test/201411254.asp

selenium用法详解

selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Fir...
  • qq_29186489
  • qq_29186489
  • 2017年11月30日 06:55
  • 113224

Python Selenium 学习笔记(一)基本操作

Python是门挺强大的语言,同常见的C,Java,C#等有几点不同,一个是定义变量前不用定义类型,直接赋值就行,非常方便,另一个是没有begin,end,{,}这些麻烦的东西,回车空格就是这些东西的...
  • wangyutian2011
  • wangyutian2011
  • 2015年07月02日 13:28
  • 1369

selenium1、selenium2 示例代码(java版)

1、Selenium1(Remote control)Selenium1包含Selenium服务器(RC)和客户端库文件两部分 Selenium服务器用来接收测试程序传来的selenium命令...
  • pegsa
  • pegsa
  • 2016年07月11日 23:08
  • 3700

selenium webdriver (python)的基本用法

博客园 — 虫师 http://fnng.cnblogs.com
  • qq_39248703
  • qq_39248703
  • 2017年06月26日 15:58
  • 4669

【Selenium】idea环境配置

1.maven配置 下载地址:http://maven.apache.org/download.cgi# 下载内容:apache-maven-3.5.0-bin.zip 环境变量:M2_HOME:E:...
  • weixin_37880701
  • weixin_37880701
  • 2017年05月24日 15:32
  • 927

Selenium标签的基本使用

代码import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.ch...
  • paicMis
  • paicMis
  • 2016年10月09日 00:32
  • 843

Selenium自动化工具的使用简介

一、Selenium演进过程 Selenium是什么? Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具,UI功能测试框架,开源免费,支持多种浏览器、多种...
  • xundh
  • xundh
  • 2015年01月15日 14:37
  • 1957

在selenium中使用JQuery

执行以下步骤 1.把JQuery的js文件添加到selenium-server.jar的/core/scripts目录下. 2.修改selenium-server.jar/core/RemoteRun...
  • duoluohua
  • duoluohua
  • 2012年11月08日 14:45
  • 1203

关于JAVA的selenium安装使用

前言上一篇博客谈到如何使用python的selenium做微博爬虫, 不过该程序只适用于ubuntu系统.本来想在window也用同样的方法做爬虫,结果一个下午都尝试失败,系统总是报”window e...
  • qq_30843221
  • qq_30843221
  • 2016年12月14日 12:22
  • 1422

Python Selenium结合使用的一个小例子

之前对Py感兴趣主要是平常喜欢爬一些小黄图。。。首先我的环境是在window上面的,selenium 的安装使用pip install selenium 安装即可,PhantomJS不需要安装直接下...
  • t1623183652
  • t1623183652
  • 2017年06月13日 17:58
  • 691
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Selenium的基本使用
举报原因:
原因补充:

(最多只允许输入30个字)