8 common open source frameworks for automated testing

 In today's era of open source, we should stop building cars behind closed doors, and warmly embrace open source! For performance testing, Web UI testing, API testing, database testing, interface testing, unit testing, etc., this article sorts out excellent automated testing open source projects on github or code cloud, hoping to bring you some help.

1. Performance automated testing

1. Project name: Online pressure measurement platform based on Jmeter and online management Jmeter script system

B station's best Python interface automation testing advanced tutorial collection (real enterprise project combat)

Project Description:

  • This project is developed based on the renren-fast Java development platform, and the kernel is based on Jmeter-Api and Jmeter scripts to realize online performance pressure measurement.

Has the following characteristics

  • Friendly code structure and comments, easy to read and secondary development
  • Realize the separation of front-end and back-end, and conduct data interaction through token, so that the front-end no longer needs to pay attention to the back-end technology
  • Flexible permission control, which can be controlled to pages or buttons to meet most permission requirements
  • The page interaction uses Vue2.x, which greatly improves the development efficiency
  • Perfect code generation mechanism can generate entity, xml, dao, service, html, js, sql code online, reducing development tasks by more than 70%
  • Introduce quartz timing tasks, which can dynamically complete tasks such as adding, modifying, deleting, pausing, resuming, and log viewing
  • The API template is introduced, and the token is used as the login token, which greatly facilitates the development of the APP interface
  • Introduce the Hibernate Validator verification framework to easily implement back-end verification
  • Introduce cloud storage services, already supported: Qiniu Cloud, Alibaba Cloud, Tencent Cloud, etc.
  • Introduce swagger document support to facilitate writing API interface documents
  • Introduce the routing mechanism, refresh the page and stay on the current page
  • Introduce the latest version of Jmeter-Api, which supports distributed pressure testing, test report generation and online viewing and downloading.
  • Introduce Echarts to support online observation of performance stress test results.

Project address: https://gitee.com/smooth00/stressTestPlatform

2. Project name: Distributed stress testing tool Beetle.DT

Project introduction: A distributed stress testing tool based on .NET. Users can write relevant test cases according to their needs; through the management interface of the tool, they can push the test cases to the service center, and then distribute the test cases according to the actual pressure test requirements. to run on different nodes. The tool will obtain the test results in real time according to the test situation. After the test is completed, the user can also query the specific test report. Nodes run test cases in a process-isolated manner, so test cases are run independently of each other.

Project address: https://gitee.com/ikende/Beetle.DT

3. Project name: Go-based stress testing tool armyant

Project introduction: armyant is modified from the http stress testing tool hey. However, hey only supports stress testing of the http interface, while armant can customize the stress testing protocol. Currently, the stress test of http and mqtt protocols is implemented by default.

Project address: https://gitee.com/plug/armyant

2. Web UI automated testing

1. Project Name: Automated Testing Platform LuckyFrame 

Project introduction: This project is a free and open source testing platform. The biggest feature is that it covers interface automation, WEB UI automation, and APP automation in all dimensions, and supports distributed testing. The test keyword drive also largely solves the test The problem of weak code foundation of classmates. At the same time, it also integrates some functions related to quality management, solves the problem of collecting project process data in the daily work of QA, and can display some simple quality reports.

Project address: https://gitee.com/seagull1985/LuckyFrameWeb

2. Project name: AutoLine open source platform

Project introduction: AutoLine open source platform is an open source automated testing solution, based on RobotFramework for secondary development, and supports almost all libraries of RobotFramework.

Project address: https://gitee.com/lym51/AutoLine

3. API automated testing

Project name: Restful Api integration testing tool Hitchhiker

Project Introduction: Hitchhiker is an open source Restful Api testing tool that supports Schedule, data comparison, stress testing, and upload script customization requests. It can be easily deployed locally and manage Api with your team members.

Project address: https://gitee.com/iwxiaot/Hitchhiker

4. Interface automated testing

1. Project name: automated testing platform phoenixframework

Project introduction: phoenixframework is an automated test platform that integrates code hosting, extension (node ​​node) management, scheduled tasks, distributed or concurrent execution of use cases debugged through the phoenix_develop module. The platform is developed using SSH4, covering the testing and monitoring of webgui, interface, mobile and other terminals.
Currently the webGUI module has been completed and is compatible with chrome, Firefox, IE, httpunit and phantomjs drivers.

Project address: https://gitee.com/phoenixframework/phoenixframework

2. Project name: TCP/UDP test tool SocketDebugger

Project Introduction: SocketDebugger is a TCP/UDP test tool, and includes serial port forwarding function and automatic reply function.

Project address: https://gitee.com/hkiaipc/Socket-Debugger

3. Project name: HTTP interface test plug-in ApiDebug

