DevOps解决方案 > DevOps集成工具介绍 > 自动化测试介绍 > 怎样配置自动化测试框架

自动化测试框架配置

自动化测试框架,即是应用于自动化测试所用的框架。按照框架的定义,自动化测试框架要么是提供可重用的基础自动化测试模块,如:selenium、watir等,它们主要提供最基础的自动化测试功能,比如打开一个程序,模拟鼠标和键盘来点击或操作被测试对象,最后验证被测对象的属性以判断程序的正确性;要么是可以提供自动化测试执行和管理功能的架构模块,如:Phoenix Framework,robot,STAF 等。它们本身不提供基础的自动化测试支持,只是用于组织、管理和执行那些独立的自动化测试用例,测试完成后统计测试结果,通常这类框架一般都会集成一个基础自动化测试模块,如:robot框架就可以集成selenium框架,Phoenix Framework集成的也是selenium框架。

本文将重点介绍Python Unittest、PHP Unit Test、 Junit三款测试框架,以及结合jenkins、TAPD插件进行自动化测试持续集成。

Python Unittest

unittest是Python自带的一个单元测试框架,可在代码中直接导入使用。

简单例子:

  1. import unittest
  2. class TestStringMethods(unittest.TestCase):
  3. def test_upper(self):
  4. self.assertEqual('foo'.upper(), 'FOO')
  5. def test_isupper(self):
  6. self.assertTrue('FOO'.isupper())
  7. self.assertFalse('Foo'.isupper())
  8. def test_split(self):
  9. s = 'hello world'
  10. self.assertEqual(s.split(), ['hello', 'world'])
  11. # check that s.split fails when the separator is not a string
  12. with self.assertRaises(TypeError):
  13. s.split(2)
  14. if __name__ == '__main__':
  15. unittest.main()

PHP Unit Test

框架地址:http://www.phpunit.cn

 

PHPUnit是一个面向PHP程序员的测试框架,这是一个xUnit的体系结构的单元测试框架。

PHP 档案包 (PHAR)

最简单的方法是下载PHPUnit的phar文件,它包含了PHPUnit所需要的所有必要组件。

版本依赖

PHPUnitPHP
4.8> 5.3.3
5.7> 5.6
6.5> 7
Linux
  1. wget http://phar.phpunit.cn/phpunit-5.7.phar
  2. chmod +x phpunit-5.7.phar
  3. sudo mv phpunit-5.7.phar /usr/local/bin/phpunit
  4. phpunit --version

图片描述

Windows

安装步骤如下:

  1. 为 PHP 的二进制可执行文件建立一个目录,例如 C:\bin

  2. 将 C:\bin 附加到 PATH 环境变量中

  3. 下载 http://phar.phpunit.cn/phpunit-5.7.phar 并将文件保存到 C:\bin\phpunit.phar

  4. 打开命令行(例如,按 Windows+R » 输入 cmd » ENTER)

  5. 建立外包覆批处理脚本(最后得到 C:\bin\phpunit.cmd)

    1. C:\Users\username> cd C:\bin
    2. C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
    3. C:\bin> exit

图片描述

6. 新开一个命令行窗口,确认一下可以在任意路径下执行 PHPUnit

  1. C:\Users\username> phpunit --version
  2. PHPUnit x.y.z by Sebastian Bergmann and contributors.

图片描述

简单例子:

  1. <?php
  2. use PHPUnit\Framework\TestCase;
  3. class StackTest extends TestCase
  4. {
  5. public function testPushAndPop()
  6. {
  7. $stack = [];
  8. $this->assertEquals(0, count($stack));
  9. array_push($stack, 'foo');
  10. $this->assertEquals('foo', $stack[count($stack)-1]);
  11. $this->assertEquals(1, count($stack));
  12. $this->assertEquals('foo', array_pop($stack));
  13. $this->assertEquals(0, count($stack));
  14. }
  15. }
  16. ?>
  17. # 将以上内容保存到test.php中
  18. phpunit test.php

图片描述

JUnit

目前市面上流行着JUnit5和JUnit4两个版本,以及实际工程中会使用Maven和Gradle,接下来将分别来介绍如何安装和使用。

JUnit4

Maven
  1. 新建工程JUnit4-starter-maven

  2. 在src\main\java中新建文件Calculator.java,并复制以下代码到该文件中

    1. public class Calculator {
    2. public int evaluate(String expression) {
    3. int sum = 0;
    4. for (String summand: expression.split("\\+"))
    5. sum += Integer.valueOf(summand);
    6. return sum;
    7. }
    8. }

3. 在src\test\java中新建文件CalculatorTests.java,并复制以下代码到该文件中

  1. import static org.junit.Assert.assertEquals;
  2. import org.junit.Test;
  3. public class CalculatorTests {
  4. @Test
  5. public void evaluatesExpression() {
  6. Calculator calculator = new Calculator();
  7. int sum = calculator.evaluate("1+2+3");
  8. assertEquals(6, sum);
  9. }
  10. }

4. 新建pom.xml文件,添加依赖项

  1. <dependency>
  2. <groupId>junit</groupId>
  3. <artifactId>junit</artifactId>
  4. <version>4.12</version>
  5. <scope>test</scope>
  6. </dependency>

完整pom.xml如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.example</groupId>
  6. <artifactId>junit4-starter-maven</artifactId>
  7. <version>1.0-SNAPSHOT</version>
  8. <properties>
  9. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  10. <maven.compiler.source>1.8</maven.compiler.source>
  11. <maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
  12. </properties>
  13. <dependencies>
  14. <dependency>
  15. <groupId>junit</groupId>
  16. <artifactId>junit</artifactId>
  17. <version>4.12</version>
  18. <scope>test</scope>
  19. </dependency>
  20. </dependencies>
  21. <build>
  22. <plugins>
  23. <!-- JUnit 5 requires Surefire version 2.22.0 or higher -->
  24. <plugin>
  25. <artifactId>maven-surefire-plugin</artifactId>
  26. <version>2.22.0</version>
  27. </plugin>
  28. </plugins>
  29. </build>
  30. </project>

5. 执行测试命令

  1. mvn clean test

图片描述

Gradle
  1. 新建工程junit4-starter-gradle

  2. 参考maven第二步

  3. 参考maven第三步

  4. 新建build.gradle文件,并复制如下代码到该文件。

    1. plugins {
    2. id 'java'
    3. }
    4. repositories {
    5. mavenCentral()
    6. }
    7. dependencies {
    8. testCompile 'junit:junit:4.12'
    9. }

5. 执行测试命令

  1. gradle test

图片描述

JUnit5

Maven

样例地址:junit5-jupiter-starter-maven

Gradle

样例地址:junit5-jupiter-starter-gradle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值