标签:io os 使用 java ar for 数据 art sp
Class By定义了页面元素的定位和支持哪些页面元素(至少我是这么理解的),使用及其简单:Used in conjunction with the web methods. Examples are By.id(String id) and By.cssSelector(String selector),下面只举一个CssSelector的具体源码来分析下是如何实现的:
public abstract class By {
......
/**
* Select a WebElement by its css selector.
* @param selectors the css selector of the web element
* @return the CssSelector object
*/
public static By cssSelector(final String selectors) {
return new CssSelector(selectors);
}
......
static class CssSelector extends By {
private final String selector;
public CssSelector(String selector) {
this.selector = selector;
}
@Override
public String getValue(){
return selector;
}
}
这里先定义了一个抽象类By, cssSelector的数据类型是By, 传了一个常量selectors, 并且需要返回一个selector常量, 在下面是内部new的方法的具体实现,分析下在Java技术上用到的一些东西:
1)首先,定义了一个抽象类By,为什么是定义一个抽象类而不是一个接口? 因为在抽象类中可以写具体的实现,如果写成接口则以后每个类都需要具体实现
Which should you use, abstract classes or interfaces?
Comparable
and Cloneable
are implemented by many unrelated classes.2)方法返回数据类型为定义的抽象类本身By:做了一定的规定,返回的一定是By定义的相关数据类型,
3)静态内部类继承了By这个抽象类:静态内部类,不需要实例化即可使用
4)实现了具体的方法: public CssSelector(String selector) {
this.selector = selector;
5)重写了getValue方法:原先是默认为空,现在是返回该selector的内存引用。
标签:io os 使用 java ar for 数据 art sp
原文地址:http://www.cnblogs.com/TestingOn/p/3972835.html