zoukankan      html  css  js  c++  java
  • Robot FrameWork基础学习(四) 元素定位

    元素定位

    对于web自动化测试来说,就是操作页面的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素。

    Selenium2Library提供了非常丰富的定位器:

    虽然提供了这么多种定位方式,并不是要求我们每一种都要学会,平时主要用的定位方式:id, name,xpath, css

    1、id和name定位:

    假如把一个元素当作一个的话,id和name可以看作一个人的身份证号和姓名,当然,这些属性值是否唯一要看前端工程师如何设计了。

    如百度输入框可以根据id或name进行定位

      input text id=kw   hello,world!

      input text name=wd    hello,reobotframework

      click button id=su

    2、xpath定位:

    xpath是一种在xml文档中定位元素的语言,因为html可以看做xml的一种实现,所以selenium用户可以使用这种强大语言在web应用中定位元素。

    xpath定位元素办法:

      1)xpath的绝对路径:

      xpath = /html/body/div[1]/div[4]/div[2]/div/form/span[1]/input  

      我们可以从最外层开始找,html 下面的body 下面的div 下面的第4 个div 下面的....input 标签。通过一级一级的锁定就找到了想要的元素。

      2)xpath的相对路径:

      绝对路径的用法往往是在我们迫不得已的时候才用的。大多时候用相对路径更简便。

      A.xpath元素本身:

      xpath同样可以利用元素自身的属性,如xpath=//*[@id='kw']

      //表示某个层级下,* 表示某个标签名。@id=kw 表示这个元素有个id 等于kw 。

      当然也可以定制标签名,如:Xpath = //input[@id=’kw1’]

      元素本身,可以利用的属性不局限为id和name,如:

      Xpath = //input[@type=’text’]

      Xpath = //input[@autocomplete=’off’]

      但要保证这些元素可以唯一的识别一个元素。

      B.找上级

      如:

    元素的上级属性为:
    <form id="form1" class="fm" action="/s" name="f1">
    <span class="bg s_ipt_wr">
    <input id="kw1" class="s_ipt" type="text" maxlength="100" name="wd" utocomplete="off">

    xpath = //span[@class='bg s_ipt_wr']/input

      C:布尔值写法  

      如果一个人的姓名不是唯一的,身份证号也不是唯一的,但是同时叫张三并且身份证号为123 的人却可以唯一的确定一个人。那么可以这样写:

      Xpath = //input[@id=’kw1’ and @name=’wd’]
      

  • 相关阅读:
    必须要狠狠的喷一把苹果
    机械键盘四种轴试用体验
    linux终端快捷键
    挥别我在软件开发的第一个公司
    mysql 查询优化
    oracle 用户创建这个挺靠谱
    重置了下系统好多关于mysql密码的文章都很渣拷分好的备用
    关于WebView的复习
    Bpmx实施经验
    使用Nexus私服代理其他maven仓库(jitpack、jcenter)
  • 原文地址:https://www.cnblogs.com/yu2000/p/7141769.html
Copyright © 2011-2022 走看看