Commit 23264476 by wff66504
parents f0c632df 013f22ff
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="EclipseModuleManager">
<libelement value="jar://$MODULE_DIR$/lib/commons-codec-1.9.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-logging-1.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/fluent-hc-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpclient-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpclient-cache-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpclient-win-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpcore-4.4.4.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpmime-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jna-4.1.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jna-platform-4.1.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/json_simple-1.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/testng-6.9.12.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/bcprov-ext-jdk15on-154.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/bcprov-jdk15on-154.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-io-2.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-lang3-3.4.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/dbunit-2.5.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/fluent-hc-4.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/groovy-2.4.7.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/gson-2.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/hamcrest-all-1.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-annotations-2.8.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-core-2.8.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-databind-2.8.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/javax.servlet-5.1.12.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/json-path-3.0.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/json-schema-validator-3.0.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/mysql-connector-java-5.1.30-bin.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-beans-4.3.2.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-core-4.3.2.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-security-core-4.1.3.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-security-oauth2-2.0.11.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-web-4.2.6.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jcommander-1.30.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jxl.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/groovy-json-2.4.6.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/groovy-xml-2.4.6.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/hamcrest-core-1.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/hamcrest-library-1.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/rest-assured-3.0.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/tagsoup-1.2.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/com.google.guava_1.6.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/saxon-8.7.jar!/" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
</src_description>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library name="commons-codec-1.9.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-codec-1.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-logging-1.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-logging-1.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="fluent-hc-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/fluent-hc-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpclient-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpclient-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpclient-cache-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpclient-cache-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpclient-win-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpclient-win-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpcore-4.4.4.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpcore-4.4.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpmime-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpmime-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jna-4.1.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jna-4.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jna-platform-4.1.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jna-platform-4.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="json_simple-1.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/json_simple-1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="testng-6.9.12.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/testng-6.9.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="bcprov-ext-jdk15on-154.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/bcprov-ext-jdk15on-154.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="bcprov-jdk15on-154.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/bcprov-jdk15on-154.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-io-2.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-io-2.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-lang3-3.4.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-lang3-3.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="dbunit-2.5.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/dbunit-2.5.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="fluent-hc-4.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/fluent-hc-4.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="groovy-2.4.7.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/groovy-2.4.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="gson-2.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/gson-2.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="hamcrest-all-1.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/hamcrest-all-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-annotations-2.8.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-annotations-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-core-2.8.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-core-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-databind-2.8.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-databind-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="javax.servlet-5.1.12.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/javax.servlet-5.1.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="json-path-3.0.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/json-path-3.0.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="json-schema-validator-3.0.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/json-schema-validator-3.0.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="mysql-connector-java-5.1.30-bin.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/mysql-connector-java-5.1.30-bin.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-beans-4.3.2.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-beans-4.3.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-core-4.3.2.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-core-4.3.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-security-core-4.1.3.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-security-core-4.1.3.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-security-oauth2-2.0.11.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-security-oauth2-2.0.11.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-web-4.2.6.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-web-4.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="inheritedJdk" />
<orderEntry type="module-library">
<library name="jcommander-1.30.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jcommander-1.30.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jxl.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jxl.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="groovy-json-2.4.6.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/groovy-json-2.4.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="groovy-xml-2.4.6.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/groovy-xml-2.4.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="hamcrest-core-1.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="hamcrest-library-1.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/hamcrest-library-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="rest-assured-3.0.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/rest-assured-3.0.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="tagsoup-1.2.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/tagsoup-1.2.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="com.google.guava_1.6.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/com.google.guava_1.6.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="saxon-8.7.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/saxon-8.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="EclipseModuleManager">
<libelement value="jar://$MODULE_DIR$/lib/commons-codec-1.9.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-logging-1.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/fluent-hc-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpclient-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpclient-cache-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpclient-win-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpcore-4.4.4.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpmime-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jna-4.1.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jna-platform-4.1.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/json_simple-1.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/testng-6.9.12.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/bcprov-ext-jdk15on-154.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/bcprov-jdk15on-154.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-io-2.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-lang3-3.4.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/dbunit-2.5.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/fluent-hc-4.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/groovy-2.4.7.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/gson-2.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/hamcrest-all-1.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-annotations-2.8.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-core-2.8.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-databind-2.8.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/javax.servlet-5.1.12.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/json-path-3.0.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/json-schema-validator-3.0.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/mysql-connector-java-5.1.30-bin.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-beans-4.3.2.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-core-4.3.2.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-security-core-4.1.3.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-security-oauth2-2.0.11.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/spring-web-4.2.6.RELEASE.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jcommander-1.30.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jxl.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/groovy-json-2.4.6.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/groovy-xml-2.4.6.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/hamcrest-core-1.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/hamcrest-library-1.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/rest-assured-3.0.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/tagsoup-1.2.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/com.google.guava_1.6.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/saxon-8.7.jar!/" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
</src_description>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library name="commons-codec-1.9.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-codec-1.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-logging-1.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-logging-1.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="fluent-hc-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/fluent-hc-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpclient-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpclient-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpclient-cache-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpclient-cache-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpclient-win-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpclient-win-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpcore-4.4.4.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpcore-4.4.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpmime-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpmime-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jna-4.1.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jna-4.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jna-platform-4.1.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jna-platform-4.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="json_simple-1.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/json_simple-1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="testng-6.9.12.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/testng-6.9.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="bcprov-ext-jdk15on-154.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/bcprov-ext-jdk15on-154.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="bcprov-jdk15on-154.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/bcprov-jdk15on-154.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-io-2.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-io-2.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-lang3-3.4.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-lang3-3.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="dbunit-2.5.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/dbunit-2.5.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="fluent-hc-4.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/fluent-hc-4.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="groovy-2.4.7.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/groovy-2.4.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="gson-2.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/gson-2.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="hamcrest-all-1.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/hamcrest-all-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-annotations-2.8.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-annotations-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-core-2.8.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-core-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-databind-2.8.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-databind-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="javax.servlet-5.1.12.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/javax.servlet-5.1.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="json-path-3.0.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/json-path-3.0.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="json-schema-validator-3.0.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/json-schema-validator-3.0.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="mysql-connector-java-5.1.30-bin.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/mysql-connector-java-5.1.30-bin.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-beans-4.3.2.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-beans-4.3.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-core-4.3.2.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-core-4.3.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-security-core-4.1.3.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-security-core-4.1.3.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-security-oauth2-2.0.11.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-security-oauth2-2.0.11.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="spring-web-4.2.6.RELEASE.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/spring-web-4.2.6.RELEASE.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="inheritedJdk" />
<orderEntry type="module-library">
<library name="jcommander-1.30.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jcommander-1.30.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jxl.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jxl.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="groovy-json-2.4.6.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/groovy-json-2.4.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="groovy-xml-2.4.6.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/groovy-xml-2.4.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="hamcrest-core-1.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="hamcrest-library-1.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/hamcrest-library-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="rest-assured-3.0.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/rest-assured-3.0.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="tagsoup-1.2.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/tagsoup-1.2.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="com.google.guava_1.6.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/com.google.guava_1.6.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="saxon-8.7.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/saxon-8.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>
\ No newline at end of file
......@@ -6,7 +6,7 @@
<classes>
<class name="com.puhui.test.RenMai_APITest">
<methods>
<include name="f" invocation-numbers="0 1 2 3 4 5 6 7 8 "/>
<include name="f" invocation-numbers="0 1 2 3 "/>
</methods>
</class>
</classes>
......
package com.offcn.TestUnti;
import io.restassured.response.Response;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
public class HttpRequest {
/**
* 向指定URL发送GET方法的请求
*
* @param url
* 发送请求的URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL 所代表远程资源的响应结果
*/
public static void main(String[] args) {
// Response s=HttpRequest.sendGet("http://beta.alitest.eoffcn.com/template/addStuden/sign/a75f95ec663ebda46b51f0429b8706ff",
// "user_info=[{\"package_id\":391634,\"username\":\"aaa\",\"phone\":15652333337,\"sso_id\":1}]&timestamp=1548839088&appid=jiaowu");
Response re = HttpRequest.sendGet("http://beta.alitest.eoffcn.com/template/addStudent/sign/1c7e3e07567efbcd42b2fa6cd936784e",
"user_info=[{\"package_id\":391634,\"username\":\"aaa\",\"phone\":15652333337,\"sso_id\":1}]&timestamp=1548841430&appid=jiaowu");
System.out.println(re.getStatusCode());
System.out.println(re.asString());
// try {
// String s1=new String(s.getBytes(),"utf-8");
// System.out.println(s1);
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
}
public static Response sendGet(String url, String param) {
String result = "";
String val="";
BufferedReader in = null;
Response re=null;
try {
// String urlNameString = url ;
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("Authorization", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NSwicGhvbmUiOiIxODUxMTg1MjA0OSIsImlhdCI6MTQ4NzEzMjU0OX0.2aZ8FcfE52CYpXc4VUYjdfzzLzXwVOE-J8CnMlhUPic");
connection.setRequestProperty("Content-Type", "application/json");
// 建立实际的连接
connection.connect();
// 获取所有响应头字段
Map<String, List<String>> map = connection.getHeaderFields();
// 遍历所有的响应头字段
for (String key : map.keySet()) {
String va=map.get(key).toString();
//System.out.println(key + "--->" + va);
if(va.contains("HTTP/1.1")){
val=va.toString().substring(10, va.toString().length()-4);
//System.out.println(val);
}
}
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
// o.write(line+"\r\n");
result += line;
result += "\r\n";
}
// o.close();
IoResponse ir=new IoResponse();
re=ir.setResponseValue(val,result);
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return re;
}
/**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return 所代表远程资源的响应结果
*/
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("Authorization", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NSwicGhvbmUiOiIxODUxMTg1MjA0OSIsImlhdCI6MTQ4NzEzMjU0OX0.2aZ8FcfE52CYpXc4VUYjdfzzLzXwVOE-J8CnMlhUPic");
conn.setRequestProperty("Content-Type", "application/json");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
result += "\r\n";
}
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
return result;
}
}
package com.offcn.TestUnti;
import java.io.*;
import java.net.URL;
import java.security.*;
import java.security.cert.*;
import javax.net.ssl.*;
public class InstallCert {
public static void main(String[] args) throws Exception {
String host;
int port;
char[] passphrase;
if ((args.length == 1) || (args.length == 2)) {
String[] c = args[0].split(":");
host = c[0];
port = (c.length == 1) ? 443 : Integer.parseInt(c[1]);
String p = (args.length == 1) ? "changeit" : args[1];
passphrase = p.toCharArray();
} else {
System.out.println("Usage: java InstallCert <host>[:port] [passphrase]");
return;
}
File file = new File("jssecacerts");
if (file.isFile() == false) {
char SEP = File.separatorChar;
File dir = new File(System.getProperty("java.home") + SEP
+ "lib" + SEP + "security");
file = new File(dir, "jssecacerts");
if (file.isFile() == false) {
file = new File(dir, "cacerts");
}
}
System.out.println("Loading KeyStore " + file + "...");
InputStream in = new FileInputStream(file);
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(in, passphrase);
in.close();
SSLContext context = SSLContext.getInstance("TLS");
TrustManagerFactory tmf =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(ks);
X509TrustManager defaultTrustManager = (X509TrustManager)tmf.getTrustManagers()[0];
SavingTrustManager tm = new SavingTrustManager(defaultTrustManager);
context.init(null, new TrustManager[] {tm}, null);
SSLSocketFactory factory = context.getSocketFactory();
System.out.println("Opening connection to " + host + ":" + port + "...");
SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
socket.setSoTimeout(10000);
try {
System.out.println("Starting SSL handshake...");
socket.startHandshake();
socket.close();
System.out.println();
System.out.println("No errors, certificate is already trusted");
} catch (SSLException e) {
System.out.println();
e.printStackTrace(System.out);
}
X509Certificate[] chain = tm.chain;
if (chain == null) {
System.out.println("Could not obtain server certificate chain");
return;
}
BufferedReader reader =
new BufferedReader(new InputStreamReader(System.in));
System.out.println();
System.out.println("Server sent " + chain.length + " certificate(s):");
System.out.println();
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
MessageDigest md5 = MessageDigest.getInstance("MD5");
for (int i = 0; i < chain.length; i++) {
X509Certificate cert = chain[i];
System.out.println
(" " + (i + 1) + " Subject " + cert.getSubjectDN());
System.out.println(" Issuer " + cert.getIssuerDN());
sha1.update(cert.getEncoded());
System.out.println(" sha1 " + toHexString(sha1.digest()));
md5.update(cert.getEncoded());
System.out.println(" md5 " + toHexString(md5.digest()));
System.out.println();
}
System.out.println("Enter certificate to add to trusted keystore or 'q' to quit: [1]");
String line = reader.readLine().trim();
int k;
try {
k = (line.length() == 0) ? 0 : Integer.parseInt(line) - 1;
} catch (NumberFormatException e) {
System.out.println("KeyStore not changed");
return;
}
X509Certificate cert = chain[k];
String alias = host + "-" + (k + 1);
ks.setCertificateEntry(alias, cert);
OutputStream out = new FileOutputStream("jssecacerts");
ks.store(out, passphrase);
out.close();
System.out.println();
System.out.println(cert);
System.out.println();
System.out.println
("Added certificate to keystore 'jssecacerts' using alias '"
+ alias + "'");
}
private static final char[] HEXDIGITS = "0123456789abcdef".toCharArray();
private static String toHexString(byte[] bytes) {
StringBuilder sb = new StringBuilder(bytes.length * 3);
for (int b : bytes) {
b &= 0xff;
sb.append(HEXDIGITS[b >> 4]);
sb.append(HEXDIGITS[b & 15]);
sb.append(' ');
}
return sb.toString();
}
private static class SavingTrustManager implements X509TrustManager {
private final X509TrustManager tm;
private X509Certificate[] chain;
SavingTrustManager(X509TrustManager tm) {
this.tm = tm;
}
public X509Certificate[] getAcceptedIssuers() {
throw new UnsupportedOperationException();
}
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
throw new UnsupportedOperationException();
}
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
this.chain = chain;
tm.checkServerTrusted(chain, authType);
}
}
}
package com.offcn.TestUnti;
import java.io.*;
import java.net.URL;
import java.security.*;
import java.security.cert.*;
import javax.net.ssl.*;
public class InstallCert {
public static void main(String[] args) throws Exception {
String host;
int port;
char[] passphrase;
if ((args.length == 1) || (args.length == 2)) {
String[] c = args[0].split(":");
host = c[0];
port = (c.length == 1) ? 443 : Integer.parseInt(c[1]);
String p = (args.length == 1) ? "changeit" : args[1];
passphrase = p.toCharArray();
} else {
System.out.println("Usage: java InstallCert <host>[:port] [passphrase]");
return;
}
File file = new File("jssecacerts");
if (file.isFile() == false) {
char SEP = File.separatorChar;
File dir = new File(System.getProperty("java.home") + SEP
+ "lib" + SEP + "security");
file = new File(dir, "jssecacerts");
if (file.isFile() == false) {
file = new File(dir, "cacerts");
}
}
System.out.println("Loading KeyStore " + file + "...");
InputStream in = new FileInputStream(file);
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(in, passphrase);
in.close();
SSLContext context = SSLContext.getInstance("TLS");
TrustManagerFactory tmf =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(ks);
X509TrustManager defaultTrustManager = (X509TrustManager)tmf.getTrustManagers()[0];
SavingTrustManager tm = new SavingTrustManager(defaultTrustManager);
context.init(null, new TrustManager[] {tm}, null);
SSLSocketFactory factory = context.getSocketFactory();
System.out.println("Opening connection to " + host + ":" + port + "...");
SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
socket.setSoTimeout(10000);
try {
System.out.println("Starting SSL handshake...");
socket.startHandshake();
socket.close();
System.out.println();
System.out.println("No errors, certificate is already trusted");
} catch (SSLException e) {
System.out.println();
e.printStackTrace(System.out);
}
X509Certificate[] chain = tm.chain;
if (chain == null) {
System.out.println("Could not obtain server certificate chain");
return;
}
BufferedReader reader =
new BufferedReader(new InputStreamReader(System.in));
System.out.println();
System.out.println("Server sent " + chain.length + " certificate(s):");
System.out.println();
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
MessageDigest md5 = MessageDigest.getInstance("MD5");
for (int i = 0; i < chain.length; i++) {
X509Certificate cert = chain[i];
System.out.println
(" " + (i + 1) + " Subject " + cert.getSubjectDN());
System.out.println(" Issuer " + cert.getIssuerDN());
sha1.update(cert.getEncoded());
System.out.println(" sha1 " + toHexString(sha1.digest()));
md5.update(cert.getEncoded());
System.out.println(" md5 " + toHexString(md5.digest()));
System.out.println();
}
System.out.println("Enter certificate to add to trusted keystore or 'q' to quit: [1]");
String line = reader.readLine().trim();
int k;
try {
k = (line.length() == 0) ? 0 : Integer.parseInt(line) - 1;
} catch (NumberFormatException e) {
System.out.println("KeyStore not changed");
return;
}
X509Certificate cert = chain[k];
String alias = host + "-" + (k + 1);
ks.setCertificateEntry(alias, cert);
OutputStream out = new FileOutputStream("jssecacerts");
ks.store(out, passphrase);
out.close();
System.out.println();
System.out.println(cert);
System.out.println();
System.out.println
("Added certificate to keystore 'jssecacerts' using alias '"
+ alias + "'");
}
private static final char[] HEXDIGITS = "0123456789abcdef".toCharArray();
private static String toHexString(byte[] bytes) {
StringBuilder sb = new StringBuilder(bytes.length * 3);
for (int b : bytes) {
b &= 0xff;
sb.append(HEXDIGITS[b >> 4]);
sb.append(HEXDIGITS[b & 15]);
sb.append(' ');
}
return sb.toString();
}
private static class SavingTrustManager implements X509TrustManager {
private final X509TrustManager tm;
private X509Certificate[] chain;
SavingTrustManager(X509TrustManager tm) {
this.tm = tm;
}
public X509Certificate[] getAcceptedIssuers() {
throw new UnsupportedOperationException();
}
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
throw new UnsupportedOperationException();
}
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
this.chain = chain;
tm.checkServerTrusted(chain, authType);
}
}
}
package com.offcn.TestUnti;
import java.io.InputStream;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.restassured.http.Cookie;
import io.restassured.http.Cookies;
import io.restassured.http.Headers;
import io.restassured.mapper.ObjectMapper;
import io.restassured.mapper.ObjectMapperType;
import io.restassured.path.json.JsonPath;
import io.restassured.path.json.config.JsonPathConfig;
import io.restassured.path.xml.XmlPath;
import io.restassured.path.xml.XmlPath.CompatibilityMode;
import io.restassured.path.xml.config.XmlPathConfig;
import io.restassured.response.Response;
import io.restassured.response.ResponseBody;
import io.restassured.response.ValidatableResponse;
public class IoResponse {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public Response setResponseValue(final String StatusCode,final String asString){
Response re= new Response() {
@Override
public ValidatableResponse then() {
// TODO Auto-generated method stub
return null;
}
@Override
public long timeIn(TimeUnit arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long time() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Response thenReturn() {
// TODO Auto-generated method stub
return null;
}
@Override
public String statusLine() {
// TODO Auto-generated method stub
return null;
}
@Override
public int statusCode() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String sessionId() {
// TODO Auto-generated method stub
return null;
}
@Override
public Headers headers() {
// TODO Auto-generated method stub
return null;
}
@Override
public String header(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getTimeIn(TimeUnit arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getTime() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getStatusLine() {
// TODO Auto-generated method stub
return null;
}
@Override
public int getStatusCode() {
// TODO Auto-generated method stub
return Integer.valueOf(StatusCode);
}
@Override
public String getSessionId() {
// TODO Auto-generated method stub
return null;
}
@Override
public Headers getHeaders() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getHeader(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Cookies getDetailedCookies() {
// TODO Auto-generated method stub
return null;
}
@Override
public Cookie getDetailedCookie(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Map<String, String> getCookies() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getCookie(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getContentType() {
// TODO Auto-generated method stub
return null;
}
@Override
public ResponseBody getBody() {
// TODO Auto-generated method stub
return null;
}
@Override
public Cookies detailedCookies() {
// TODO Auto-generated method stub
return null;
}
@Override
public Cookie detailedCookie(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Map<String, String> cookies() {
// TODO Auto-generated method stub
return null;
}
@Override
public String cookie(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String contentType() {
// TODO Auto-generated method stub
return null;
}
@Override
public ResponseBody body() {
// TODO Auto-generated method stub
return null;
}
@Override
public Response andReturn() {
// TODO Auto-generated method stub
return null;
}
@Override
public String asString() {
// TODO Auto-generated method stub
return asString;
}
@Override
public InputStream asInputStream() {
// TODO Auto-generated method stub
return null;
}
@Override
public byte[] asByteArray() {
// TODO Auto-generated method stub
return null;
}
@Override
public XmlPath xmlPath(CompatibilityMode arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public XmlPath xmlPath(XmlPathConfig arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public XmlPath xmlPath() {
// TODO Auto-generated method stub
return null;
}
@Override
public <T> T path(String arg0, String... arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public JsonPath jsonPath(JsonPathConfig arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public JsonPath jsonPath() {
// TODO Auto-generated method stub
return null;
}
@Override
public XmlPath htmlPath() {
// TODO Auto-generated method stub
return null;
}
@Override
public <T> T as(Class<T> arg0, ObjectMapper arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public <T> T as(Class<T> arg0, ObjectMapperType arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public <T> T as(Class<T> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String print() {
// TODO Auto-generated method stub
return null;
}
@Override
public String prettyPrint() {
// TODO Auto-generated method stub
return null;
}
@Override
public Response prettyPeek() {
// TODO Auto-generated method stub
return null;
}
@Override
public Response peek() {
// TODO Auto-generated method stub
return null;
}
};
return re;
}
}
package com.offcn.TestUnti;
import io.restassured.RestAssured;
import io.restassured.config.RestAssuredConfig;
import io.restassured.config.SSLConfig;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static io.restassured.http.ContentType.JSON;
/**
* Created by puhui on 16/9/14.
*/
public class MockServerTestUtil {
static RestAssured ra;
public static RestAssured getLocalRAEnv(){
if (ra == null){
ra = new RestAssured();
ra.config = RestAssuredConfig.newConfig().sslConfig(SSLConfig.sslConfig().allowAllHostnames());
ra.baseURI = "http://127.0.0.1";
ra.port = 30800;
}
return ra;
}
public static void sendSingleMessageResponse(String mobile, String messageContent){
Response re = getLocalRAEnv().given().
param("token", "faketoken").
param("senderId", 1).
param("senderName", "iqianjin").
param("mobile", mobile).
param("messageContent", messageContent).
param("bsCode", "sbcode").
when().get("/api/v1/message/getSend").thenReturn();
re.getBody().print();
re.then().statusCode( 200 );
}
//batchNo批次号非必要参数,
// messageContent messageContents 单条内容和多条容不能共存,优先单一内容发送,多条内容发送是与发送号码一一对应的。
public static JsonPath sendmutiMessageResponse(List<String> mobiles, List<String> messageContents){
Map<String, Object> jsonAsMap = new HashMap();
jsonAsMap.put("senderName","testmuti");
jsonAsMap.put("messageContents",messageContents);
jsonAsMap.put("mobiles",mobiles);
jsonAsMap.put("bscode","fakebscode");
Response re = getLocalRAEnv().given().contentType(JSON).body(jsonAsMap).
when(). post("/api/v1/message/send").thenReturn();
re.getBody().print();
re.then().statusCode( 200 );
return re.getBody().jsonPath();
}
public static JsonPath getSingleMessageResponse(String mobile){
Response re = getLocalRAEnv().given().
param("mobile", mobile).
when(). get("/api/v1/message/query").thenReturn();
re.getBody().print();
re.then().statusCode( 200 );
return re.getBody().jsonPath();
}
}
package com.offcn.TestUnti;
import io.restassured.RestAssured;
import io.restassured.config.RestAssuredConfig;
import io.restassured.config.SSLConfig;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static io.restassured.http.ContentType.JSON;
/**
* Created by puhui on 16/9/14.
*/
public class MockServerTestUtil {
static RestAssured ra;
public static RestAssured getLocalRAEnv(){
if (ra == null){
ra = new RestAssured();
ra.config = RestAssuredConfig.newConfig().sslConfig(SSLConfig.sslConfig().allowAllHostnames());
ra.baseURI = "http://127.0.0.1";
ra.port = 30800;
}
return ra;
}
public static void sendSingleMessageResponse(String mobile, String messageContent){
Response re = getLocalRAEnv().given().
param("token", "faketoken").
param("senderId", 1).
param("senderName", "iqianjin").
param("mobile", mobile).
param("messageContent", messageContent).
param("bsCode", "sbcode").
when().get("/api/v1/message/getSend").thenReturn();
re.getBody().print();
re.then().statusCode( 200 );
}
//batchNo批次号非必要参数,
// messageContent messageContents 单条内容和多条容不能共存,优先单一内容发送,多条内容发送是与发送号码一一对应的。
public static JsonPath sendmutiMessageResponse(List<String> mobiles, List<String> messageContents){
Map<String, Object> jsonAsMap = new HashMap();
jsonAsMap.put("senderName","testmuti");
jsonAsMap.put("messageContents",messageContents);
jsonAsMap.put("mobiles",mobiles);
jsonAsMap.put("bscode","fakebscode");
Response re = getLocalRAEnv().given().contentType(JSON).body(jsonAsMap).
when(). post("/api/v1/message/send").thenReturn();
re.getBody().print();
re.then().statusCode( 200 );
return re.getBody().jsonPath();
}
public static JsonPath getSingleMessageResponse(String mobile){
Response re = getLocalRAEnv().given().
param("mobile", mobile).
when(). get("/api/v1/message/query").thenReturn();
re.getBody().print();
re.then().statusCode( 200 );
return re.getBody().jsonPath();
}
}
package com.offcn.TestUnti;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext;
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
import org.springframework.security.oauth2.client.token.DefaultAccessTokenRequest;
import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails;
import org.springframework.security.oauth2.common.OAuth2AccessToken;
import com.offcn.process.BasicsGM;
import com.offcn.system.system;
import com.offcn.test.APITest_tk;
import java.util.Arrays;
public class OAuthTokenUnti {
public APITest_tk RAPI;
// private static OAuth2AccessToken token;
public static OAuth2AccessToken token;
public static void main(String[] args) {
String strToken=OAuthTokenUnti.getOathToken("gmysx").getValue();
System.out.println("strToken="+strToken);
}
public static OAuth2AccessToken getOathToken(String system){
if(token == null){
OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(getResource(system),new DefaultOAuth2ClientContext(new DefaultAccessTokenRequest()));
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
restTemplate.setMessageConverters(Arrays.<HttpMessageConverter<?>> asList(converter));
token = restTemplate.getAccessToken();
}
return token;
}
private static ClientCredentialsResourceDetails getResource(String system){
ClientCredentialsResourceDetails resource = new ClientCredentialsResourceDetails();
system tem=(system)(BasicsGM.map.get(system));
resource.setAccessTokenUri(tem.getAccess_token_uri());
resource.setClientId(tem.getClient_id());
resource.setClientSecret(tem.getClient_secret());
resource.setGrantType(tem.getGrant_type());
return resource;
}
}
package com.offcn.TestUnti;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext;
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
import org.springframework.security.oauth2.client.token.DefaultAccessTokenRequest;
import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails;
import org.springframework.security.oauth2.common.OAuth2AccessToken;
import com.offcn.process.BasicsGM;
import com.offcn.system.system;
import com.offcn.test.APITest_tk;
import java.util.Arrays;
public class OAuthTokenUnti {
public APITest_tk RAPI;
// private static OAuth2AccessToken token;
public static OAuth2AccessToken token;
public static void main(String[] args) {
String strToken=OAuthTokenUnti.getOathToken("gmysx").getValue();
System.out.println("strToken="+strToken);
}
public static OAuth2AccessToken getOathToken(String system){
if(token == null){
OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(getResource(system),new DefaultOAuth2ClientContext(new DefaultAccessTokenRequest()));
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
restTemplate.setMessageConverters(Arrays.<HttpMessageConverter<?>> asList(converter));
token = restTemplate.getAccessToken();
}
return token;
}
private static ClientCredentialsResourceDetails getResource(String system){
ClientCredentialsResourceDetails resource = new ClientCredentialsResourceDetails();
system tem=(system)(BasicsGM.map.get(system));
resource.setAccessTokenUri(tem.getAccess_token_uri());
resource.setClientId(tem.getClient_id());
resource.setClientSecret(tem.getClient_secret());
resource.setGrantType(tem.getGrant_type());
return resource;
}
}
......@@ -1016,8 +1016,7 @@ public class RequestDataUtils {
}
}
return re;
}
}
@SuppressWarnings("static-access")
public static Response Get_one_cookie_pre(HashMap<String, Object> data,
......@@ -1186,4 +1185,5 @@ public class RequestDataUtils {
}
return re;
}
}
......@@ -102,6 +102,7 @@ public class editOutline extends NWN implements API {
parameter = parameter.replace("id=id", "id="+ c_id );
}
data.put("parameter", parameter);
return data;
}
......
package com.offcn.api.nwn.md5;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class LMFMD5 {
//����һ����LMFMD5
public static String MD5(String sourceStr) {
public static String MD5(String str) {
/*
String result = "";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
......@@ -31,7 +34,37 @@ public class LMFMD5 {
} catch (NoSuchAlgorithmException e) {
System.out.println(e);
}
return result;
return result;*/
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException e) { // NOSONAR
System.out.println(e.getMessage());
} catch (UnsupportedEncodingException e) { // NOSONAR
System.out.println(e.getMessage());
}
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
else
md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
}
// return md5StrBuff.toString().toUpperCase();
return md5StrBuff.toString();
}
}
package com.offcn.api.nwn.md5;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import com.offcn.process.NWN;
public class nwngetsign {
......@@ -26,14 +29,14 @@ public class nwngetsign {
sortstring.toString();
System.out.println("sortstring====" + sortstring);
String str = sortstring.toString();
str = str + "bf2h3%^j?ljkj3706kji88697"; //教务的加密,规则固定需要加
System.out.println("str===" + str);
NWN.suprise_str = str;
//String str1 = "appid=tiku&avatar=http://thirdqq.qlogo.cn/qqapp/1106773681/5B50BBF83A00DC46B16B708F720A5D46/100&device_id=861837034477409&login_type=qq&nickname=hobo&open_id=1&platform=Android&version=1"+"&123456";
String res = new LMFMD5().MD5(str);
System.out.println("res===" +res);
return res;
......
package com.offcn.api.nwn.service;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.io.UnsupportedEncodingException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.HttpRequest;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.api.nwn.ifUpdatePackage;
import com.offcn.api.nwn.md5.nwngetsign;
import com.offcn.interfaces.API;
import com.offcn.process.NWN;
import com.offcn.process.TK;
import com.offcn.TestUnti.ListUtil;
/**
* 添加学员信息
*
* @author liyy
*
*/
public class addStudent extends NWN implements API {
public String parameter;// 参数集合
public String package_id;// 母板ID
public String phone;//
public String user_info;//
@Override
public void initialize(HashMap<String, Object> data) {
// try {
// Thread.sleep(20000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
timestamp = MapUtil.getParameter_get(parameter, "timestamp").trim();
user_info = MapUtil.getParameter_get(parameter, "user_info").trim();
if ((!user_info.equals("")) && user_info.contains("package_id")) {
package_id=ListUtil.getListValue(n_package_idList, 0);
parameter = parameter.replace("\"package_id\":package_id", "\"package_id\":"
+ package_id);
}
if ((!user_info.equals("")) && user_info.contains("phone")) {
phone = "1351" + (new Random().nextInt(9000000) + 1000000);
parameter = parameter.replace("\"phone\":phone", "\"phone\":"
+ phone);
}
if ((!user_info.equals("")) && user_info.contains("phone1")) {
phone = "1331" + (new Random().nextInt(9000000) + 1000000);
parameter = parameter.replace("\"phone\":phone1", "\"phone\":"
+ phone);
}
if ((!user_info.equals("")) && user_info.contains("phone2")) {
phone = "1321" + (new Random().nextInt(9000000) + 1000000);
parameter = parameter.replace("\"phone\":phone2", "\"phone\":"
+ phone);
}
if ((!timestamp.equals("")) && timestamp.equals("timestamp")) {
Long timeString = System.currentTimeMillis();
timestamp = timeString.toString().substring(0, 10);
parameter = parameter.replace("timestamp=timestamp", "timestamp="
+ timestamp);
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
System.out.println("url ===" + Url);
System.out.println("parameter ===" + parameter);
Response re = HttpRequest.sendGet("http://beta.alitest.eoffcn.com"
+ Url, parameter);
/*
* System.out.println(re.getStatusCode());
* System.out.println(re.asString());
*/
// http://beta.alitest.eoffcn.com/template/addStuden/sign/0e74b43cefd12b43705d22cfdd744efd
// user_info=[{"package_id":391634,"username":"aaa","phone":15652333337,"sso_id":1}]&timestamp=1548837998&appid=jiaowu
/*
* Response re =HttpRequest.sendGet(
* "http://beta.alitest.eoffcn.com/template/addStuden/sign/5d114486999208096dace001ae4bc45a"
* ,
* "user_info=[{\"package_id\":391634,\"username\":\"aaa\",\"phone\":15656333337,\"sso_id\":1}]&timestamp=1548828632&appid=jiaowu"
* );
*/
// Response re =
// HttpRequest.sendGet("http://beta.alitest.eoffcn.com/template/addStudent/sign/2e90e16d93702c6d900577322063463c",
// "user_info=[{\"package_id\":391634,\"username\":\"aaa\",\"phone\":15652333337,\"sso_id\":1}]&timestamp=1548840818&appid=jiaowu");
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = new JsonPath(re.asString());
System.out.println("jp====" + jp);
boolean result = true;
String failReason = "";
String json = re.asString();
System.out.println("response=========="
+ StringUtils.decodeUnicode(json));
json = StringUtils.decodeUnicode(json);
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
if (!json.contains(data.get("msg").toString())) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if (data.get("custom") != null && json != null) {
// 如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if (data.get("custom").toString().contains(",")) {
String[] strCustomStrings = data.get("custom").toString()
.split(",");
System.out.println(strCustomStrings.length);
for (int i = 0; i < strCustomStrings.length; i++) {
if (!json.contains(strCustomStrings[i])) {
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString()
+ " but actually " + strCustomStrings[i]
+ ".";
break;
}
}
} else {// 如果只有一个希望结果,就直接包含比较。
if (!json.contains(data.get("custom").toString())) {
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString()
+ " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if (json.contains(data.get("msg").toString())) {
// 是否验证数据库
/*
* if (!isProduct) {
*
* String
* data_res=jp.getString("data").substring(0,jp.getString(
* "data").length());
*
* System.out.println("data_res====="+ data_res ); try { String
* sql
* ="SELECT MAX(id) AS id FROM `n_package` WHERE template_id = "
* + template_id; //SELECT id FROM n_template ORDER BY id DESC
* LIMIT 1 ResultSet rs_bankcard = this.sqlFromDB(sql);
* rs_bankcard.last();
* System.out.println("after findedupack ============"+
* rs_bankcard.getString("id"));
* if(Integer.parseInt(rs_bankcard.getString("id")) >=
* Integer.parseInt("1")) {
* n_package_idList.add(rs_bankcard.getString("id")); }else {
* result = result && false; failReason = failReason +
* "edupack info in DB is wrong;"; }
*
*
* } catch (Exception e) { result = result && false; failReason
* = failReason + "cannot verify edupack info in DB;";
* e.printStackTrace(); } }
*/
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
......@@ -29,7 +29,7 @@ import net.sf.json.JSONObject;
/**
* 添加母版层级
* 删除班级(教务包)
*
* @author liyy
*
......
......@@ -29,7 +29,7 @@ import net.sf.json.JSONObject;
/**
* 添加母版层级
* 查找母版下是否有对应的教务包
*
* @author liyy
*
......
......@@ -29,21 +29,36 @@ import net.sf.json.JSONObject;
/**
* 添加学员信息
* 获取单个班级信息
*
* @author liyy
*
*/
public class addStuden extends NWN implements API {
public class getOnePackInfo extends NWN implements API {
public String parameter;//参数集合
public String template_id_1;//母板ID
public String package_id;
public String del_package_id;
// public String phone;//层级包id
@Override
public void initialize(HashMap<String, Object> data) {
try {
String sql="SELECT MAX(id) AS id FROM `n_package` WHERE deleted_at IS NOT NULL ";
//SELECT id FROM n_template ORDER BY id DESC LIMIT 1
ResultSet rs_bankcard = this.sqlFromDB(sql);
rs_bankcard.last();
del_package_id = rs_bankcard.getString("id");
System.out.println("del_package_id====" + del_package_id);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
......@@ -52,12 +67,19 @@ public class addStuden extends NWN implements API {
parameter = MapUtil.getValue("parameter", data);
template_id_1 = MapUtil.getParameter_get(parameter, "template_id").trim();
timestamp = MapUtil.getParameter_get(parameter, "timestamp").trim();
package_id = MapUtil.getParameter_get(parameter, "package_id").trim();
if ((!template_id_1.equals("")) && template_id_1.equals("template_id")) {
template_id_1 = "["+ template_id +","+(Integer.parseInt(template_id)-1)+"]";
template_id_1 = template_id;
parameter = parameter.replace("template_id=template_id", "template_id="+ template_id_1 );
}
if ((!package_id.equals("")) && package_id.equals("package_id")) {
package_id=ListUtil.getListValue(n_package_idList, 0);
parameter = parameter.replace("package_id=package_id", "package_id="+ package_id );
}
if ((!package_id.equals("")) && package_id.equals("del_package_id")) {
parameter = parameter.replace("package_id=del_package_id", "package_id="+ del_package_id );
}
if ((!timestamp.equals("")) && timestamp.equals("timestamp")) {
Long timeString= System.currentTimeMillis();
......@@ -153,35 +175,36 @@ public class addStuden extends NWN implements API {
if("0".equals(code)){
//创建后数据库在哪个表
//是否验证数据库
/*if (!isProduct) {
if (!isProduct) {
String data_res=jp.getString("data").substring(0,jp.getString("data").length());
/*template_id=jp.getString("data.id").substring(0,jp.getString("data.id").length());
System.out.println("data_res====="+ data_res );
System.out.println("template_id====="+ template_id );*/
try {
String sql="SELECT MAX(id) AS id FROM `n_package` WHERE template_id = " + template_id;
String sql="SELECT deleted_at FROM `n_package` WHERE id = " + del_package_id;
//SELECT id FROM n_template ORDER BY id DESC LIMIT 1
ResultSet rs_bankcard = this.sqlFromDB(sql);
rs_bankcard.last();
System.out.println("after findedupack ============"+ rs_bankcard.getString("id"));
if(Integer.parseInt(rs_bankcard.getString("id")) >= Integer.parseInt("1"))
System.out.println("after deleted_packate ============"+ rs_bankcard.getString("deleted_at"));
if(rs_bankcard.getString("deleted_at").contains("2019") )
{
n_package_idList.add(rs_bankcard.getString("id"));
}else {
result = result && false;
failReason = failReason + "edupack info in DB is wrong;";
failReason = failReason + "deleted_packate is wrong;";
}
} catch (Exception e) {
result = result && false;
failReason = failReason + "cannot verify edupack info in DB;";
failReason = failReason + "cannot verify template_id info in DB;";
e.printStackTrace();
}
}
*/
}
}
......
......@@ -47,6 +47,7 @@ public class NWN extends BasicsGM{
public static List<String> user_id_List = new ArrayList<String>();//user_id
public static String template_id = "";
public static String timestamp;//时间戳
public static String suprise_str;//特殊字符
// public static String phone_code = "";//手机号验证码
//
//
......
package com.offcn.test;
import io.restassured.response.Response;
import java.sql.SQLException;
import java.util.HashMap;
import net.sf.json.JSONObject;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import com.offcn.TestData.offcn_api_testData;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.Mail;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.OAuthTokenUnti;
import com.offcn.TestUnti.ReadProperties;
import com.offcn.TestUnti.Reflect_api;
import com.offcn.TestUnti.SheetUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.XMLread;
import com.offcn.interfaces.API;
import com.offcn.listener.ProcessTestng;
import com.offcn.listener.ResultTestng;
import com.offcn.process.BasicsGM;
import com.offcn.process.TK;
import com.offcn.process.XYZB;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
@Listeners({ ProcessTestng.class ,ResultTestng.class })
public class APITest_tk extends TK{
@Test(dataProvider = "renmai", dataProviderClass = offcn_api_testData.class)
public void f(HashMap<String, Object> data) {
Log.logInfo(data.get("TCNO").toString() + " Step " + data.get("Description").toString() + " is running......");
API obj = new Reflect_api().Reflections(data);
BasicsGM.map=new XMLread().getSystem();
obj.initialize(data);
data = obj.handleInput(data);
String parameter = MapUtil.getValue("parameter", data);
Long startTime=System.currentTimeMillis();
Response re = obj.SendRequest(data, data.get("serviceUrl").toString(), data.get("Request").toString());
Long endTime=System.currentTimeMillis();
String time=(endTime-startTime)+"毫秒";
String body=re.asString();
String codeORerrcode="";
String msgORerrmsy="";
String result = "";
if(body.contains("<title>")){
int Alength="<title>".length();
int start=body.indexOf("<title>");
int end=body.indexOf("</title>")+1;
body="页面标题:"+body.substring(start+Alength, end-1);
result=body;
if(data.get("Description").toString().contains("流程")){
result = obj.handleOutput(re, data);
}
}else{
result = obj.handleOutput(re, data);
}
codeORerrcode=getCode(re);
msgORerrmsy=getMsg(re);
Log.logInfo("返回结果="+StringUtils.decodeUnicode(body));
System.out.println();
//数据回写
// HashMap<String, Object> ExpectResult=MapUtil.Expect(data);
// SheetUtils sheet = new SheetUtils("DataAll.xls", "Output");
// sheet.writeExcel(
// data.get("NO").toString(),
// data.get("TCNO").toString() + "_Step" + data.get("Step").toString(),
// data.get("Description").toString(),
// parameter,
// JSONObject.fromObject(ExpectResult).toString(),
// StringUtils.decodeUnicode(re.asString()),
// codeORerrcode,
// msgORerrmsy,
// result,
// time
// );
if(result.indexOf("Fail")!=-1){
String Expect1=data.get("code")==null?"":data.get("code").toString();
String Expect2=data.get("msg")==null?"":data.get("msg").toString();
String Expect3=data.get("custom")==null?"":data.get("custom").toString();
if(body.contains("HTML")){
body="异常页面信息";
}
Assert.assertEquals(StringUtils.decodeUnicode(body),Expect1+","+Expect2+","+Expect3);
}else{
Assert.assertTrue(true);
}
}
@AfterClass
public void afterClass() {
//测试结束删除测试所用的数据
if (!isClearMysql) {
cleanUser_FromDB();//清除注册user_id,
cleanexam_FromDB();//清除用户地区操作表t_exam_area
try {
if(stmt!=null){
stmt.close();
}
if (conn != null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
Log.logInfo("========测试结束========");
}
}
package com.offcn.test;
import io.restassured.response.Response;
import java.sql.SQLException;
import java.util.HashMap;
import net.sf.json.JSONObject;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import com.offcn.TestData.offcn_api_testData;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.Mail;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.OAuthTokenUnti;
import com.offcn.TestUnti.ReadProperties;
import com.offcn.TestUnti.Reflect_api;
import com.offcn.TestUnti.SheetUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.XMLread;
import com.offcn.interfaces.API;
import com.offcn.listener.ProcessTestng;
import com.offcn.listener.ResultTestng;
import com.offcn.process.BasicsGM;
import com.offcn.process.TK;
import com.offcn.process.XYZB;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
@Listeners({ ProcessTestng.class ,ResultTestng.class })
public class APITest_tk extends TK{
@Test(dataProvider = "renmai", dataProviderClass = offcn_api_testData.class)
public void f(HashMap<String, Object> data) {
Log.logInfo(data.get("TCNO").toString() + " Step " + data.get("Description").toString() + " is running......");
API obj = new Reflect_api().Reflections(data);
BasicsGM.map=new XMLread().getSystem();
obj.initialize(data);
data = obj.handleInput(data);
String parameter = MapUtil.getValue("parameter", data);
Long startTime=System.currentTimeMillis();
Response re = obj.SendRequest(data, data.get("serviceUrl").toString(), data.get("Request").toString());
Long endTime=System.currentTimeMillis();
String time=(endTime-startTime)+"毫秒";
String body=re.asString();
String codeORerrcode="";
String msgORerrmsy="";
String result = "";
if(body.contains("<title>")){
int Alength="<title>".length();
int start=body.indexOf("<title>");
int end=body.indexOf("</title>")+1;
body="页面标题:"+body.substring(start+Alength, end-1);
result=body;
if(data.get("Description").toString().contains("流程")){
result = obj.handleOutput(re, data);
}
}else{
result = obj.handleOutput(re, data);
}
codeORerrcode=getCode(re);
msgORerrmsy=getMsg(re);
Log.logInfo("返回结果="+StringUtils.decodeUnicode(body));
System.out.println();
//数据回写
// HashMap<String, Object> ExpectResult=MapUtil.Expect(data);
// SheetUtils sheet = new SheetUtils("DataAll.xls", "Output");
// sheet.writeExcel(
// data.get("NO").toString(),
// data.get("TCNO").toString() + "_Step" + data.get("Step").toString(),
// data.get("Description").toString(),
// parameter,
// JSONObject.fromObject(ExpectResult).toString(),
// StringUtils.decodeUnicode(re.asString()),
// codeORerrcode,
// msgORerrmsy,
// result,
// time
// );
if(result.indexOf("Fail")!=-1){
String Expect1=data.get("code")==null?"":data.get("code").toString();
String Expect2=data.get("msg")==null?"":data.get("msg").toString();
String Expect3=data.get("custom")==null?"":data.get("custom").toString();
if(body.contains("HTML")){
body="异常页面信息";
}
Assert.assertEquals(StringUtils.decodeUnicode(body),Expect1+","+Expect2+","+Expect3);
}else{
Assert.assertTrue(true);
}
}
@AfterClass
public void afterClass() {
//测试结束删除测试所用的数据
if (!isClearMysql) {
cleanUser_FromDB();//清除注册user_id,
cleanexam_FromDB();//清除用户地区操作表t_exam_area
try {
if(stmt!=null){
stmt.close();
}
if (conn != null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
Log.logInfo("========测试结束========");
}
}
package makeTestCase;
import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.offcn.TestUnti.SheetUtils;
import net.sf.json.JSONObject;
public class MakeTestCases190131 {
public static int state=0;//代表有其他页面没有,0标示没有,1表示有一个,2表示有两个
public static List<String> SheetList=new ArrayList<String>();//sheet页面的名称,里面存的是sheet2,sheet3之类的sheet页名称
public static List<String> nameList=new ArrayList<String>();//包含sheet页面对应的字段名称
public static List<String> List_1=new ArrayList<String>();//List_1
public static List<String> List_4=new ArrayList<String>();//List_4
public static List<String> List_5=new ArrayList<String>();//List_5
public static List<List<String>> list_all=new ArrayList<List<String>>();//缺失字段,最后判断是否应该算正向还是反向
public static void main(String[] args) {
make("TestData/CaseMake.xls","Sheet1");
}
public static void make(String FilePath,String SheetName){
//获取用例
List<String> listSum=TestCase(FilePath,SheetName);
Set<String> set=new HashSet<String>();
set.addAll(listSum);
listSum.clear();
listSum.addAll(set);
for (String string : listSum) {
System.out.println(string);
}
List<String> TeseName= TestCaseName(listSum);
// System.out.println("用例数"+listSum.size());
// System.out.println("用例名字数"+TeseName.size());
//获取接口全信息
String AllPath="";
try {
AllPath=new readExcels().readExcels_path(FilePath,SheetName);
} catch (Exception e) {
e.printStackTrace();
}
String[] apipath=AllPath.split("/");
//获取接口类名
String leiming=apipath[apipath.length-1];
//获取接口路径
int w=AllPath.indexOf("/");
String path=AllPath.substring(w);
String name=FilePath.split("/")[1];
//获取接口名
String jieKouMing=apipath[0];
//生成测试用例
for(int i=0;i<listSum.size();i++){
outCase(i,leiming,jieKouMing,TeseName.get(i),path,listSum.get(i),name,"OutPage");
}
}
//第一个参数是数量,第二个参数是接口类名,第三个参数是中文名
public static void outCase(int i,String leiming,String jieKouMing,String TeseName,String path,String cases,String wenjianming,String Sheet){
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(d);
//数据回写
SheetUtils sheet = new SheetUtils(wenjianming,Sheet);
sheet.writeExcel(
(i+1)+"",
leiming + "_" + (i+1),
(i+1)+"",
jieKouMing+"-"+TeseName,
"nwn",
path,
"N",
"post",
"200",
cases
);
}
//所有测试集合的用例名称
public static List<String> TestCaseName(List<String> list){
//所有测试集合的用例名称
List<String> listt=new ArrayList<String>();
List<String> list1_4=zhengxiang(List_1,List_4);
List<String> list1_5=zhengxiang(List_1,List_5);
//先把测试用例遍历
for (int i=0;i<list.size();i++) {
String name="";
// System.out.println("用例名称:"+listt.toString());
// System.out.println();
// System.out.println("测试用例:"+list.get(i));
// System.out.println("字段:"+List_1.toString());
// System.out.println("反向:"+list1_5.toString());
//每一条测试用例
//查看是否缺少字段
List<String> list_true=zhengxiang(list.get(i));
name=baohan(List_1,list_true);
if(!"未缺失".equals(name)){
listt.add(name);
continue;
}
name=list1_5(list1_5,list.get(i));
if(!"正向用例".equals(name)){
listt.add(name);
continue;
}
name=list1_4(list1_4,list.get(i));
listt.add(name);
}
return listt;
}
//获取正向所有精确字段
public static List<String> zhengxiang(String stra){
//预返回的集合
List<String> listt=new ArrayList<String>();
//循环获取到每一个字段的正确集合
String ziduan []=stra.split(",");
String zuo="";
for(int i=0;i<ziduan.length;i++){
zuo=ziduan[i];
String zhong []=zuo.split(":");
// 获取到每一个字段的正确中的一个2,3,4,5,6,
if(zhong[0]!=null && zhong[0].length()>2){
String a1=zhong[0].substring(1,zhong[0].length()-1);
listt.add(a1);
}
}
return listt;
}
//两个集合:list——1,list——4拼接成正向集合
public static List<String> zhengxiang(List<String> list_1,List<String> list_4){
//预返回的集合
List<String> listt=new ArrayList<String>();
String str="";
//循环获取到每一个字段的正确集合
for(int i=0;i<list_1.size();i++){
// 获取到每一个字段的正确中的一个2,3,4,5,6,
String zhengxiangfenjie []=list_4.get(i).split(",");
for(int j=0;j<zhengxiangfenjie.length;j++){
str="\""+list_1.get(i)+"\":"+zhengxiangfenjie[j];
listt.add(str);
}
}
return listt;
}
//用例中是否包含list——5中的信息,如果包含返回"反向用例-XXX"
public static String list1_5(List<String> list1_5,String str){
String queshideziduan="";
for(int i=0;i<list1_5.size();i++){
if(str.contains(list1_5.get(i))){
queshideziduan=list1_5.get(i);
}
}
if("".equals(queshideziduan)){
return "正向用例";
}else{
return "反向用例-"+queshideziduan;
}
}
//用例中是否包含list——4中的信息,如果包含返回"正向用例"
public static String list1_4(List<String> list1_4,String str){
String fenjie[] =str.split(",");
//测试用例集合
List<String> listSum=new ArrayList<String>();
for(int i=0;i<fenjie.length;i++){
listSum.add(fenjie[i]);
}
listSum.removeAll(list1_4);
// System.out.println(listSum.toString());
if(listSum.isEmpty()){
return "正向用例";
}else{
return "反向用例-"+listSum.toString();
}
}
//用例中是否包含list——1中的信息,如果没有返回XXXX字段缺失
public static String baohan(List<String> list_1,List<String> list_true){
//测试用例集合
List<String> listSum=new ArrayList<String>();
listSum.addAll(list_1);
String queshideziduan="";
// System.out.println(listSum.size());
// System.out.println(list_true.size());list_all
if(listSum.size()!=list_true.size()){
listSum.removeAll(list_true);
queshideziduan=listSum.toString();
}
if("".equals(queshideziduan)){
return "未缺失";
}else{
queshideziduan=queshideziduan.substring(1, queshideziduan.length()-1);
for(int i=0;i<list_all.size();i++){
String NorY=list_all.get(i).toString();
// System.out.println(NorY);
// System.out.println((", "+queshideziduan+","));
// System.out.println(NorY.contains(", "+queshideziduan+","));
// System.out.println(NorY.contains(", N,"));
if(NorY.contains(", "+queshideziduan+",") && NorY.contains(", N,")){
return "正向用例-"+queshideziduan+"非必输项缺失";
}
}
return "反向用例-"+queshideziduan+"缺失";
}
}
public static List<String> TestCase(String path,String Sheet){
//测试用例集合
List<String> listSum=new ArrayList<String>();
readExcels readExcels= new readExcels();
List<List<String>> list=null;
try {
list=readExcels.readExcels_return(path,Sheet);
list_all.addAll(list);
} catch (Exception e) {
e.printStackTrace();
}
List<Set<String>> listt=new ArrayList<Set<String>>();
List<Set<String>> listf=new ArrayList<Set<String>>();
for (int i=0;i<list.size();i++) {
List<String> li=list.get(i);
Set<String> sett=new HashSet<String>();
Set<String> setf=new HashSet<String>();
String name="";
Object [] objt=null;
Object [] objf=null;
for (int j=0;j<li.size();j++) {
if(j==1){
name=li.get(j).trim();
List_1.add(name);
}
if(j==4){
// if("N".equals(li.get(j-1).trim())){
// String str=(li.get(j).trim()+",null");
// objt=str.split(",");
// List_4.add(li.get(j).trim());
// List_4.add(null);
// }else{
objt=li.get(j).trim().split(",");
List_4.add(li.get(j).trim());
// }
}
if(j==5){
String s="";
if("".equals(li.get(j).trim()) || li.get(j).trim()==null){
s=""+li.get(2).trim()+","+li.get(3).trim();
List_5.add(s);
}else{
s=""+li.get(j).trim()+","+li.get(2).trim()+","+li.get(3).trim();
List_5.add(s);
}
objf=s.split(",");
}
}
sett=getObject(name,objt,objt[0]+"");
setf=getObject(name,objf,objt[0]+"");
listt.add(sett);
listf.add(setf);
}
// System.out.println("正向用例"+listt.toString());
// System.out.println("反向用例"+listf.toString());
//如果random_String.state不等于0说明存在其他sheet页面,如果是2就说明有其他两个sheet页
// System.out.println(state);
// System.out.println(SheetList);
// System.out.println(nameList);
for(int i=0;i<MakeTestCases190131.state;i++){
List<Set<String>> a=TestCase_N("TestData/CaseMake.xls",SheetList.get(i),nameList.get(i));
listt.add(a.get(0));
listf.add(a.get(1));
}
SheetList.clear();
nameList.clear();
// System.out.println(listt);
// System.out.println(listf);
//产生正向的用例
Set<String> sum1=getZReslut(listt);
Iterator it1 = sum1.iterator();
String yongli="";
while(it1.hasNext()){
// System.out.println(qudouhao(it1.next()+""));
yongli=(qudouhao(it1.next()+""));
yongli=yongli.replace("~", ",");//将用例所有的波浪线替换回来,替换成逗号
listSum.add(yongli);
}
//产生反向的用例,第一个参数是正确的参数集合支取一个,第二个参数集合是错误的集合
for(int i=0;i<listf.size();i++){
Set<String> sum2=getFReslut(sum1,listf.get(i));
// System.out.println("sum2="+sum2);
Iterator it2 = sum2.iterator();
while(it2.hasNext()){
// System.out.println(qudouhao(it2.next()+""));
String ssss=(String) it2.next();
// System.out.println(ssss);
yongli=qudouhao(ssss+"");
yongli=yongli.replace("~", ",");//将用例所有的波浪线替换回来,替换成逗号
// System.out.println("yongli="+yongli);
listSum.add(yongli);
// System.out.println("listSum="+listSum);
}
}
// System.out.println(listSum.toString());
return listSum;
}
public static List<Set<String>> TestCase_N(String path,String Sheet,String ziduanname){
//测试用例集合
List<Set<String>> listSum=new ArrayList<Set<String>>();
readExcels readExcels= new readExcels();
List<List<String>> list=null;
try {
list=readExcels.readExcels_return(path,Sheet);
} catch (Exception e) {
e.printStackTrace();
}
List<Set<String>> listt=new ArrayList<Set<String>>();
List<Set<String>> listf=new ArrayList<Set<String>>();
for (int i=0;i<list.size();i++) {
List<String> li=list.get(i);
Set<String> sett=new HashSet<String>();
Set<String> setf=new HashSet<String>();
String name="";
Object [] objt=null;
Object [] objf=null;
for (int j=0;j<li.size();j++) {
if(j==1){
name=li.get(j).trim();
}
if(j==4){
objt=li.get(j).trim().split(",");
}
if(j==5){
String s="";
if("".equals(li.get(j).trim()) || li.get(j).trim()==null){
s=""+li.get(2).trim()+","+li.get(3).trim();
}else{
s=""+li.get(j).trim()+","+li.get(2).trim()+","+li.get(3).trim();
}
objf=s.split(",");
}
// System.out.println(objf.toString());
}
sett=getObject(name,objt,objt[0]+"");
setf=getObject(name,objf,objt[0]+"");
listt.add(sett);
listf.add(setf);
}
System.out.println("正向用例"+listt.toString());
System.out.println("反向用例"+listf.toString());
//正确和错误的集合
Set<String> set_n_t=new HashSet<String>();
Set<String> set_n_f=new HashSet<String>();
//产生正向的用例
Set<String> sum1=getZReslut(listt);
Iterator it1 = sum1.iterator();
String linshiyongli="";
while(it1.hasNext()){
// System.out.println(qudouhao(it1.next()+""));
linshiyongli=qudouhao(it1.next()+"");
linshiyongli=linshiyongli.replace(",", "~");
set_n_t.add("\""+ziduanname+"\""+":{"+linshiyongli+"}");
}
//产生反向的用例,第一个参数是正确的参数集合支取一个,第二个参数集合是错误的集合
for(int i=0;i<listf.size();i++){
Set<String> sum2=getFReslut(sum1,listf.get(i));
Iterator it2 = sum2.iterator();
while(it2.hasNext()){
// System.out.println(qudouhao(it2.next()+""));
linshiyongli=qudouhao(it2.next()+"");
linshiyongli=linshiyongli.replace(",", "~");
set_n_f.add("\""+ziduanname+"\""+":{"+linshiyongli+"}");
}
}
listSum.add(set_n_t);
listSum.add(set_n_f);
return listSum;
}
//去掉逗号
public static String qudouhao(String str){
str=str.trim();
if(str.length()>0 && str.charAt(0)==','){
str=str.substring(1);
}else if(str.length()>0 && str.charAt(str.length()-1)==','){
str=str.substring(0,str.length()-1);
}
return str;
}
//生成正确的用例
public static Set<String> getZReslut(List<Set<String>> list){
String str="";
for(int i=0;i<list.size();i++){
String str1="";
Object[] obj=setjihe(list.get(i));
str1=Arrays.toString(obj).trim();
str=str+str1.substring(1, str1.length()-1)+"==".trim();
}
str=str.substring(0, str.length()-2);
Set<String> result = HelloHongShu.getSet(str);
return result;
}
public static Object[] setjihe(Set<String> set){
Object[] obj=set.toArray();
return obj;
}
//生成错误的用例
public static Set<String> getFReslut(Set<String> set1,Set<String> set2){
Set<String> set=new HashSet<String>();
Object[] obj1=set1.toArray();
Object[] obj2=set2.toArray();
//获取正确用例的其中一个
String zhengque=obj1[0]+"";
String linshi="";
String cuowulinshi="";
Object [] zhengque1=zhengque.split(",");
StringBuffer sb=new StringBuffer();
for(int i=0;i<zhengque1.length;i++){
sb.append(zhengque1[i]);
sb.append(",");
}
String jihe=sb.toString().substring(0,sb.toString().length()-1);
// System.out.println(jihe);
//用正确的用例为模板,找到与错误部分相同的一节内容进行替换操作
for(int i=0;i<zhengque1.length;i++){
// System.out.println(11111111);
// for(int j=0;j<obj2.length;j++){
for(int j=(obj2.length-1);j>=0;j--){
//错误用例中分号前面的那段信息
String cuowu=obj2[j]+"";
cuowulinshi=cuowu.trim();
cuowu=(cuowu.split(":")[0]).trim();
linshi=(zhengque1[i]+"").trim();
if(!linshi.contains(cuowu)){
break;
}
zhengque=jihe;
// System.out.println("被替代前="+zhengque);
// System.out.println("被替代内容="+linshi);
// System.out.println("替代为="+cuowulinshi);
zhengque=zhengque.replace(linshi, cuowulinshi);
zhengque=quchongfudouhao(zhengque);
set.add(zhengque);
// System.out.println("被替代后="+zhengque);
// System.out.println("set="+set);
}
}
return set;
}
public static String quchongfudouhao(String str){
return str.replace(",,", ",");
}
//第一个参数是变量名,第二个参数是参数集合,第三个参数是正的需要被类型转换的参数
public static Set<String> getObject(String name , Object[] obj,String s){
// Object w1[]=new Object[obj.length];
Set<String> set=new HashSet<String>();
String linshi="";
for(int j=0;j<obj.length;j++){
if(obj[j]==null || "code".equals(obj[j])){
linshi="\""+name+"\""+":"+obj[j];
}else if("Y".equals(obj[j])){
linshi="";
}else if("N".equals(obj[j])){
linshi="";
// continue;
}else if("String".equals(obj[j])){
Long w=StringToInt(s);
// System.out.println("w="+w);
if(w!=0){
linshi="\""+name+"\""+":"+w;
}else{
linshi="\""+name+"\""+":"+0;//字符串转换成int类型失败后,将字符串变为0
// System.out.println(linshi);
}
}else if("int".equals(obj[j])){
linshi="\""+name+"\""+":"+"\""+s+"\"";
}else{
linshi="\""+name+"\""+":"+""+obj[j]+"";
}
// System.out.println(linshi);
set.add(linshi);
// System.out.println(set);
}
return set;
}
public static Long StringToInt(String str){
Long a=0L;
try {
a=Long.parseLong(str);
} catch (Exception e) {
// System.out.println("转换异常");
}
return a;
}
}
......@@ -59,9 +59,9 @@ public class readExcels {
Cell cell = r.getCell(j);
String brandName = this.getCellValue(cell);
if(brandName.indexOf("Sheet")!=-1){//如果在文件里找到了包含Sheet的字段就不存储这一行数据
MakeTestCases.SheetList.add(brandName);//记录那个sheet页面
MakeTestCases.nameList.add(this.getCellValue(r.getCell(1)));//保存包含sheet页面的字段名称
++MakeTestCases.state; //状态执为true,代表还需要循环读取其他sheet页面
MakeTestCases190131.SheetList.add(brandName);//记录那个sheet页面
MakeTestCases190131.nameList.add(this.getCellValue(r.getCell(1)));//保存包含sheet页面的字段名称
++MakeTestCases190131.state; //状态执为true,代表还需要循环读取其他sheet页面
listData.clear(); //清理这一行数据的存储
break;
}
......
<?xml version="1.0" encoding="UTF-8"?>
<customers>
<customer active="false">
<xml_name>王炎炎</xml_name>
<xml_idNo>130426199201270329</xml_idNo>
<xml_bankNo>6227000210250635768</xml_bankNo>
<xml_phone>18230065651</xml_phone>
</customer>
<customer active="true">
<xml_name>王炎炎</xml_name>
<xml_idNo>130426199201270329</xml_idNo>
<xml_bankNo>6227000210250635768</xml_bankNo>
<xml_phone>18230065651</xml_phone>
</customer>
<?xml version="1.0" encoding="UTF-8"?>
<customers>
<customer active="false">
<xml_name>王炎炎</xml_name>
<xml_idNo>130426199201270329</xml_idNo>
<xml_bankNo>6227000210250635768</xml_bankNo>
<xml_phone>18230065651</xml_phone>
</customer>
<customer active="true">
<xml_name>王炎炎</xml_name>
<xml_idNo>130426199201270329</xml_idNo>
<xml_bankNo>6227000210250635768</xml_bankNo>
<xml_phone>18230065651</xml_phone>
</customer>
</customers>
\ No newline at end of file
xls=DataAll.xls
sheet=try
sheet=TestCase4
mysql_local_Online=local
\ No newline at end of file
//package test;
//
//
//
//import com.puhui.bestbuy.common.domain.wx.Token;
//import com.puhui.bestbuy.common.domain.wx.WeixinOauth2Token;
//import com.puhui.bestbuy.common.domain.wx.WeixinUserInfo;
//import com.puhui.bestbuy.common.domain.wx.WeixinUserList;
//import net.sf.json.JSONArray;
//import net.sf.json.JSONException;
//import net.sf.json.JSONObject;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import java.security.MessageDigest;
//import java.security.NoSuchAlgorithmException;
//import java.util.Arrays;
//import java.util.List;
//
//
///**
// * @ClassName: UserUtil.java
// * @Title: 权限控制工具类
// * @Description: 权限控制工具类
// */
//public class UserUtil {
//
// private static final String errcode = "errcode";
//
// private static final String errmsg = "errmsg";
//
// private static Logger log = LoggerFactory.getLogger(UserUtil.class);
//
// public static Token getToken(String appid, String appsecret) {
// Token token = null;
// String requestUrl = WeixinParameter.token_url.replace("APPID", appid)
// .replace("APPSECRET", appsecret);
// // 发起GET请求获取凭证
// JSONObject jsonObject = CommonUtil
// .httpsRequest(requestUrl, "GET", null);
//
// if (null != jsonObject) {
// try {
// token = new Token();
// token.setAccessToken(jsonObject.getString("access_token"));
// token.setExpiresIn(jsonObject.getInt("expires_in"));
// log.info("[UserUtil][getToken]获取token成功{}", jsonObject.getString("access_token"));
// } catch (JSONException e) {
// token = null;
// // 获取token失败
// log.error("[UserUtil][getToken]获取token失败 errcode:{} errmsg:{}",
// jsonObject.getInt(errcode),
// jsonObject.getString(errmsg));
// log.error("获取token失败", e);
// }
// }
// return token;
// }
//
// /**
// * 获取用户信息
// *
// * @param accessToken 接口访问凭证
// * @param openId 用户标识
// * @return WeixinUserInfo
// */
// public static WeixinUserInfo getUserInfo(String accessToken, String openId) {
// WeixinUserInfo weixinUserInfo = new WeixinUserInfo();
// // 拼接请求地址
// String requestUrl = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID";
// requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken).replace(
// "OPENID", openId);
// // 获取用户信息
// JSONObject jsonObject = CommonUtil.httpsRequest(requestUrl, "GET", null);
//
// if (null != jsonObject) {
// log.info("[UserUtil][getUserInfo][jsonObject]="
// + jsonObject.toString());
// // 用户的标识
// weixinUserInfo.setOpenId(openId);
// // 关注状态(1是关注,0是未关注),未关注时获取不到其余信息
// weixinUserInfo.setSubscribe(jsonObject.getInt("subscribe"));
// if (jsonObject.getInt("subscribe") == 1) {
// // 用户关注时间
// weixinUserInfo.setSubscribeTime(jsonObject
// .getString("subscribe_time"));
// // 昵称
// weixinUserInfo.setNickname(jsonObject.getString("nickname"));
// // 用户的性别(1是男性,2是女性,0是未知)
// weixinUserInfo.setSex(jsonObject.getInt("sex"));
// // 用户所在国家
// weixinUserInfo.setCountry(jsonObject.getString("country"));
// // 用户所在省份
// weixinUserInfo.setProvince(jsonObject.getString("province"));
// // 用户所在城市
// weixinUserInfo.setCity(jsonObject.getString("city"));
// // 用户的语言,简体中文为zh_CN
// weixinUserInfo.setLanguage(jsonObject.getString("language"));
// // 用户头像
// weixinUserInfo.setHeadImgUrl(jsonObject.getString("headimgurl"));
// }
// }
// return weixinUserInfo;
// }
//
// /**
// * 校验签名
// *
// * @param token 绑定TOKEN
// * @param signature 微信加密签名
// * @param timestamp 时间戳
// * @param nonce 随机数
// * @return
// */
// public static boolean checkSignature(String token, String signature,
// String timestamp, String nonce) {
//
// // 对token、timestamp和nonce按字典排序
// String[] paramArr = new String[]{token, timestamp, nonce};
// Arrays.sort(paramArr);
//
// // 将排序后的结果拼接成一个字符串
// String content = paramArr[0].concat(paramArr[1]).concat(paramArr[2]);
//
// String ciphertext = null;
// try {
// MessageDigest md = MessageDigest.getInstance("SHA-1");
// // 对接后的字符串进行sha1加密
// byte[] digest = md.digest(content.getBytes());
// ciphertext = CommonUtil.byteToStr(digest);
// } catch (NoSuchAlgorithmException e) {
// log.error("验签失败", e);
// }
//
// // 将sha1加密后的字符串与signature进行对比
// log.info("ciphertext:" + ciphertext);
// return ciphertext != null ? ciphertext.equalsIgnoreCase(signature)
// : false;
// }
//
// /**
// * 获取网页授权凭证
// *
// * @param appId 公众账号的唯一标识
// * @param appSecret 公众账号的密钥
// * @param code
// * @return WeixinAouth2Token
// */
// public static WeixinOauth2Token getOauth2AccessToken(String appId,
// String appSecret, String code) {
// WeixinOauth2Token wat = null;
// // 拼接请求地址
// String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
// requestUrl = requestUrl.replace("APPID", appId);
// requestUrl = requestUrl.replace("SECRET", appSecret);
// requestUrl = requestUrl.replace("CODE", code);
// // 获取网页授权凭证
// JSONObject jsonObject = CommonUtil
// .httpsRequest(requestUrl, "GET", null);
// if (null != jsonObject) {
// try {
// wat = new WeixinOauth2Token();
// wat.setAccessToken(jsonObject.getString("access_token"));
// wat.setExpiresIn(jsonObject.getInt("expires_in"));
// wat.setRefreshToken(jsonObject.getString("refresh_token"));
// wat.setOpenId(jsonObject.getString("openid"));
// wat.setScope(jsonObject.getString("scope"));
// } catch (Exception e) {
// wat = null;
// int errorCode = jsonObject.getInt(errcode);
// String errorMsg = jsonObject.getString(errmsg);
// log.error(
// "[UserUtil][getOauth2AccessToken]获取网页授权凭证失败 errcode:{} errmsg:{}",
// errorCode, errorMsg);
// log.error("获取网页授权凭证失败", e);
// }
// }
// return wat;
// }
//
// /**
// * 获取关注者列表
// *
// * @param accessToken 调用接口凭证
// * @param nextOpenId 第一个拉取的openId,不填默认从头开始拉取
// * @return WeixinUserList
// */
// @SuppressWarnings({"unchecked", "deprecation"})
// public static WeixinUserList getUserList(String accessToken,
// String nextOpenId) {
// WeixinUserList weixinUserList = new WeixinUserList();
//
// if (null == nextOpenId)
// nextOpenId = "";
//
// // 拼接请求地址
// String requestUrl = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID";
// requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken).replace(
// "NEXT_OPENID", nextOpenId);
// // 获取关注者列表
// JSONObject jsonObject = CommonUtil
// .httpsRequest(requestUrl, "GET", null);
// // 如果请求成功
// if (null != jsonObject) {
// weixinUserList.setTotal(jsonObject.getInt("total"));
// weixinUserList.setCount(jsonObject.getInt("count"));
// weixinUserList.setNextOpenId(jsonObject
// .getString("next_openid"));
// JSONObject dataObject = (JSONObject) jsonObject.get("data");
// weixinUserList.setOpenIdList(JSONArray.toList(
// dataObject.getJSONArray("openid"), List.class));
//
// }
// return weixinUserList;
// }
//
//}
//package test;
//
//
//
//import com.puhui.bestbuy.common.domain.wx.Token;
//import com.puhui.bestbuy.common.domain.wx.WeixinOauth2Token;
//import com.puhui.bestbuy.common.domain.wx.WeixinUserInfo;
//import com.puhui.bestbuy.common.domain.wx.WeixinUserList;
//import net.sf.json.JSONArray;
//import net.sf.json.JSONException;
//import net.sf.json.JSONObject;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import java.security.MessageDigest;
//import java.security.NoSuchAlgorithmException;
//import java.util.Arrays;
//import java.util.List;
//
//
///**
// * @ClassName: UserUtil.java
// * @Title: 权限控制工具类
// * @Description: 权限控制工具类
// */
//public class UserUtil {
//
// private static final String errcode = "errcode";
//
// private static final String errmsg = "errmsg";
//
// private static Logger log = LoggerFactory.getLogger(UserUtil.class);
//
// public static Token getToken(String appid, String appsecret) {
// Token token = null;
// String requestUrl = WeixinParameter.token_url.replace("APPID", appid)
// .replace("APPSECRET", appsecret);
// // 发起GET请求获取凭证
// JSONObject jsonObject = CommonUtil
// .httpsRequest(requestUrl, "GET", null);
//
// if (null != jsonObject) {
// try {
// token = new Token();
// token.setAccessToken(jsonObject.getString("access_token"));
// token.setExpiresIn(jsonObject.getInt("expires_in"));
// log.info("[UserUtil][getToken]获取token成功{}", jsonObject.getString("access_token"));
// } catch (JSONException e) {
// token = null;
// // 获取token失败
// log.error("[UserUtil][getToken]获取token失败 errcode:{} errmsg:{}",
// jsonObject.getInt(errcode),
// jsonObject.getString(errmsg));
// log.error("获取token失败", e);
// }
// }
// return token;
// }
//
// /**
// * 获取用户信息
// *
// * @param accessToken 接口访问凭证
// * @param openId 用户标识
// * @return WeixinUserInfo
// */
// public static WeixinUserInfo getUserInfo(String accessToken, String openId) {
// WeixinUserInfo weixinUserInfo = new WeixinUserInfo();
// // 拼接请求地址
// String requestUrl = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID";
// requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken).replace(
// "OPENID", openId);
// // 获取用户信息
// JSONObject jsonObject = CommonUtil.httpsRequest(requestUrl, "GET", null);
//
// if (null != jsonObject) {
// log.info("[UserUtil][getUserInfo][jsonObject]="
// + jsonObject.toString());
// // 用户的标识
// weixinUserInfo.setOpenId(openId);
// // 关注状态(1是关注,0是未关注),未关注时获取不到其余信息
// weixinUserInfo.setSubscribe(jsonObject.getInt("subscribe"));
// if (jsonObject.getInt("subscribe") == 1) {
// // 用户关注时间
// weixinUserInfo.setSubscribeTime(jsonObject
// .getString("subscribe_time"));
// // 昵称
// weixinUserInfo.setNickname(jsonObject.getString("nickname"));
// // 用户的性别(1是男性,2是女性,0是未知)
// weixinUserInfo.setSex(jsonObject.getInt("sex"));
// // 用户所在国家
// weixinUserInfo.setCountry(jsonObject.getString("country"));
// // 用户所在省份
// weixinUserInfo.setProvince(jsonObject.getString("province"));
// // 用户所在城市
// weixinUserInfo.setCity(jsonObject.getString("city"));
// // 用户的语言,简体中文为zh_CN
// weixinUserInfo.setLanguage(jsonObject.getString("language"));
// // 用户头像
// weixinUserInfo.setHeadImgUrl(jsonObject.getString("headimgurl"));
// }
// }
// return weixinUserInfo;
// }
//
// /**
// * 校验签名
// *
// * @param token 绑定TOKEN
// * @param signature 微信加密签名
// * @param timestamp 时间戳
// * @param nonce 随机数
// * @return
// */
// public static boolean checkSignature(String token, String signature,
// String timestamp, String nonce) {
//
// // 对token、timestamp和nonce按字典排序
// String[] paramArr = new String[]{token, timestamp, nonce};
// Arrays.sort(paramArr);
//
// // 将排序后的结果拼接成一个字符串
// String content = paramArr[0].concat(paramArr[1]).concat(paramArr[2]);
//
// String ciphertext = null;
// try {
// MessageDigest md = MessageDigest.getInstance("SHA-1");
// // 对接后的字符串进行sha1加密
// byte[] digest = md.digest(content.getBytes());
// ciphertext = CommonUtil.byteToStr(digest);
// } catch (NoSuchAlgorithmException e) {
// log.error("验签失败", e);
// }
//
// // 将sha1加密后的字符串与signature进行对比
// log.info("ciphertext:" + ciphertext);
// return ciphertext != null ? ciphertext.equalsIgnoreCase(signature)
// : false;
// }
//
// /**
// * 获取网页授权凭证
// *
// * @param appId 公众账号的唯一标识
// * @param appSecret 公众账号的密钥
// * @param code
// * @return WeixinAouth2Token
// */
// public static WeixinOauth2Token getOauth2AccessToken(String appId,
// String appSecret, String code) {
// WeixinOauth2Token wat = null;
// // 拼接请求地址
// String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
// requestUrl = requestUrl.replace("APPID", appId);
// requestUrl = requestUrl.replace("SECRET", appSecret);
// requestUrl = requestUrl.replace("CODE", code);
// // 获取网页授权凭证
// JSONObject jsonObject = CommonUtil
// .httpsRequest(requestUrl, "GET", null);
// if (null != jsonObject) {
// try {
// wat = new WeixinOauth2Token();
// wat.setAccessToken(jsonObject.getString("access_token"));
// wat.setExpiresIn(jsonObject.getInt("expires_in"));
// wat.setRefreshToken(jsonObject.getString("refresh_token"));
// wat.setOpenId(jsonObject.getString("openid"));
// wat.setScope(jsonObject.getString("scope"));
// } catch (Exception e) {
// wat = null;
// int errorCode = jsonObject.getInt(errcode);
// String errorMsg = jsonObject.getString(errmsg);
// log.error(
// "[UserUtil][getOauth2AccessToken]获取网页授权凭证失败 errcode:{} errmsg:{}",
// errorCode, errorMsg);
// log.error("获取网页授权凭证失败", e);
// }
// }
// return wat;
// }
//
// /**
// * 获取关注者列表
// *
// * @param accessToken 调用接口凭证
// * @param nextOpenId 第一个拉取的openId,不填默认从头开始拉取
// * @return WeixinUserList
// */
// @SuppressWarnings({"unchecked", "deprecation"})
// public static WeixinUserList getUserList(String accessToken,
// String nextOpenId) {
// WeixinUserList weixinUserList = new WeixinUserList();
//
// if (null == nextOpenId)
// nextOpenId = "";
//
// // 拼接请求地址
// String requestUrl = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID";
// requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken).replace(
// "NEXT_OPENID", nextOpenId);
// // 获取关注者列表
// JSONObject jsonObject = CommonUtil
// .httpsRequest(requestUrl, "GET", null);
// // 如果请求成功
// if (null != jsonObject) {
// weixinUserList.setTotal(jsonObject.getInt("total"));
// weixinUserList.setCount(jsonObject.getInt("count"));
// weixinUserList.setNextOpenId(jsonObject
// .getString("next_openid"));
// JSONObject dataObject = (JSONObject) jsonObject.get("data");
// weixinUserList.setOpenIdList(JSONArray.toList(
// dataObject.getJSONArray("openid"), List.class));
//
// }
// return weixinUserList;
// }
//
//}
<?xml version="1.0" encoding="UTF-8"?>
<package_name name="com.puhui.api.zy">
<class_name name="support"></class_name>
<father_class_name name="ZY"></father_class_name>
<implements_name name="获取所支持银行列表"></implements_name>
<!-- 参数:name是参数名,标签内容是备注-->
<parameters>
<!--
<parameter name="openId">openId</parameter>
<parameter name="openId111">openId111</parameter>
<parameter name="productName">商品名称</parameter>
<parameter name="busiId">商户Id(更美)</parameter>
<parameter name="busiName">商户名称 </parameter>
<parameter name="productPrice">商户价格</parameter>
<parameter name="sqlRs">查询结果</parameter>
-->
</parameters>
<initialize_Disable>false</initialize_Disable>
<initializes>
<initialize name="insert">"insert into huimai.bestbuy_sub_busi (busi_id,sub_busi_name,busi_id_third,create_time) "+ "values('999','" + thirdBusi.get("busiName") + "','" + thirdBusi.get("busiId") + "', NOW())"</initialize>
<initialize name="delelt"></initialize>
<initialize name="update"></initialize>
<initialize name="select" value="sqlRs">"selecrt * from word"</initialize>
</initializes>
<handleInput_Disable>false</handleInput_Disable>
<handleInput_replaces>
<handleInput_replace name="openId" type="code" >data_ext.get("openId").toString()</handleInput_replace>
<handleInput_replace name="busiId" type="code" >thirdBusi.get("busiId")</handleInput_replace>
<handleInput_replace name="busiName" type="code" >thirdBusi.get("busiName")</handleInput_replace>
</handleInput_replaces>
<handleInputs_Verifications>
<handleInputs_Verification name="productName"></handleInputs_Verification>
<handleInputs_Verification name="productPrice"></handleInputs_Verification>
</handleInputs_Verifications>
<SendRequest_Disable>true</SendRequest_Disable>
<SendRequest name="Get"></SendRequest>
<handleOutput_Disable>false</handleOutput_Disable>
<handleOutput_saves>
<handleOutput_save name="productId">
<handleOutput>prod_ids.add(productId);</handleOutput>
<handleOutput>data_ext.put("productId", productId);</handleOutput>
</handleOutput_save>
</handleOutput_saves>
<handleOutput_Table name="huimai.bestbuy_goods">"id=" + productId</handleOutput_Table>
</package_name>
<?xml version="1.0" encoding="UTF-8"?>
<package_name name="com.puhui.api.zy">
<class_name name="support"></class_name>
<father_class_name name="ZY"></father_class_name>
<implements_name name="获取所支持银行列表"></implements_name>
<!-- 参数:name是参数名,标签内容是备注-->
<parameters>
<!--
<parameter name="openId">openId</parameter>
<parameter name="openId111">openId111</parameter>
<parameter name="productName">商品名称</parameter>
<parameter name="busiId">商户Id(更美)</parameter>
<parameter name="busiName">商户名称 </parameter>
<parameter name="productPrice">商户价格</parameter>
<parameter name="sqlRs">查询结果</parameter>
-->
</parameters>
<initialize_Disable>false</initialize_Disable>
<initializes>
<initialize name="insert">"insert into huimai.bestbuy_sub_busi (busi_id,sub_busi_name,busi_id_third,create_time) "+ "values('999','" + thirdBusi.get("busiName") + "','" + thirdBusi.get("busiId") + "', NOW())"</initialize>
<initialize name="delelt"></initialize>
<initialize name="update"></initialize>
<initialize name="select" value="sqlRs">"selecrt * from word"</initialize>
</initializes>
<handleInput_Disable>false</handleInput_Disable>
<handleInput_replaces>
<handleInput_replace name="openId" type="code" >data_ext.get("openId").toString()</handleInput_replace>
<handleInput_replace name="busiId" type="code" >thirdBusi.get("busiId")</handleInput_replace>
<handleInput_replace name="busiName" type="code" >thirdBusi.get("busiName")</handleInput_replace>
</handleInput_replaces>
<handleInputs_Verifications>
<handleInputs_Verification name="productName"></handleInputs_Verification>
<handleInputs_Verification name="productPrice"></handleInputs_Verification>
</handleInputs_Verifications>
<SendRequest_Disable>true</SendRequest_Disable>
<SendRequest name="Get"></SendRequest>
<handleOutput_Disable>false</handleOutput_Disable>
<handleOutput_saves>
<handleOutput_save name="productId">
<handleOutput>prod_ids.add(productId);</handleOutput>
<handleOutput>data_ext.put("productId", productId);</handleOutput>
</handleOutput_save>
</handleOutput_saves>
<handleOutput_Table name="huimai.bestbuy_goods">"id=" + productId</handleOutput_Table>
</package_name>
<?xml version="1.0" encoding="UTF-8"?>
<package_name name="com.puhui.api.rgxs">
<class_name name="commitOrderApprove"></class_name>
<father_class_name name="GM"></father_class_name>
<implements_name name="订单模式,人工信审-结论"></implements_name>
<!-- 参数:name是参数名,标签内容是备注-->
<parameters>
<parameter name="Description">用例名称</parameter>
<parameter name="auditRecordId">人工信审工单处理记录表ID</parameter>
<parameter name="audit_result">人工信审结论</parameter>
<parameter name="engine_result">决策引擎结论</parameter>
</parameters>
<initialize_Disable>false</initialize_Disable>
<initializes>
<initialize name="insert">"insert into huimai.bestbuy_sub_busi (busi_id,sub_busi_name,busi_id_third,create_time) "+ "values('999','" + thirdBusi.get("busiName") + "','" + thirdBusi.get("busiId") + "', NOW())"</initialize>
<initialize name="delelt"></initialize>
<initialize name="update"></initialize>
<initialize name="select" value="sqlRs">"selecrt * from word"</initialize>
</initializes>
<handleInput_Disable>true</handleInput_Disable>
<handleInput_replaces>
<handleInput_replace name="auditRecordId" type="code" >thirdBusi.get("busiId")</handleInput_replace>
</handleInput_replaces>
<handleInputs_Verifications>
<handleInputs_Verification name="audit_result"></handleInputs_Verification>
<handleInputs_Verification name="engine_result"></handleInputs_Verification>
</handleInputs_Verifications>
<SendRequest_Disable>true</SendRequest_Disable>
<SendRequest name="Post"></SendRequest>
<handleOutput_Disable>true</handleOutput_Disable>
<handleOutput_saves>
<handleOutput_save name="productId">
<handleOutput>prod_ids.add(productId);</handleOutput>
<handleOutput>data_ext.put("productId", productId);</handleOutput>
</handleOutput_save>
</handleOutput_saves>
<handleOutput_Table name="huimai.bestbuy_goods">"id=" + productId</handleOutput_Table>
</package_name>
<?xml version="1.0" encoding="UTF-8"?>
<package_name name="com.puhui.api.rgxs">
<class_name name="commitOrderApprove"></class_name>
<father_class_name name="GM"></father_class_name>
<implements_name name="订单模式,人工信审-结论"></implements_name>
<!-- 参数:name是参数名,标签内容是备注-->
<parameters>
<parameter name="Description">用例名称</parameter>
<parameter name="auditRecordId">人工信审工单处理记录表ID</parameter>
<parameter name="audit_result">人工信审结论</parameter>
<parameter name="engine_result">决策引擎结论</parameter>
</parameters>
<initialize_Disable>false</initialize_Disable>
<initializes>
<initialize name="insert">"insert into huimai.bestbuy_sub_busi (busi_id,sub_busi_name,busi_id_third,create_time) "+ "values('999','" + thirdBusi.get("busiName") + "','" + thirdBusi.get("busiId") + "', NOW())"</initialize>
<initialize name="delelt"></initialize>
<initialize name="update"></initialize>
<initialize name="select" value="sqlRs">"selecrt * from word"</initialize>
</initializes>
<handleInput_Disable>true</handleInput_Disable>
<handleInput_replaces>
<handleInput_replace name="auditRecordId" type="code" >thirdBusi.get("busiId")</handleInput_replace>
</handleInput_replaces>
<handleInputs_Verifications>
<handleInputs_Verification name="audit_result"></handleInputs_Verification>
<handleInputs_Verification name="engine_result"></handleInputs_Verification>
</handleInputs_Verifications>
<SendRequest_Disable>true</SendRequest_Disable>
<SendRequest name="Post"></SendRequest>
<handleOutput_Disable>true</handleOutput_Disable>
<handleOutput_saves>
<handleOutput_save name="productId">
<handleOutput>prod_ids.add(productId);</handleOutput>
<handleOutput>data_ext.put("productId", productId);</handleOutput>
</handleOutput_save>
</handleOutput_saves>
<handleOutput_Table name="huimai.bestbuy_goods">"id=" + productId</handleOutput_Table>
</package_name>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment