新手区 学习 APPIUM 元素定位 (JAVA)-xpath

jinling · 2016年05月31日 · 最后由 until 回复于 2016年06月20日 · 1590 次阅读

新手开始学习 APPIUM+ JAVA+TestNG,xpath 简单总结了一下如下;各位可以给补充一下或者指点错误啊。

表达式

1.xpath 根据 text 内容查找元素

//view[contains(@text,"value")]

//view[@text="value"]等

2.xpath 根据 content-desc 查找元素

//view[contains(@content-desc,"value")]

3.xpath 根据 index 查找元素

//view[contains(@index,value)]

4.元素顺序

//view/view[n]/view等
例子

以下语句已定位通过

WebElement sells = driver.findElement(By.xpath("//android.widget.TextView[contains(@text,'正在售票')]"));

WebElement movie = driver.findElement(By.xpath("//android.widget.TextView[@text='夜孔雀']"));

WebElement banner =driver.findElement(By.xpath("//android.support.v7.widget.RecyclerView/android.widget.LinearLayout/android.widget.LinearLayout")) ;

WebElement menu_me = driver.findElement(By.xpath("//*[@resource-id='com.gewara:id/side_menu_home']/android.widget.TextView"));

共收到 3 条回复 时间 点赞

我在 appcrawler 的文档里面也补充了一点常用的 xpath 表达式

//*[not(ancestor-or-self::UIATableView)]
//*[not(ancestor-or-self::UIAStatusBar)]
//*[@resource-id='com.xueqiu.android:id/action_search']/parent::*
//*[@resource-id='com.xueqiu.android:id/action_search']
//*[contains(name(), 'Text')]
//*[@resource-id!='' and not(contains(name(), 'Layout'))]

#1 楼 @seveniruby 谢谢, 我也来试试研究你这些负责的写法。

学习了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册