0

Webサービスを起動するためにSoapUIを使用しています。 私は自動回帰テストプロジェクト(Java、Maven、Selenium Webdirver)を作成しています。多くのテストスイートには、テストの始めまたは途中でWebサービス要求を送信するSoapUIが必要です。 SoapUIのソースコードをインポートする方法があるのか​​、SoapUIのjarファイルをプロジェクトにインストールできるのかどうかは疑問です。 SoapUIの関数やメソッド、クラスを直接呼び出すことができます。 私は自分のpom.xmlにこれらの依存関係を追加しました:自動化回帰テストプロジェクトへのSoapUIの呼び出し/統合

<dependency> 
    <groupId>com.github.redfish4ktc.soapui</groupId> 
    <artifactId>maven-soapui-extension-plugin</artifactId> 
    <version>4.6.4.0</version> 
</dependency> 

<dependency> 
    <groupId>net.java.dev.jgoodies</groupId> 
    <artifactId>looks</artifactId> 
    <version>2.1.4</version> 
</dependency> 
<dependency> 
    <groupId>net.sf.squirrel-sql.thirdparty-non-maven</groupId> 
    <artifactId>com-fifesoft-rsyntaxtextarea</artifactId> 
    <version>1.0.0</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.karaf.eik.plugins</groupId> 
    <artifactId>org.apache.commons.collections</artifactId> 
    <version>3.2.1</version> 
</dependency> 

私もSOAPUIのIntelliJアイデアプラグインをインストールしました。しかし、何も変わっていないようです。 ご協力いただきありがとうございます。あるいは、この機能を実装するための他のアプローチがある場合も同様です。

+0

これは広すぎます。具体的な問題を絞り込む必要があります。 – Rao

+0

申し訳ありませんが、私は何をしなければならないのですか?だから私は直接soapUIのソースコードのメソッドを使用することができます。 –

+0

@Raoと同意するおそらくドキュメントから始めるでしょうか? https://www.soapui.org/test-automation/junit/junit-integration.html – SiKing

答えて

0

インポートすべてSOAPUIのjarファイルとSoapUI.jarが含まれるように<projectFile>sample-soapui-project.xml</projectFile> を変更する必要があります:\プログラムファイル(x86の)\ SmartBear \ SOAPUI-5.2.1 libとC:\ \ Program Files \ SmartBear \ SoapUI-5.2.1 \ binにコピーします。

public void runTestCase(String tarSuite, String tarCase) throws Exception { 

    String reportStr = ""; 

    SoapUI.setSoapUICore(new StandaloneSoapUICore(true)); 

    WsdlProject project = new WsdlProject("C:\\Users\\tshi\\Documents\\Maven Projects\\ASORT\\WebServiceResource\\Suncorp_Issuing-soapui-project.xml"); 

    List<TestSuite> suiteList = project.getTestSuiteList(); 

    for (TestSuite aSuiteList : suiteList) { 

     String suiteName = aSuiteList.getName(); 

     List<TestCase> caseList = aSuiteList.getTestCaseList(); 
     //System.out.println("Test Suite: " + suiteName); 

     if (suiteName.equals(tarSuite)) { 

      for (TestCase aCaseList : caseList) { 

       String caseName = aCaseList.getName(); 
       //System.out.println("Test Case: " + caseName); 

       if (caseName.equals(tarCase)) { 

        long startTime = System.currentTimeMillis(); 

        TestRunner runner = project.getTestSuiteByName(suiteName).getTestCaseByName(caseName).run(new PropertiesMap(), false); 

        long duration = System.currentTimeMillis() - startTime; 

        reportStr = reportStr + "\n\tTestCase: " + aCaseList.getName() + "\tStatus: " + runner.getStatus() + "\tReason: " + runner.getReason() + "\tDuration: " + duration; 

       } 

      } 

     } 

    } 

    System.out.print(reportStr); 

} 

これは、目標を達成するための最良の方法ではありません。しかし、それは実際に私のために働く。すべてのデバイスが歓迎されます。皆さん、ありがとうございました。

-1

mapを通じてsoapUIを実行しようとしているようです。そうであれば、pom.xmlにはsoapui-maven-pluginpluginRepositoryが含まれているはずです。したがって、あなたのpom.xmlは以下のようになります。また、HTML形式のレポートを取得するためにmaven-surefire-report-pluginが含まれています。あなたはCからプロジェクトファイル

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.test</groupId> 
    <artifactId>mytest</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>mytest</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
    <pluginRepositories> 
    <pluginRepository> 
     <id>eviwarePluginRepository</id> 
     <url>http://www.eviware.com/repository/maven2/</url> 
    </pluginRepository> 
</pluginRepositories> 
<build> 
<plugins> 
    <plugin> 
    <groupId>com.smartbear.soapui</groupId> 
    <artifactId>soapui-maven-plugin</artifactId> 
    <version>5.1.2-m-SNAPSHOT</version> 
    <configuration> 
    <!--soapUI project file location--> 
    <projectFile>sample-soapui-project.xml</projectFile> 
    <!--output file location--> 
    <outputFolder>${project.basedir}/output/</outputFolder> 
    <!--junit results file--> 
    <junitReport>true</junitReport> 
    </configuration> 
    <executions> 
    <execution> 
     <id>soapUI</id> 
     <phase>test</phase> 
     <goals> 
     <goal>test</goal> 
     </goals> 
    </execution> 
    </executions> 
    </plugin> 
</plugins> 
</build> 
<reporting> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-report-plugin</artifactId> 
     <version>2.18.1</version> 
     </plugin> 
    </plugins> 
    </reporting> 
</project> 
関連する問題