Project Introduction: ApiDebug is a browser HTTP interface test plug-in, which can be used to test HTTP and HTTPS interfaces. It supports POST, GET and other methods, and also supports custom interface parameters such as json and xml. The system supports saving historical records, and can also synchronize the test interface to the CrapApi interface management system (log in to http://api.crap.cn, click Sync to save). In addition to interface testing, the system also includes small tools such as json formatting. 

Project address: https://gitee.com/CrapApi/ApiDebug

 3. Project name: Java-based Http interface testing tool

Project introduction: JApiTest is an Http interface testing tool developed in java. It accesses the test interface in a visual form by configuring http parameters, and can judge the returned results.

Project address: https://gitee.com/penngo/JApiTest

 5. Database automated testing

Project name: Database unit testing framework xlsunit

Project Introduction: A unit test framework for database applications, using excel as input and output comparison, suitable for a large number of database operations.

You can use xlsunit in the following situations:

  • Spring or Spring Boot must be used, because the Spring unit test transaction rollback mechanism will be utilized.

  • For database applications, especially a business operation, there are changes in multiple tables.

  • xlsunit supports Spring 4 and above, SpringBoot1.5 and above, and supports Oracle, MySql, Postgres and other databases.

Project address: https://gitee.com/xiandafu/xlsunit

6. Data tuning test

Affecting system performance and efficiency, the database plays a very critical role, and SQL optimization is the lowest-cost optimization method, so I also list this item as an aspect that testers need to pay attention to.

Project name: soar-web

Project introduction: Based on millet soar's open source sql analysis and optimization WEB graphical tool, it supports soar configuration addition, modification, copy, multi-configuration switching, configuration export, import and import functions. Currently only mysql is supported.

Project address: https://github.com/xiyangxixian/soar-web

Project introduction: On October 20th, on OSCAR DAYS, Xiaomi will announce the open source and self-developed SOAR (SQL Optimizer And Rewriter).

       This is an intelligent SQL optimization and rewriting tool. Developers can quickly check the quality of their own SQL directly through this tool, generate an evaluation report, and prevent problematic SQL from being brought online, resulting in service quality degradation. It can not only improve the quality of online code as much as possible, but also avoid some hidden dangers caused by human omissions.

       SOAR consists of five modules: parser, integrated environment, optimization suggestion, rewriting logic, and tool set. It has an independent SQL analysis capability that does not depend on the database, and can review the SQL itself and the database environment through the provided integrated environment to find out possible hidden dangers or problems.

In recent years, automated testing has become more and more popular, and new challenges and opportunities in this field have also emerged simultaneously, especially AI, RPA and machine learning, which can be predicted to grow rapidly in a few years. Therefore, it is necessary to consider the way of automation. Today, I recommend 9 open source automated testing frameworks for your reference.

8 open source automated testing frameworks, quick collection

1、Carina

Carina is a Java-based automation testing framework that does not rely on a specific technology stack, so testers can only reuse test automation code between iOS and Android.

Its important functions are: it can combine all test layers, including mobile terminals, web applications, REST services and even databases into the same application; it supports relational and sub-relational databases; it can use the FreeMarker template engine to generate REST requests.

2、Testproject.io

Testproject.io is suitable for testers who are not familiar with the automation of software testing and are looking for a free platform with a strong community. It is built on Selenium and Appium and allows testers to run tests with common automation operations.

Its important functions include: support for sharing software testing and APIs with global testers; functions including test records, global automation grids, and automation building blocks; support for multiple languages, including Python, JavaScript, Java, C++, etc.

3、Gauge

Gauge is a test automation tool that has become popular in recent years. It is lightweight, cross-platform, based on a plug-in architecture, and can be used with any language, IDE, and ecosystem.

Its important features are: simple syntax; simple setup, you can use a single command to start and run the framework; support modular architecture through a variety of extensions; without any specific structure, you can create text documents with simple Markdown.

4、Selenium

Selenium is an excellent open source automated testing framework for web applications. It has cross compatibility between multiple operating systems, so test scripts can be written in multiple languages.

Its important features are: cross-platform; compatible with operating systems and browsers; integrated with multiple APIs and programming languages; highly customizable; integrated with the tool Selenium IDE, which can be tested without learning specific scripts.

5、Catalan

Katalon is an easy-to-operate automated testing framework that supports web, mobile, and API automated testing.

Its important functions are: extended support for multiple scripting languages; support for Jira implementation; automatic generation of test scripts and process automation by analyzing and recording web operations and capturing associated objects.

6、Galen

Using Galen for test automation work is more important to improve the user experience. It is specifically aimed at UX testing and provides a specific syntax for testing and verifying the layout of mobile or web applications.

Its important functions are: the size of the browser window can be specified to test the layout specification; test files can be written in Galen syntax, JavaScript or Java; heat map analysis can generate detailed HTML reports.

7、Serenity

Serenity is a Java-based open source automated testing framework that helps write automated acceptance and regression tests, a tool that is easy to integrate with Behavior Driven Development (BDD).

Its important features are: it can facilitate writing BDD and Selenium tests by abstracting boilerplate code; it can test multiple scenarios at a higher level while maintaining lower-level recording details; it has pre-built functions, including WebDriver management, Jira integration, running parallel processes, etc.

8、Appium

Appium is an open source automated testing framework based on the WebDriver protocol for testing mobile applications, which allows writing tests for different platforms using the same API.

Its important features are: providing different programming languages ​​and frameworks; allowing testers to create element repositories and manage them accordingly; supporting reusable code and tests between iOS, Android and Windows test suites.

Guess you like

Origin blog.csdn.net/xiao1542/article/details/131983602