51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2068|回复: 0
打印 上一主题 下一主题

【我分享】 Robotium API 翻译(五)——web控件测试方法,WebElement和By类

[复制链接]
  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2015-1-6 08:27:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    在Robotium中,可以通过id、index、控件名称或者对应的text正则表达式来定位一个本地的控件。那么对于外部的web控件来说,在你的程序里面无法像本地控件一样找到id、index什么的,怎么来定位呢?

    其实Robotium提供了定位web控件的类和方法,分别在By和Solo里面。其中By是专门用来定位web属性的,Solo里面部分方法是可以用于web控件的,部分方法是专门为了web控件设置的。

    大家可以使用PC端的浏览器模拟User-Agent为android手机的方式,来查看web控件的属性。Chrome有自带的User-Agent模拟,FireFox需要下载插件才可以。我就是用的FireFox的插件,如下图:



    By里面的方法介绍

    By id(String id)

    通过id来定位一个WebElement,最常用的方法,一般来说是首选。

    参数:

    id-WebElement的id

    返回值

    By-定位的WebElement



    By name(String name)

    通过name来定位一个WebElement,也很常用。

    参数:

    name-WebElement的name

    返回值

    By-定位的WebElement



    By className(String ClassName)

    通过className来定位一个WebElement,也很常用。

    参数:

    className-WebElement的className

    返回值

    By-定位的WebElement



    By tagName(String tagName)

    通过tagName来定位一个WebElement,也很常用。

    参数:

    tagName-WebElement的tagName

    返回值

    By-定位的WebElement


    By xpath(String xpath)

    通过xpath来定位一个WebElement,定位搜索结果的不二选择。

    参数:

    xpath-WebElement的xpath

    返回值

    By-定位的WebElement



    By cssSelector(String sccSelector)

    通过cssSelector来定位一个WebElement。据说是速度最快的识别方法,但我对css没那么熟,不经常使用。

    参数:

    cssSelector-WebElement的cssSelector

    返回值

    By-定位的WebElement



    By textContent(String textContent)

    通过textContent来定位一个WebElement,可以使用正则表达式。据说是最慢的识别方式,不推荐使用。

    参数:

    textContent-WebElement的textContent

    返回值

    By-定位的WebElement


    String getValue()

    返回属性的值

    参数:


    返回值:

    该属性的值



    Solo里面的WebElement专有方法,由于前面已经有介绍,在此不加赘述了

    void clearTextInWebElement (By by)

    清除WebElement中的值


    void clickOnWebElement(By by [, int match, boolean scroll])

    点击WebElement,通过web属性识别

    void clickOnWebElement(WebElement webElement)

    点击WebElement,通过webElement名称识别

    void enterTextInWebElement (By by, String Text)

    输入内容,通过web属性识别webElement


    void typeTextInWebElement (By by | WebElement webElement , String Text [, int match])

    输入内容,通过web属性识别webElement

    ArrayList<WebElement> getCurrentWebElements([By by])

    获取所有WebElement,并存到ArrayList中

    WebElement getWebElement (By by, int index)

    获取WebElement,通过web属性识别

    boolean waitForWebElement (By by [, int minimumNumberOfMatches, int timeout , boolean scroll})

    等待WebElement响应



    Solo里面的WebElement和Native控件共有的方法


    void clickOnText(String text [, int match , boolean scroll])

    点击文字,通过text识别,支持正则表达式

    void clickLongOnText(String text [, int match , int time|boolean scroll])

    长按文字,通过text识别,支持正则表达式



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-18 06:32 , Processed in 0.063245 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表