Appium 相关学习(二) testng中的Assert类

测试流程:

1、启动appium server。使用appium命令启动。

2、配置appium client。appium client的参数配置。

3、通过webdriver执行调用。

一、扩展AssertResult类

  主要扩展功能,当断言失败时,自动截图保存,此时需要重写AssertResult的onAssertFailure方法,重写代码如下:

  

public class AssertResult extends Assertion{

    @Override
    public void onAssertFailure(IAssert assertCommand) {
        System.out.println("断言失败,正在截图...");
        try {
                        //执行截图
            screenShot();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("获取截图失败");
        }
    }
}        

调用方法:将原来使用Assert 调用改为AssertResult对象调用

new AssertResult().assertEquals(wbContactName.getText(),"dddd","断言失败");

此时,如果断言失败,默认在系统当前用户的Temp文件夹下创建截图文件,格式为png

时间: 2024-10-07 05:51:43

Appium 相关学习(二) testng中的Assert类的相关文章

设计模式的学习(二)-UML中的类图及类图之间的关系

统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,为面向对象的建模语言的国际标准.他的特点是简单,统一,图形化,能表达软件设计中的动态与静态信息. 统一建模语言能为软件开发的所有阶段提供模型化和可视化支持,而且融入了软件工程领域的新思想.新方法和新技术,使软件设计人员沟通更简明,进一步缩短的设计时间,减少开发成本,它的应用领域很宽,不仅适合与一般系统的开发,而且适合于并行与分布式系统的建模. UML从目标系统的不同角度出发,定义了用例图

Appium 相关学习(三) 使用webdriver截图以及app点击事件

1.使用webdriver执行截图,也可以在此方法中自定义文件位置,需要通过操作File格式移动 //使用driver工厂创建driver AppiumDriver driver=DriverFactory.getDriver(); //执行截图,生成file文件,文件默认保存位置为系统当前账户的TEMP文件夹下,格式为png File file=driver.getScreenshotAs(OutputType.FILE); 2.app的点击事件,点击分为  直接点击  和   滑动 点击事件

在学习c++过程中,总结类的三个用户以及使用权限,感觉非常实用

首先我们需要知道类的三个用户分别是:类的实现者,类的普通用户和类的继承者(派生类),接下来分别讲解这几种用户的区别. 1 .类的实现者:顾明思议,就是类的设计者,拥有最大的权限,可以访问类中任何权限的成员,主要负责编写类的成员和友元的代码.可以访问类中的公有部分(public),保护部分(protect)和(private)私有部分. 2.类的普通用户:就是使用类的对象,这部分用户只能访问类的接口(也就是公用部分poublic). 3.类的继承者:就是派生类.派生类能访问基类中的公有部分和受保护

一、TestNG常用校验 Assert类

注意: [email protected]内,Assert断言建议只写一个,一个case只测试单个验证,因为假设某个断言失败,失败后的代码不会被执行. 常用方法: Assert.assertEquals(); Assert.assertNotEquals(); 相等/不等 Assert.assertNull(); Assert.assertNotNull(); 为空/不为空 原文地址:https://www.cnblogs.com/surenliu/p/12348614.html

TweenMax动画库学习(二)

目录: TweenMax动画库学习(一)            TweenMax动画库学习(二)           更新中,尽请期待......

Liam的C# 学习历程(三):类与对象、继承与多态

在这一次的课程中,我们主要学习了C#中一些关于类的的具体应用和面向对象(OOP)的三大特点:封装(Encapsulation).多态(Polymorphism)和继承(Inheritance).接下来就让我们来实验一下学到的知识. (一)This 关键字 this关键字(又称this指针)是类中所有非静态方法的隐藏指针. 调用this的方法有很多种,首先是在收到与成员变量同名的参数时,使用this可以避免混淆,就像下面过程所演示的: 成员函数SomeMethod收到了一个与成员变量hour同名的

SpringMVC学习(十二)——SpringMVC中的拦截器

SpringMVC学习(十二)--SpringMVC中的拦截器 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下SpringMVC中拦截器是如何定义的,以及测试拦截器的执行情况和使用方法. SpringMVC中拦截器的定义和配置 SpringMVC中拦截器的定义 在SpringMVC中,定义拦截器要实现HandlerInterceptor接口,并实现该接口中提供的三个方法,如下: public class Inter

C#中使用Redis学习二 .NET4.5中使用redis hash操作

上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# redis操作哈希表.并且会将封装的一些代码贴一下.在讲解的过程中,我打算结合redis操作命令一起叙述,算是作为对比吧.这样也能让读者清楚了解,所分装的代码对应的redis的哪一些操作命令. hash哈希表简介 如何在.NET4.0/4.5中安装redis组件? 在上一篇博文中,安装好的redis服务器端,要记得开启服务.然后再

Docker学习(十二)中遇到的一些问题汇总

Docker学习(十二)中遇到的一些问题汇总 标签(空格分隔): docker docker: Error response from daemon: Conflict. The container name "/myubuntu" is already in use docker container ls docker container rm 容器名 docker rm $(docker ps -a -q) 删除所有容器 centos无法上网 ifup ens33 // 启用网卡