zoukankan      html  css  js  c++  java
  • 对自动化测试工具的简要认识

    自动化测试工具

    最近课程教学了一些自动化工具的使用,为了分享给大家,记此篇。下篇:对自动化测试工具的实战运用

    Junit

    JUnit是一个Java语言的单元测试框架,多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

    Eclipse中开发、运行JUnit测试相当简单。因为Eclipse本身集成了JUnit相关组件,并对JUnit的运行提供了无缝的支持。

    本次介绍就先讲在JUnit在Eclipse中的运用。因为博主这段时间准备蓝桥杯下载了官方推荐的Eclipse 3.6.2版本(埋下伏笔),

    同时跟他配套使用的是JDK是1.6.0_45版本,jdk版本过高导致Eclipse 打不开。

    image-20200330102730337

    image-20200330103133425

    简单使用

    1. 首先我们完成蓝桥杯入门第一题:输入A、B,输出A+B。

    源代码:

    import java.util.*;
    public class Main
    {
        public static void main(String args[])
        {
            Scanner sc = new Scanner(System.in);
            Integer a = sc.nextInt();
            Integer b = sc.nextInt();
            System.out.println(a + b);
        }
    }
    
    1. 然后把功能模块化

    源代码:

    import java.util.Scanner;
    
    public class Main {
    	
    	public static void main(String[] args){	
    		Scanner sc = new Scanner(System.in);
    		int a =sc.nextInt();
    		int b =sc.nextInt();
    		
    		System.out.println(add(a, b));
    
    	}
        //输入A、B,返回A+B
    	public static int add(int a, int b){	
    		return a+b;
    	}
    }
    
    1. 创建测试类。选择该java文件——>右键New——>点击JUnit Test Case——>Next——>勾选需要测试的方法——>Finish

    源代码:

    image-20200330104831091

    image-20200330105032318

    1. 修改框架代码

    源代码:

    import static org.junit.Assert.*;
    
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    public class MainTest {
    
    	@Before
    	public void setUp() throws Exception {
    	}
    
    	@After
    	public void tearDown() throws Exception {
    	}
    
    	@Test
    	public void testAdd() {
    		assertEquals(2, Main.add(1,1));//预期结果:2 ,实际:1+1返回2
    		assertEquals(0, Main.add(-1,1));
    		assertEquals(-2, Main.add(-1,-1));
    	}
    
    }
    
    1. 运行。绿色就表示测试用例通过

    image-20200330111639551

    红色不通过

    image-20200330112123376

    注解说明

    注解 描述
    @Test 表明此方法为测试方法
    @Before 用此注解修饰的方法在每个test方法运行前执行
    @BeforeClass 用此注解修饰的方法将在所有方法运行前被执行,是一个static方法,只执行一次
    @After 用此注解修饰的方法在每个test方法运行后执行
    @AfterClass 用此注解修饰的方法将在所有方法运行后被执行,也是一个static方法,只执行一次
    @Ignore 用此注解修饰的方法会被Junit忽略

    断言介绍

    描述
    assertEquals() 如果比较的两个对象是相等的,此方法将正常返回;否则失败显示在JUnit的窗口测试将中止。
    assertTrue() 断言一个条件是否为真
    assertFalse() 断言一个条件是否为假
    assertNull() 断言一个对象为空(Null)
    assertNotNull() 断言一个对象不为空(Null)
    assertSame() 断言两个对象引用相同的对象
    assertNotSame() 断言两个对象不是引用同一个对象
    assertArrayEquals() 断言预期数组和结果数组相等。类型多变

    Selenium IDE V3.17.0

    Selenium是一个用于Web应用程序测试的工具。

    这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。

    测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

    简单使用

    1. 安装插件。使用谷歌浏览器或火狐浏览器安装插件很方便,直接到插件市场搜索selenium就能找到。

    image-20200330114736842

    image-20200330114956397

    1. 点击右上角插件图标启动

    image-20200330115226140

    第一次打开selenium,点击第一项创建项目——>输入项目名——>copy目标网站的网址——>录制你的行为

    image-20200330120428895

    录制完成后点击停止录制,命名测试名字。

    这里遇到了一个小小的坑!相信大家录制完之后肯定迫不及待的点击回放,看看之前的操作!

    录制完成是长这样的

    image-20200330121203826

    运行时是长这样的

    image-20200330121449360

    刚接触这工具的时候,由于操作太快都没发现鼠标经过Tests分组下的测试文件是有更多选项的。

    所以播放完之后,若停留在Executing分组下,测试文件就不会有更多选项,一直找不到导出代码再哪里。

    很奇怪?老版本都可以导出代码,新版本却不允许吗。 有问题找度娘

    得到的结果是:换! 用Selenium IDE的替代者 Katalon Recorder

    Katalon Recorder V4.1.3

    主要功能

    1. 录制回放脚本;
    2. 定位网页元素;
    3. 转化成webDriver的脚本;

    简单使用

    安装和selenium一样,直接到插件市场搜索 Katalon Recorder。

    使用方法也是与selenium很相似,界面上多了导出的选项!

    image-20200330124421861

    选择自己熟悉的语言,保存就得到webDriver的脚本。

    image-20200330124549656

    补充

    其实发现Selenium IDE的坑后,也能很快找到导出脚本的按钮了。

    点击Executing下拉按钮选择Tests分组(键盘ctrl+1),再点击测试文件后面的更多选项弹出如下列表。点击Export导出脚本。

    image-20200330125559874

    有了这份脚本代码还需要导入一些jar包和浏览器驱动程序才可以在Eclipse上运行。

    预知后事如何请听下回分解

  • 相关阅读:
    mysql explain语句各项含义
    group_concat用法以及字符串太长显示不全
    合并两个word文档,保持样式不变
    读取word模板,填充数据后导出
    java获取配置文件信息
    mysql5.6免安装使用
    时间格式转换
    Mysql中(@i:=@i+1)的作用
    SVN服务器搭建和使用(一)
    按需讲解之Supervisor
  • 原文地址:https://www.cnblogs.com/1101-/p/12598346.html
Copyright © 2011-2022 走看看