elements就是html元素下所有的标签。用page-object你可以找到并定位html页面下绝大多数的元素,这个文章列出了可定位的这些元素,生成的方法,和依据什么关键字来找到这些元素。

BUTTON

用以下方法声明一个button:

 button(:your_name, :id => 'an_id')

将会生成两个方法,它们是:

 your_name             # 点击这个按钮
your_name_element # 返回这个button元素

你可以通过一下一种或者几种方法来定位一个button

  • :alt => Watir and Selenium (input type=image only)
  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :src => Watir and Selenium (input type=image only)
  • :text => Watir and Selenium
  • :value => Watir and Selenium
  • :xpath => Watir and Selenium

CELL(td)

通过一下方法声明一个cell

 cell(:your_name, :id => 'an_id')

将会生成两个方法:

 your_name             # 返回这个cell的text
your_name_element # 返回cell元素

你可以通过以下一种或者几种方式来定位cell

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :text => Watir and Selenium
  • :xpath => Watir and Selenium

checkbox

通过以下方法声明checkbox

 checkbox(:your_name, :id => 'an_id')

将会生成4个方法

 check_your_name          # 勾选选择按钮
uncheck_your_name # 取消勾选按钮
your_name_checked? # 返回按钮是否被勾选(true or false)
your_name_element # 返回checkbox元素

你可以通过以下方式来定义checkbox元素

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :value => Watir and Selenium
  • :xpath => Watir and Selenium

Div

可以通过一下方法声明一个div

 div(:your_name, :id => 'an_id')

将会生成两个方法:

your_name             # 返回div的文本
your_name_element # 返回div元素

你可以通过以下的值来定位一个div

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :text => Watir and Selenium
  • :xpath => Watir and Selenium

FileField

你可以用以下方法声明一个filefield

 file_field(:your_name, :id => 'an_id')

将会生成两个方法:

 your_name=            # 设置FileField的值
your_name_element # 返回filefield元素

你可以用以下方式来定位一个filefield

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :title => Watir and Selenium
  • :xpath => Watir and Selenium

Form

 form(:your_name, :id => 'an_id')

生成一个方法

 your_name_element     # 返回form元素

定义定位form的方式:

  • :action => Watir and Selenium
  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :xpath => Watir and Selenium

H1, H2, H3, H4, H5, H5

 h1(:your_name, :id => 'an_id')
h2(:your_name, :id => 'an_id')
h3(:your_name, :id => 'an_id')
h4(:your_name, :id => 'an_id')
h5(:your_name, :id => 'an_id')
h6(:your_name, :id => 'an_id')

生成两个方法

your_name             # 返回这些标签内的text
your_name_element # 返回这些标签元素本身

可以通过一下方式来定位:

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :text => Watir and Selenium
  • :xpath => Watir and Selenium

HiddenField <input type ="hidden">

 hidden_field(:your_name, :id => 'an_id')

生成两个方法

your_name          # 返回HiddenField的value
your_name_element # 返回hiddenfield这个元素

可以通过以下方式定位

  • :class => Watir and Selenium
  • :css => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :text => Watir and Selenium
  • :value => Watir and Selenium
  • :xpath => Watir and Selenium

Image

image(:your_name, :id => 'an_id')

生成一个方法

your_name_element     # 返回image元素

可通过以下方式定位

  • :alt => Watir and Selenium
  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :src => Watir and Selenium
  • :xpath => Watir and Selenium

Link

link(:your_name, :id => 'an_id')

生成两个方法

your_name          # 点击这个连接
your_name_element # 返回link元素

可通过一下方式定位link

  • :class => Watir and Selenium
  • :href => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :link => Watir and Selenium
  • :link_text => Watir and Selenium
  • :name => Watir and Selenium
  • :text => Watir and Selenium
  • :xpath => Watir and Selenium

ListItem

对应html的li

list_item(:your_name, :id => 'an_id')

生成两个方法

your_name             # 返回li内的text
your_name_element # 返回li元素

