版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37696252/article/details/73290220
之前写自动化都是直接撸,今天用interface来实现元素定位、元素操作,暂时只写了这两个作为参考,以后有时间再写元素工厂、数据工厂。不喜勿喷,重在交流。废话不多说,直奔主题吧。
首先看下工程目录
ActionToolsInterface.java文件中是定义的接口,里面定义了两个接口Action(操作接口),by(定位元素接口),上代码
public class ActionToolsInterface {
public interface Action{
public abstract void click(WebElement element);
public abstract void write(WebElement element,String content);
public abstract String text(WebElement element);
}
public interface by{
public abstract WebElement id(String elementId);
public abstract WebElement className(String elementClassName);
}
}
actionElement.java文件中是Action接口实现类
public class actionElement implements Action{
@Override
public void click(WebElement element) {
element.click();
}
@Override
public void write(WebElement element,String content) {
element.clear();
element.sendKeys(content);
}
@Override
public String text(WebElement element) {
return element.getText();
}
}
getElement.java文件中是by接口实现类
public class getElement extends base implements by{
static WebElement element;
@Override
public WebElement id(String elementId) {
return element=driver.findElementById(elementId);
}
@Override
public WebElement className(String elementClassName) {
return element=driver.findElementByClassName(elementClassName);
}
@Override
public WebElement XPath(String elementText) {
return element=driver.findElementByXPath(elementText);
}
}
base.java文件中实现一些公用基类方法,比如滑动、等一些操作方法,目前只是写了全局接口对象放在里面
public class base {
public static AndroidDriver driver;
public static Action action =new actionElement();
public static by by=new getElement();
}
test.java就是测试方法了
public class test extends base{
public static void main(String[] args){
action.click(by.id("elementId"));
}
}