自动化测试

一:

  • github使用
    • 为什么:开源项目集中的代码库
    • 功能介绍:
      • 记录多个版本
      • 查看历史操作
      • 多端共享代码,自动合并
    • 使用
    • github
  • git clone https://github.com/linxiaojinjin/hhhhhh.git从github仓库下载到本地
  • cd hhhhhh  进入hhhhhh  工程
  • 更新代码 1.txt
  • git status  查看1.txt状态
  • git add 1.txt
  • git status
  • git commit -m "增加"   引号内为提交备注信息
  • git push  提送
    • 注意:openssh
      • 账号:root
      • 密码:root
  • 其它命令:
    • git branch:查看本地+远程分支
    • git branch -a:查看所有远程端分支
    • git checkout -b branch1本地创建新分支  (远程端并没有)
    • git push --set-upstream origin branch1提交到新分支上
    • git checkout master切换分支
    • git log --pretty=oneline  :显示从最近到最远的提交日志
    • git reset --hard id:根据 id 回退到指定的版本
    • git push origin HEAD --force:推送到本地到远程仓库
    • git reflog:查看命令操作的历史
  • TestNG:
    • 比Junit涵盖功能更全面的测试框架
    • junit适合隔离性较强地单元测试
    • TestNG适合复杂的集成测试

使用:

1 打开clone文件

2 设置maven model

   

 

3 使用Testng

导入依赖

   

 

创建SuiteConfig类 (里面写有测试套件)

   

 

创建测试用例类和方法

   

 

编写suiteng.xml配置文件

   

 

其它注解:

注解

描述

@BeforeSuite

在所有测试运行前运行

@AfterSuite

所有测试运行后运行

@BeforeClass

当前类的第一个测试方法调用前运行

@AfterClass

当前类的所有测试方法调用后运行

@BeforeTest

注解的方法将被运行之前的任何测试方法属于内部类的 标签的运行。

@AfterTest

注解的方法将被运行后,所有的测试方法,属于内部类的标签的运行。

@BeforeGroups

组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。和@Test(groups = "name")一起使用

@AfterGroups

组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。

@BeforeMethod

在每个测试方法运行之前执行一次

@AfterMethod

在每个测试方法运行之后执行一次

@DataProvider

标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。

该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。

@Factory

作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。

@Listeners

定义一个测试类的监听器。

@Parameters

介绍如何将参数传递给@Test方法。

@Test

测试方法

@Test(enabled = false)

执行时忽略该测试方法

@Test(groups = "name")

分组测试方法

大致执行顺序

  • beforesuite
  • beforetest
  • beforeclass
  • beforemethod
  • test case 1
  • aftermethod
  • beforemethod
  • test case 2
  • aftermethod
  • afterclass
  • aftertest
  • aftersuite
  1. 组测试在类中运行:

在测试用例类上加@Test(groups = "name")标签   

 

在xml文件中加标签

   

2 异常测试

场景:传入某些不合法的参数,程序抛出了异常

   

 

3 依赖测试@Test(dependsOnMethods = {""})

@Test

    public void test1(){

        System.out.println("test11");

//        throw new RuntimeException();

    }

    @Test(dependsOnMethods = {"test1"})

    public void test2(){

        System.out.println("test22");

    }

test2执行必须依赖test1执行成功

4 参数化测试(通过配置文件,给测试函数参数传值)

package ngtest;

import org.testng.annotations.Parameters;

import org.testng.annotations.Test;

public class Student {

    @Parameters({"name","age"})//表示该函数使用的参数由testng.xml提供,第一个参数是xml中的name参数,第二个是age参数

    @Test

    public void whoami(String name,String age){

        System.out.println("I am "+name+","+age+" years old.");

    }

}

配置文件:

(

4 参数化测试(通过@DataProvider(name = "name"))

@Parameters({"name","age"})//表示该函数使用的参数由testng.xml提供,第一个参数是xml中的name参数,第二个是age参数

@Test(dataProvider = "data")

public void whoami(String name,int age){

    System.out.println("I am "+name+","+age+" years old.");

}

@DataProvider(name = "data")

public Object[][] providerData(){

    Object[][] o = new Object[][]{

            {"zhangsan",10},

            {"lisi",30}

    };

    return o;

}

注意:此时必须执行testng.xml。而不能执行java文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值