可通过一下方式定位li

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :xpath => Watir and Selenium

OrderedList

对应html里的<ol>

ordered_list(:your_name, :id => 'an_id')

生成两个方法

your_name             # 返回ol内包含的text
your_name_element # 返回ol元素

可通过以下方式来定位

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :xpath => Watir and Selenium

Paragraph

对应html中的P

paragraph(:your_name, :id => 'an_id')

两个方法被生成

your_name          # 返回p内的text
your_name_element # 返回p元素

可通过以下元素来定位P

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :xpath => Watir and Selenium

RadioButton

radio_button(:your_name, :id => 'an_id')

生成4个方法

select_your_name          # 选择该单选按钮
clear_your_name # 取消勾选该单选按钮
your_name_selected? # 返回该按钮被勾选的状态(true or false)
your_name_element # 返回radiobutton元素

可通过以下方式来定位

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :xpath => Watir and Selenium

SelectList (Dropdown)

select_list(:your_name, :id => 'an_id')

4个方法被生成

your_name          # 返回下拉列表中的文本
your_name= # 选中下拉列表
your_name_element # 返回该列表元素
your_name_options # returns an array of available values to pick from in the SelectList(将selecelist中各个选项中的文本返回一个数组,ps:不知是否翻译的正确。。)

自 0.6.3版本后, 实际返回的不是value,是text

可以通过一下方式来定位:

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :text => Watir only
  • :value => Watir only
  • :xpath => Watir and Selenium

Span

span(:your_name, :id => 'an_id')

两个方法被生成

your_name             # 返回span元素内的text
your_name_element # 返回span元素

可以通过以下方式来定位span

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :xpath => Watir and Selenium

Table

table(:your_name, :id => 'an_id')

两个方法被生成:

your_name             # 返回table内包含的text
your_name_element # 返回table元素

可通过以下元素来定位table

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :xpath => Watir and Selenium

TableCell

cell(:your_name, :id => 'an_id')

两个方法被生成:

your_name          # 返回tablecell的text
your_name_element # 返回tablecell元素

可通过以下方式来定位

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :text => Watir and Selenium
  • :xpath => Watir and Selenium

TextArea

text_area(:your_name, :id => 'an_id')

三个方法被生成

your_name          # 返回textarea内的value值
your_name= # 设置textarea的value
your_name_element # 返回textarea元素

可以通过以下方式来定位textarea

  • :class => Watir and Selenium
  • :css => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :xpath => Watir and Selenium

TextField

text_field(:your_name, :id => 'an_id')

三个方法被生成

your_name          # 返回textfield内的值
your_name= # 设置textfield的值
your_name_element # 返回textfield元素

可以通过以下方式来定位

  • :class => Watir and Selenium
  • :css => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :text => Watir only
  • :title => Watir only
  • :value => Watir only
  • :xpath => Watir and Selenium

UnorderedList

对应html元素的ul

unordered_list(:your_name, :id => 'an_id')

两个方法被生成

your_name             # 返回ul内包含的text
your_name_element # 返回ul元素

可通过以下方式来定位

  • :class => Watir and Selenium
  • :id => Watir and Selenium
  • :index => Watir and Selenium
  • :name => Watir and Selenium
  • :xpath => Watir and Selenium

