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这个都没有跑通过的话,那么接下来的命令是不会被执行到的,所以可能会遗漏执行。我们可以看一下。其实报错之后下面的命令是不会被执行到的,不会是所有命令都执行结束再给出一个结果。所以要注意

 

 

 








posted @ 2017-11-27 21:56  Daisyjm  阅读(1321)  评论(0编辑  收藏  举报