Android自动化-使用interface实现by定位、元素基本操作

来源:互联网 发布:淘宝店铺没人买 编辑:程序博客网 时间:2024/06/16 16:16

之前写自动化都是直接撸,今天用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{@Overridepublic void click(WebElement element) {element.click();}@Overridepublic void write(WebElement element,String content) {element.clear();element.sendKeys(content);}@Overridepublic String text(WebElement element) {return element.getText();}}

getElement.java文件中是by接口实现类

public class getElement extends base implements by{static WebElement element;@Overridepublic WebElement id(String elementId) {return element=driver.findElementById(elementId);}@Overridepublic WebElement className(String elementClassName) {return element=driver.findElementByClassName(elementClassName);}@Overridepublic 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"));}}