page-object使用(2)---elements的更多相关文章

  1. selenium page object model

    Page Object Model (POM) & Page Factory in Selenium: Ultimate Guide 来源:http://www.guru99.com/page ...

  2. 【搬运】 Page Object 官方文档 (新增了Widget特性)

    Appium Java client has facilities which components to [Page Object](https://github.com/SeleniumHQ/se ...

  3. Selenium Page object Pattern usage

    使用Selenium的framework,大家免不了要使用他的page object pattern来开发适合自己的framework,原因很简单,page object 可以将测试的对象抽象成一个个 ...

  4. Selenium+Python :WebDriver设计模式( Page Object )

    Page Object 设计原理 Page Object设计模式是Selenium自动化测试项目的最佳设计模式之一,强调测试.逻辑.数据和驱动相互分离. Page Object模式是Selenium中 ...

  5. Appium+Python之PO模型(Page object Model)

    思考:我们进行自动化测试时,如果把代码都写在一个脚本中,代码的可读性会变差,且后期代码维护也麻烦,最好的想法就是测试对象和测试用例可以分离,可以很快定位问题,代码可读性高,也比较容易理解.这里推荐大家 ...

  6. Selenium的PO模式(Page Object Model)[python版]

     Page Object Model 简称POM  普通的测试用例代码: .... #测试用例 def test_login_mail(self): driver = self.driver driv ...

  7. 使用page object模式抓取几个主要城市的pm2.5并从小到大排序后写入txt文档

    #coding=utf-8from time import sleepimport unittestfrom selenium import webdriverfrom selenium.webdri ...

  8. Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)

            研究Selenium + python 自动化测试有近两个月了,不能说非常熟练,起码对selenium自动化的执行有了深入的认识. 从最初无结构的代码,到类的使用,方法封装,从原始函数 ...

  9. Page Object Model (Selenium, Python)

    时间 2015-06-15 00:11:56  Qxf2 blog 原文  http://qxf2.com/blog/page-object-model-selenium-python/ 主题 Sel ...

  10. 【C#|.NET】从细节出发(三) 逻辑层事务和page object模式

    一. 业务逻辑层的事务问题 如果你的程序分层清晰并且系统禁用复杂存储过程,那么在DA中的职责比较单一.程序的逻辑通过BLL调用各种不同模块的DA来实现数据操作.如果当需要不同模块在一个事务的时候,问题 ...

随机推荐

  1. C# DbHelperSQLP,操作不同的数据库帮助类 (转载)

    本类主要是用来访问不同数据库而编写的主要功能如下 .数据访问基础类(基于不同数据库),主要是用来访问不同数据库的. .得到最大值:是否存在:是否存在: . 执行SQL和Orace语句,返回影响的记录数 ...

  2. 多线程、Socket

      多线程 线程.进程和应用程序域 进程:进程是一个操作系统上的概念,用来实现多任务并发执行,是资源分配的最小单元,各个进程是相互独立的,可以理解为执行当中的程序,在操作系统中一般用一个称为PCB的结 ...

  3. 实现QQ空间图片预览效果

    今天项目遇到需求 要求 实现图片预览效果 .  类似于扣扣空间那种,本人也到网上找过 代码量太大了   ,类多到处是注释看的有点恶心 .然后自己写了一个图片预览的效果,其实很简单的 . 首先我们来分析 ...

  4. IXListView的自我分析一

    XListView是一个很不错的用来刷新和加载的控件,下拉刷新和上拉加载.目前这个控件已经没有更新,这个不重要,重要的是它确实还不错,之后可能一直有人在用. android没有提供原生的这类控件,需要 ...

  5. Android NDK学习总结

    一.android NDK编程步骤 java文件中声明native方法. android工程根目录新建jni文件夹. 调用javah命令为第一步声明的native方法生成相应的.h头文件. 通过win ...

  6. google map getLocation参考

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  7. jsp - java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

    使用jsp连接数据库真的不那么容易,之前使用纯java连接sql Server 2008,都是很正常的,但是在使用jsp调用的时候,总是报错ClassNotFoundException.很郁闷 jar ...

  8. C# 读取txt文本内容写入到excel

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. .NET多线程同步方法详解

    .NET多线程同步方法详解(一):自由锁(InterLocked) .NET多线程同步方法详解(二):互斥锁(lock) NET多线程同步方法详解(三):读写锁(ReadWriteLock) .NET ...

  10. SQL生成一柱双色球

    数据库环境:SQL SERVER 2005 以前用C/JAVA穷举双色球的所有排列,今天想着换成用SQL实现,只生成一柱双色球. 简单说下双色球的规则,双色球由红色球和蓝色球组成,每注投注号码由6个红 ...