Appium 获取元素控件及其属性

以上文为例 http://blog.sina.com.cn/s/blog_696665040101hj5y.html
先来分析下脚本

        WebElement el = driver.findElement(By.name("Add Contact"));
        //根据控件的name来获取控件
        el.click();
        //对控件执行点击操作
        List textFieldsList = driver.findElements(By.tagName("textfield"));
        //根据控件的tagName来获取所有控件
        textFieldsList.get(0).sendKeys("Some Name");
//对页面上第一个textfield类型的控件的赋值输入Some Name
        textFieldsList.get(2).sendKeys("Some@example.com");
//对页面上第三个textfield类型的控件的赋值输入Some@example.com
        driver.findElement(By.name("Save")).click();
        //对名为Save的控件执行点击操作

由此可见控件至少有tagName,name ,text 三个属性。

一、获取控件属性
1.获取控件类名
System.out.println("[Button Add Contact]Class: "+el.getClass());   
2.获取控件类型 
System.out.println("[Button Add Contact]TagName: "+el.getTagName());
3.获取控件的值
System.out.println("[Button Add Contact]Text: "+el.getText());
   
输出如下:
[Button Add Contact]Class: class org.openqa.selenium.remote.RemoteWebElement
[Button Add Contact]TagName: android.widget.Button
[Button Add Contact]Text: Add Contact

二、获取元素的方式
1.元素类型(tagname)
通过UI的控件类型
List textFieldsList = driver.findElements(By.tagName("textfield"));

注:在android下文本输入框的类型是EditText,而是上面举例写的是textfield,那是因为android / ios都要对与seleium都有一个元素映射,对于Android下的元素对应, 可以参考

2.元素的位置(xpath)
具有一定约束的路径抽象标示, 基于XPath方式

3.元素的值(name)
driver.findElement(By.name("Save")).click();
通过元素的文本(text), 标签(label),描述信息(content‐desc) ,或者id标示来查找


4.元素的ID
driver.findElement(By.id("com.example.android.contactmanager:id/contactNameEditText")).getText()

展开阅读全文

没有更多推荐了,返回首页