appium笔记六:appium常用api二次封装

appium提供的各种api可以直接拿来用也可以进行二次封装,当然编程厉害的还可以自己修改部分源码。这里仅提供参考,不用千篇一律

/**
 * Created by kingwit on 2017/9/5 0005.
 * 说明:查找元素、判断元素是否存在
 */

public class ElementMethodObject {

     /**
     * 判断元素是否存在
     * 参数: androiddriver By的对象
      * return 布尔值
     **/

    public  boolean isElementPresent(AndroidDriver driver, By by){
        try {
            if(driver==null){
                Log.info("driver 对象为空...请检查代码....");
            }
            driver.findElement(by);
            Log.info("在当前页面找到元素:"+by.toString());
            return true;
        }catch (NoSuchElementException e){
            //e.printStackTrace();
            Log.error("在当前页面找不到该元素:"+by.toString());
            return false;
        }
    }

    /**
     * 等待元素出现 10s超时,找不到返回null 自定义方法等待
     * 参数: androiddriver By的对象 ,等待时间
     * 找到返回true
     **/
    public WebElement waitForElementPresent(AndroidDriver driver, By by,int waitSec){
        WebElement webElement = null;
        for(int sec=0;;sec++){
            if(sec >= waitSec) {
                try {
                    throw new NoSuchElementException("超过" + waitSec + "s元素未找到:" + by.toString());
                } catch (NoSuchElementException e) {
                    e.printStackTrace();
                }
                break;
            }
            if(isElementPresent(driver,by)) {
                webElement = driver.findElement(by);
                break;
            }
            Log.info("继续尝试查找:"+by.toString());
            ThreadSleepMethod.threadSleep(1000);
        }
        return webElement;
    }

    /**
     * 查找元素 显性等待
     * 参数:driver 对象,等待时间,by对象
     * return  webelment对象
     **/
    public WebElement WebElementWait(AndroidDriver driver , int waittime, final By by){
        WebDriverWait wait = new WebDriverWait(driver, waittime);
        WebElement element = wait.until(new ExpectedCondition<WebElement>(){
            @Override
            public WebElement apply(WebDriver d) {
                return
                        d.findElement(by);
            }});
        return element;
    }
}
public class ScreenshotMethodObject {
    // public AndroidDriver driver;
    public Date data;

    /**
     * 获取当前测试时间
     * 参数:无
     * return  返回当前日期 指定格式
     **/
    private   String getTime(){
        SimpleDateFormat data = new SimpleDateFormat("yyyyMMddhhmm");
        return data.format(new Date());
    }

    /**
     * 截图(路径写死)
     * 参数:driver 对象
     * return  无
     **/
    public void Screenshot(TakesScreenshot drivername,String strName ){
        String filename=getTime()+strName + ".jpg";
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值