您的位置:首页 > 其它

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

2014-02-13 11:53 477 查看
在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 [b]textContent)[/b]

通过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识别,支持正则表达式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: