SoapUI Pro Project Solution Collection-Custom project and setup

复制代码
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 
           
            
            
        }
复制代码
posted @   高级测试开发网  阅读(570)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
了解开发资源最新动态:https://seniortesting.club
点击右上角即可分享
微信分享提示