以上文为例
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");
textFieldsList.get(2).sendKeys("Some@example.com");
driver.findElement(By.name("Save")).click();
//对名为Save的控件执行点击操作
先来分析下脚本
//对页面上第一个textfield类型的
控件的赋值输入Some Name
//对页面上第三个
textfield类型的
控件的
赋值
输入Some@example.com
由此可见控件至少有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()