zoukankan      html  css  js  c++  java
  • 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 
               
                
                
            }
  • 相关阅读:
    定时发布测试,没有内容,不要看了,定明天九点发布,看行不
    四十个非常实用的轻量级JavaScript库
    手把手教你用杰奇建小说站
    IIS与Apache共用80端口方法
    jQuery循环滚动展示代码
    分享二十五个不错的下拉菜单导航JS脚本
    以信用卡还信用卡财付通
    codesmith 如何把选中的多个表生成实体
    从零开始学习jQuery 让页面动起来!
    10 个提供免费域名搜索建议服务的网站
  • 原文地址:https://www.cnblogs.com/alterhu/p/3986756.html
Copyright © 2011-2022 走看看