今天写了个简单向上滑动,执行到向上滑动操作,报nullpoint异常,经过各种乱碰终于解决了,现记录一下过程,以备以后参考!

环境背景:java+testng+appium

在@Test下调用 direct_slide_f("up");  这个方法的时候,最初成员变量up我是没有初始化的,只是简单声明了一下,然后在调用的的时候,没有传“up”,居然传了变量up;

且    if(direct.equals(this.getUp())){     这句代码之前是   if(direct.equals(up)){  这样写的,所以就报了nullpoint。

原因就是direct_slide_f 接收的应该是一个具体的字符串参数,而我传了一个没有初始化的变量 up,所以程序就不知道用什么去与   up 进行比较的,当然这个时候 up本身也没有值,

其实就等于拿自己和自己做对比,然后就报nullpoint了!

修改方案:将变量up初始化,然后调用方法direct_slide_f的时候,传入字符串“up”,而非变量up,执行就不报nullpoint了!

总结:如果在新添加一段代码后,代码报nullpoint,首先检查下新添加代码中变量和方法的关系!
public class Login extends KeyClass implements BaseExecuteInterface{
    public Login(){}
    private boolean isInstall = false;
    public static AndroidDriver driver;
    public  final String up = "up";

@Test
    public void login_f_tmp() throws Exception{
        String username="18576816231";
        String passwd="123456";
        driver.findElement(By.id("com.jiubei.shop:id/telephoneEt")).sendKeys(username);
        Thread.sleep(2000);
        driver.findElement(By.id("com.jiubei.shop:id/ed_pwd")).sendKeys(passwd);
        Thread.sleep(2000);
        //System.out.println("test");
        //key();
        driver.findElement(By.id("com.jiubei.shop:id/submitTv")).click();
        System.out.println("test2");
        //已进入到APP首页
        Thread.sleep(4000);
        driver.findElement(By.name("我的")).click();
        sleep(1);
      direct_slide_f("up");
    }
    // 调用出空指针,现在已修复
    public  void direct_slide_f(String direct){

TouchAction touchAction =new TouchAction(driver);
        if(direct.equals(this.getUp())){    
            touchAction.longPress(360, 720).moveTo(360, 600).release().perform();
            System.out.println(up);
            sleep(3);
        }else if(direct.equals((this.getDown())){
            touchAction.longPress(360, 600).moveTo(360, 720).release().perform();
            sleep(3);
        }else {
            System.out.println("参数错误");
            sleep(3);
        }
    }

唉,测试代码能力一般,总是出各种白菜错误,各位请随便喷!哈哈哈哈!

appium测试代码nullpoint的更多相关文章

  1. Appium使用Python运行appium测试的实例

    Appium使用Python运行appium测试的实例 一.  Appium之介绍 https://testerhome.com/topics/8038 详情参考--https://testerhom ...

  2. Appium测试环境搭建实践

    一.环境准备 1. JDK环境配置   a)下载并安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138 ...

  3. 基于 webdriver 的测试代码日常调试方python 篇

    看到论坛有人写了JAVA的测试代码日常设计,就给大家分享一下偶自己平时是如何测试测试代码的.主要基于python语言.基于 webdriver 的日常调试在 python交互模式下非常方便,打开pyt ...

  4. .NET单元测试的艺术-3.测试代码

    开篇:上一篇我们学习单元测试和核心技术:存根.模拟对象和隔离框架,它们是我们进行高质量单元测试的技术基础.本篇会集中在管理和组织单元测试的技术,以及如何确保在真实项目中进行高质量的单元测试. 系列目录 ...

  5. mysql锁 实战测试代码

    存储引擎 支持的锁定 MyISAM 表级锁 MEMORY 表级锁 InnoDB 行级锁 BDB 页面锁 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低.行级锁:开销 ...

  6. 使用Microsoft Fakes隔离测试代码

    在单元测试(Unit Test)中我们遇到的问题之一是:假如被测试组件(类或项目)为A,组件A依赖于组件B,那么在组件A的单元测试ATest中测试A时,也需要依赖于B,在B发生改动后,就可能影响到A的 ...

  7. iOS开发:XCTest单元测试(附上一个单例的测试代码)

    测试驱动开发并不是一个很新鲜的概念了.在我最开始学习程序编写时,最喜欢干的事情就是编写一段代码,然后运行观察结果是否正确.我所学习第一门语言是c语言,用的最多的是在算法设计上,那时候最常做的事情就是编 ...

  8. 在内核中异步请求设备固件firmware的测试代码

    在内核中异步请求设备固件firmware的测试代码 static void ghost_load_firmware_callback(const struct firmware *fw, void * ...

  9. x264测试代码

    建立一个工程,将头文件,库文件加载到工程,测试代码如下:#include <iostream>#include <string>#include "stdint.h& ...

随机推荐

  1. Python爬虫2----------运用代理访问

    为request添加一个代理,及将浏览器头部信息加入,随机从ip列表中拿出一个ip进行访问 注意函数参数的形式,如request.proxyhandler(协议,地址) import urllib.r ...

  2. 通过Excel认识POI

    1.POI是什么 Apache POI - the Java API for Microsoft Documents,顾名思义,Apache的三方包,用来操作微软office文档的,多数时候用来操作e ...

  3. java equals()方法

    java基础学习总结--equals方法 一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class Te ...

  4. 阿里云服务器解决mysql远程连接失败问题

    嗯,自己买了个阿里云的学生机服务器,奈何装了mysql以后一直不能连接,也是够笨的. 记录一下自己遇到的问题. 当然了,首先需要在阿里云安全组开放3306端口,第一次玩儿云服务器差点把我搞坏了.... ...

  5. 如何写一个jquery插件

      本文总结整理一下如何写一个jquery插件?虽然现今各种mvvm框架异常火爆,但是jquery这个陪伴我们成长,给我们带来很多帮助的优秀的库不应该被我们抛弃,写此文章,作为对以往欠下的笔记的补充, ...

  6. 关于String的对象创建

    1)String String是Java中的字符串类,属于引用数据类型.所以String的对象存放的是引用的地址.在底层是一个字符型数组. String是不可变的.所谓的不可变是指一个对象有了一个引用 ...

  7. String Problem hdu 3374 最小表示法加KMP的next数组

    String Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  8. WordPress-基础设置之常规设置

    对于第一次使用Wordpress系统的朋友,请先别着急发布文章及进行其他操作,为了更加科学的使用及管理wordpress,应该需要对其进行相关设置,主要涉及3个部分,一.常规设置,二.阅读设置,三.固 ...

  9. 干货,比较全面的c#.net公共帮助类

    比较全面的c#帮助类 比较全面的c#帮助类,日常工作收集,包括前面几家公司用到的,各式各样的几乎都能找到,所有功能性代码都是独立的类,类与类之间没有联系,可以单独引用至项目,分享出来,方便大家,几乎都 ...

  10. SQL查找 删除重复数据只保留一条

    --用SQL语句,删除掉重复项只保留一条 --在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 --1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 ...