zoukankan      html  css  js  c++  java
  • TestNG(一)之环境的搭建与TestNG方法

    工具:安装IDEA  、配合安装JDK1.8;环境搭建。

    WebUI环境的搭建

     一、Selenium

    pom.xml:包括项目会用到的包,可以登录http://mvnrepository.com/或者阿里云maven仓库下载

    链接:http://mvnrepository.com/

     加到pom.xml文件中

    
    
    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.53.1</version>
        </dependency>
    
    </dependencies>
    

      如下图:

    然后在底下有一个弹框,选择Auto啥啥啥,就会自己下载。

    
    

     

     如果还是失败,那只能再国内下载,在阿里云下载。

     二、TestNG

    和上面打开饿网页一样,刚才是搜索selenium,现在改为搜索TestNG。

    <!-- https://mvnrepository.com/artifact/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.9.9</version>
        <scope>test</scope>
    </dependency>
    

      

     

    第一讲

    五种方法来管理用例

    1. 其中在每一个test的执行顺序是根据ASC码的最小开始执行的,所以有多个@test的时候,可以用名称test01,test02,这样就可以保证是先执行test01,再执行test02了。

    2. test和test直接要保持自己的原始性,不要用test02依附于test01,这样执行test01有问题的话,test01也是跑不通的。所以可以把公共的地方都写在BeforeMethod里面去,最后不要有依附性,如果一定要写的话,就他都写到一个test里面去。

    3. @BeforeTest:可以用于用例的前置条件,在所有case中最先执行的一个操作,并且这个操作只有被执行一次,并且在全部下来只有执行一次;可以把要测试的用例的的公共的前提条件放在这边
    4. @AfterTest相对于BeforeTest的就是AfterTest在最后一次执行,并且全部跑下来只有执行一次
    5. @BeforeMethod这个是在每一条@test中都会先去执行BeforeMethod
    6. @AfterMethod是在每个test执行之后都会执行一次AfterMethod
    7. @Test是具体的操作步骤

    思考
    1.如果是只有运行test01,Run之后得到的预期结果是什么?
    2.如果有test01、和test02,单独Run test01、结果是什么?Run整个test结果是什么?

    第二讲
    校验
    通常在比较预期结果的时候,希望达到的一种效果是,如果校验不相等,那么久报错,不要再往下执行。这里就用到了这种方法:相等Assert.assertEquals
    下面是定义两个字符串变量,并且进行比较,当a的字符串和b的字符串做比较,如果如果相等,那么就是登陆成功;很明显a是不等于b的,所以报错了;
    在下面结果的地方有提示说为什么是错的,有看到Expected:是预期值,就是拿去对比的标准值,Actual:是实际值,实际得到的值是a,所以不相等
    跑下面的case没有跑通过,就直接报错了,可以看到下面报错的结果:

    为什么所每一个test都不要有关联性,要有自己的原始性呢?如果这个cast是登陆:并且登陆之后是页面添加某个用户,如果是Assert.assertEquals这个都没有跑通过的话,那么接下来的命令是不会被执行到的,所以可能会遗漏执行。我们可以看一下。其实报错之后下面的命令是不会被执行到的,不会是所有命令都执行结束再给出一个结果。所以要注意

     

    
    






  • 相关阅读:
    AW245 你能回答这些问题吗(连续子段和线段树)
    AW256 最大异或和(可持久化0/1trie树)
    AW247 亚特兰蒂斯(区间覆盖线段树)
    P1616 疯狂的采药
    P1060 开心的金明
    AW252 树(点分治)
    AW250 磁力块(分块)
    php绘图(一)
    判断一个文件里面有多少各种格式的图片
    添加图片水印图标
  • 原文地址:https://www.cnblogs.com/Daisyjm/p/7906386.html
Copyright © 2011-2022 走看看