SoapUI Pro Project Solution Collection-Custom project and setup

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:
复制代码
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;

import com.eviware.soapui.SoapUI;
import com.eviware.soapui.SoapUIProSettings;
import com.eviware.soapui.impl.wsdl.WsdlProjectPro;
import com.eviware.soapui.impl.wsdl.support.connections.DatabaseConnection;
import com.eviware.soapui.impl.wsdl.support.connections.DefaultDatabaseConnectionContainer;
import com.eviware.soapui.model.environment.Environment;
import com.eviware.soapui.model.project.Project;
import com.eviware.soapui.model.settings.Settings;
import com.eviware.soapui.model.testsuite.TestSuite;
import com.eviware.soapui.settings.HttpSettings;
import com.eviware.soapui.settings.ProxySettings;
import com.eviware.soapui.support.GroovyUtils;

public class ProjectLevel {

    
    
    
    
    public void mypro(Project project,Logger log){
        
        
        
        project.getProperties().clear();
        
        project.setPropertyValue("", "");
        
        
        GroovyUtils.registerJdbcDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        
//        project.getPropertyAt(1).getName(),get the soapui project level from API.
              
        if(project instanceof WsdlProjectPro){
            //properties for project
            String name = project.getName();
            String description = project.getDescription();
            
            String path = project.getPath();
            String resourceRoot = project.getResourceRoot();
            ((WsdlProjectPro) project).setComposite(true);
            project.getShadowPassword();
            ((WsdlProjectPro) project).getScriptLibrary();
            ((WsdlProjectPro) project).getDefaultScriptLanguage();
            ((WsdlProjectPro) project).setCacheDefinitions(true);
            
            
            //custom properties before setup the soapui project
            
            //testsuite
            int testSuiteCount = project.getTestSuiteCount();
            TestSuite testSuiteByName = project.getTestSuiteByName("");
            List<TestSuite> testSuiteList = project.getTestSuiteList();
            Map<String, TestSuite> testSuites = ((WsdlProjectPro) project).getTestSuites();
            
            
            for(TestSuite suite:testSuiteList){
                String name2 = suite.getName();
                
            }
            
            for(String key:testSuites.keySet()){
                TestSuite value = testSuites.get(key);            
            }
            
            
            //configuration jdbc connections
            GroovyUtils.registerJdbcDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            
            DefaultDatabaseConnectionContainer databaseConnectionContainer = ((WsdlProjectPro) project).getDatabaseConnectionContainer();
            String[] databaseConnectionsNames = databaseConnectionContainer.getDatabaseConnectionsNames(com.eviware.soapui.model.environment.DefaultEnvironment.getInstance());
            for(String dbname:databaseConnectionsNames){
                databaseConnectionContainer.removeDatabaseConnectionByName(dbname);
            }
            
            DatabaseConnection addDatabaseConnection = databaseConnectionContainer.addDatabaseConnection("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            addDatabaseConnection.setDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            addDatabaseConnection.setConnectionString("jdbc:sqlserver://");
            addDatabaseConnection.setName("testname");
            addDatabaseConnection.setPassword("");
            
            
            
            int projectCount = project.getWorkspace().getProjectCount();
            
            //environment settings ,we can mark testing with different environments ,refer this url
            //http://www.soapui.org/Working-with-Projects/environment-handling-in-soapui.html 
            String activeEnvironmentName = ((WsdlProjectPro) project).getActiveEnvironmentName();
            ((WsdlProjectPro) project).setActiveEnvironment("staging");
            
            ((WsdlProjectPro) project).getEnvironmentList().clear();
            List<Environment> environmentList = ((WsdlProjectPro) project).getEnvironmentList();
            for(Environment e:environmentList){
                
                String project2 = e.getProject().getName();
                String name2 = e.getName();
                e.addNewProperty("propertyname","propertyvlaue");
                e.addNewService("testservice", null);
            }
            
            //soapui preference global settings, like the http settings,proxy settings and so on 
            Settings settings = SoapUI.getSettings();
            
            settings.setString(ProxySettings.ENABLE_PROXY, "false");
            settings.setString(HttpSettings.HTTP_VERSION, "1.1");
            settings.setString(SoapUIProSettings.OUTLINE_EDITOR_LIMIT, "4000000");
            settings.setString(SoapUIProSettings.FORM_EDITOR_LIMIT, "200000");
            
            settings.setString(SoapUIProSettings.SCRIPT_LIBRARY, "C:\\TEST\\groovy");
            settings.setString(SoapUIProSettings.COMPLETE_MESSAGE_LOGS,"true");
            
            SoapUI.updateProxyButtonAndTooltip();
            SoapUI.updateProxyFromSettings();
            settings.reloadSettings();
            
            
            //set the event 
           
            
            
        }
复制代码





本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/p/3986756.html ,如需转载请自行联系原作者。
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
Java Maven
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
|
应用服务中间件
Cannot change version of project facet Dynamic Web Module to 3.0
Cannot change version of project facet Dynamic Web Module to 3.0
|
XML 安全 数据格式
Code Issues 2,637 Pull requests 0 Projects 1 Wiki Security Insights Settings 使用filter node快速找到XML f
Code Issues 2,637 Pull requests 0 Projects 1 Wiki Security Insights Settings 使用filter node快速找到XML f
|
Web App开发
|
Windows
使用vs2015打开.pro文件报错:Project ERROR: Cannot run compiler 'cl' -- 完美解决
使用vs2015打开.pro文件报错:Project ERROR: Cannot run compiler 'cl' -- 完美解决
1275 0
使用vs2015打开.pro文件报错:Project ERROR: Cannot run compiler 'cl' -- 完美解决
Error This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, se
错误提示: Severity Code Description Project File Line Suppression StateError This project references NuGet package(s) that are missing on this computer.
994 0