????綽??400-035-7887/021-6072 5088
                    ??? ???????? ????????? ???????
                    SPASVO????
                    • ????
                    • ?????????
                      TestOne??????????????? ATF?????????????? AutoRunner???????????? MobileRunner???????????????
                    • ???????
                    • ???????
                      PerformanceRunner (??????????) web pr(???????????) APM (?????????)
                    • RPA??????
                    • ?з?????
                      ALM???з????????? ???????CA
                    • ?????????
                      ????????? ??????? Alltesting?????
                    • ???????
                    • ????????
                      ??????????? ??????????
                    • ??????

                      ???????

                      PerformanceRunner ?????????????? APM????????????? web-PR?????????????????

                      RPA??????

                      AutoRunner Process ????????????

                      ?????????

                      TestOne??????????????? ATF?????????????? AutoRunner???????????????? MobileRunner??????????????? AR365????????????

                      ???????

                      ALM+TestCenter?????????????????? ProjectCenter?????????????? TestCenter?????????????? RequisiteCenter?????????? CodeAnalyzer??????????? ????TCE??bug????????

                      ??????

                      PerformanceRunner?????????????? ALM+TestCenter?????????????????? ATF?????????????? AutoRunner???????????????? CodeAnalyzer???????????

                      ???????

                      ???????????????? ?????????? ???????????? ?????????? SPASVO?????????
                    • ???????
                    • ???????

                      ????

                      ???? ??????????????? ??????м?????????????? ????????????? ??????????????????????????? ?з?????????????? ????????????? ????????????????? ?????????????????????????? ????????????? ??????????? ??????????????? ?з?????????????? ????????????? ?????????????????????????? ???APP??????????????? ???????????????? ???? ??????????????? ????????????? ?з?????????????? ???? ??????????????? ?????????????

                      ?о????

                      ????????????? ?????????????? ????????????? ??????????????? APM???????/???·????????? ?з?????????????? ?????????????

                      ???

                      ??????????????????? ????????????? ????????????? ?????????? app??????????????? ????????????? ??????????????? APM???????/???·????????? ?з?????????????? ?????????????

                      ??????

                      ??????????????跽?? ????????????? ???????γ???? ????????????? ??????????????? ??????????????? ????????????跽?? RPA?????????????跽?? ??????????????跽?? ??У??????????????? ??У????????????????????? ???????????μ????跽?? ?????? ???????? ????????

                      ??????

                      ?????????????? ?????????????? ?????????????

                      ????

                      ????????/???? ?????????????? ???????? ??????λ/?????? ????????????? ??????????????? ???????????????? ??????app??h5??С??????????????????? ?з?????????????? ?????????????
                    • ???????
                    • PerformanceRunner (??????????) APM (?????????)
                    • ?????????
                    • TestOne??????????????? ATF?????????????? AutoRunner???????????? MobileRunner???????????????
                    • ?з?????
                    • ALM???з????????? TestCenter??????????????
                    • RPA??????
                    • ???????CA
                    • ?????
                    • ???????
                    • PerformanceRunner ?????????????? APM????????????? web-PR?????????????????
                    • RPA??????
                    • AutoRunner Process ????????????
                    • ?????????
                    • TestOne??????????????? ATF?????????????? AutoRunner???????????????? MobileRunner??????????????? AR365????????????
                    • ???????
                    • ALM+TestCenter?????????????????? ProjectCenter?????????????? TestCenter?????????????? RequisiteCenter?????????? CodeAnalyzer??????????? ????TCE??bug????????
                    • ??????
                    • PerformanceRunner?????????????? ALM+TestCenter?????????????????? ATF?????????????? AutoRunner???????????????? CodeAnalyzer???????????
                    • ???????
                    • ???????????????? ?????????? ???????????? ?????????? SPASVO?????????
                    • ???????
                    • ???
                    • ???? ?о???? ??? ?????? ?????? ????
                    • ????????
                    ????λ?????????? >> ?????????? >> ???????

                    ???DBUnit?????????

                    ???????????? ???????[ 2013/11/22 16:01:07 ] ????????

                    import java.io.FileNotFoundException;
                    import java.io.FileOutputStream;
                    import java.io.IOException;
                    import java.io.InputStream;
                    import java.sql.Connection;
                    import java.sql.SQLException;
                    import java.sql.Statement;
                    import java.util.ArrayList;
                    import java.util.List;
                    import java.util.Map;
                    import java.util.Properties;
                    import java.util.TreeMap;
                    import junit.framework.Assert;
                    import org.dbunit.Assertion;
                    import org.dbunit.DatabaseUnitException;
                    import org.dbunit.IDatabaseTester;
                    import org.dbunit.JdbcDatabaseTester;
                    import org.dbunit.database.DatabaseConnection;
                    import org.dbunit.database.IDatabaseConnection;
                    import org.dbunit.database.QueryDataSet;
                    import org.dbunit.dataset.Column;
                    import org.dbunit.dataset.IDataSet;
                    import org.dbunit.dataset.ITable;
                    import org.dbunit.dataset.ReplacementDataSet;
                    import org.dbunit.dataset.filter.DefaultColumnFilter;
                    import org.dbunit.dataset.xml.FlatXmlDataSet;
                    import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
                    import org.junit.runner.RunWith;
                    import org.springframework.test.context.ContextConfiguration;
                    import org.springframework.test.context.TestExecutionListeners;
                    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
                    import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
                    import org.springframework.transaction.annotation.Transactional;
                    @RunWith(SpringJUnit4ClassRunner.class)
                    @ContextConfiguration(locations = { "classpath:/spring.xml" })
                    @TestExecutionListeners({ DependencyInjectionTestExecutionListener.class })
                    @Transactional
                    public abstract class BasedTestCase {
                    protected static Properties properties = new Properties();
                    static {
                    try {
                    /**
                    * The DatabaseConfig.properties stores the database configuration information. It's like this: <br>
                    * driverClass=oracle.jdbc.OracleDriver<br>
                    * db_inst=jdbc:oracle:thin:@1.1.1.1:1521:schema<br>
                    * db_user=username<br>
                    * db_pwd=password<br>
                    */
                    properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("DatabaseConfig.properties"));
                    } catch (IOException e) {
                    e.printStackTrace();
                    }
                    }
                    /**
                    * This abstract is used for prepare data before do the real method call.
                    *
                    * @param iconn
                    * @throws Exception
                    */
                    protected abstract void prepareData(IDatabaseConnection iconn) throws Exception;
                    /**
                    * Execute one sql
                    *
                    * @param iconn
                    * @param sql
                    * @throws Exception
                    */
                    protected void execSql(IDatabaseConnection iconn?? String sql) throws Exception {
                    Connection con = iconn.getConnection();
                    Statement stmt = con.createStatement();
                    try {
                    stmt.execute(sql);
                    } finally {
                    if (stmt != null) {
                    stmt.close();
                    }
                    }
                    }
                    /**
                    * Get IDatabaseConnection connection
                    *
                    * @return
                    * @throws Exception
                    */
                    protected IDatabaseConnection getIDatabaseConnection() throws Exception {
                    String db_inst = ""?? db_user = ""?? db_pwd = ""?? driverClass = "";
                    //The default is commit the record
                    db_user = properties.getProperty("db_user");
                    db_inst = properties.getProperty("db_inst");
                    db_pwd = properties.getProperty("db_pwd");
                    driverClass = properties.getProperty("driverClass");
                    IDatabaseConnection iconn = null;
                    IDatabaseTester databaseTester;
                    databaseTester = new JdbcDatabaseTester(driverClass?? db_inst?? db_user?? db_pwd);
                    iconn = databaseTester.getConnection();
                    return iconn;
                    }
                    /**
                    * This is used to assert the data from table and the expected data set. If all of the them has the same records?? then the assert is true.
                    *
                    * @param tableName
                    * @param sql
                    * @param expectedDataSet
                    * @param iconn
                    * @throws Exception
                    */
                    protected void assertDataSet(String tableName?? String sql?? IDataSet expectedDataSet?? IDatabaseConnection iconn) throws Exception {
                    printDataAsXml(iconn?? tableName?? sql);
                    QueryDataSet loadedDataSet = new QueryDataSet(iconn);
                    loadedDataSet.addTable(tableName?? sql);
                    ITable table1 = loadedDataSet.getTable(tableName);
                    ITable table2 = expectedDataSet.getTable(tableName);
                    Assert.assertEquals(table2.getRowCount()?? table1.getRowCount());
                    DefaultColumnFilter.includedColumnsTable(table1?? table2.getTableMetaData().getColumns());
                    Assertion.assertEquals(table2?? table1);
                    }
                    /**
                    * Create the data set by input stream which read from the dbunit xml data file.
                    *
                    * @param is
                    * @return
                    * @throws Exception
                    */
                    protected ReplacementDataSet createDataSet(InputStream is) throws Exception {
                    return new ReplacementDataSet(new FlatXmlDataSetBuilder().build(is));
                    }
                    /**
                    * Convert the data in the ITable to List
                    *
                    * @param table
                    * @return
                    * @throws Exception
                    */
                    private List<Map<??? ?>> getDataFromTable(ITable table) throws Exception {
                    List<Map<??? ?>> ret = new ArrayList<Map<??? ?>>();
                    int count_table = table.getRowCount();
                    if (count_table > 0) {
                    Column[] columns = table.getTableMetaData().getColumns();
                    for (int i = 0; i < count_table; i++) {
                    Map<String?? Object> map = new TreeMap<String?? Object>();
                    for (Column column : columns) {
                    map.put(column.getColumnName().toUpperCase()?? table.getValue(i?? column.getColumnName()));
                    }
                    ret.add(map);
                    }
                    }
                    return ret;
                    }
                    /**
                    * Get data by the SQL and table name?? then convert the data in the ITable to List
                    *
                    * @param iconn
                    * @param tableName
                    * @param sql
                    * @return
                    * @throws Exception
                    */
                    protected List<Map<??? ?>> getTableDataFromSql(IDatabaseConnection iconn?? String tableName?? String sql) throws Exception {
                    ITable table = iconn.createQueryTable(tableName?? sql);
                    return getDataFromTable(table);
                    }
                    /**
                    * Get data by the SQL and table name?? then convert the data in the ITable to List. And the print the data as xml data format.
                    *
                    * @param iconn
                    * @param tableName
                    * @param sql
                    * @throws Exception
                    */
                    protected void printDataAsXml(IDatabaseConnection iconn?? String tableName?? String sql) throws Exception {
                    List<Map<??? ?>> datas = getTableDataFromSql(iconn?? tableName?? sql);
                    StringBuffer sb;
                    for (Map<??? ?> data : datas) {
                    sb = new StringBuffer();
                    sb.append("<" + tableName.toUpperCase() + " ");
                    for (Object o : data.keySet()) {
                    sb.append(o + "="" + data.get(o) + "" ");
                    }
                    sb.append("/>");
                    System.out.println(sb.toString());
                    }
                    }
                    /**
                    * Export data for the table names by the given Connection into the resultFile.<br>
                    * The export data will be DBUnit format.
                    *
                    * @param conn
                    * @param tableNameList
                    * @param resultFile
                    * @throws SQLException
                    * @throws DatabaseUnitException
                    * @throws FileNotFoundException
                    * @throws IOException
                    */
                    public void exportData(Connection conn?? List<String> tableNameList?? String resultFile) throws SQLException?? DatabaseUnitException?? FileNotFoundException?? IOException {
                    if (conn == null) {
                    return;
                    }
                    IDatabaseConnection iconn = new DatabaseConnection(conn);
                    exportData(iconn?? tableNameList?? resultFile);
                    }
                    /**
                    * Export data for the table names by the given IDatabaseConnection into the resultFile.<br>
                    * The export data will be DBUnit format.
                    *
                    * @param conn
                    * @param tableNameList
                    * @param resultFile
                    * @throws SQLException
                    * @throws DatabaseUnitException
                    * @throws FileNotFoundException
                    * @throws IOException
                    */
                    public void exportData(IDatabaseConnection iconn?? List<String> tableNameList?? String resultFile) throws SQLException?? DatabaseUnitException?? FileNotFoundException?? IOException {
                    QueryDataSet dataSet = null;
                    if (iconn == null) {
                    return;
                    }
                    if (tableNameList == null || tableNameList.size() == 0) {
                    return;
                    }
                    try {
                    dataSet = new QueryDataSet(iconn);
                    for (String tableName : tableNameList) {
                    dataSet.addTable(tableName);
                    }
                    } finally {
                    if (dataSet != null) {
                    FlatXmlDataSet.write(dataSet?? new FileOutputStream(resultFile));
                    }
                    }
                    }
                    }
                    ????1234????
                    ???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????

                    ??????

                    iOS???????mocha??chai??sinon??istanbul???????????????????????????????????????д?????Java????????7??????Android?????????Robolectric3.0????(?)???Kiwi?????????????????????????????????Python?????????????????????????????????????Controller????????д?????????10???????????????????Angular????????????Component??Directive??Pipe ???ServiceAndroid????????????????????????????????--Mockito??????iOS UnitTest???????Vue?????????????????

                    ?????

                    ???????????????

                    ???????????????

                    ????????????

                    ????????????

                    ?????????????????

                    ?????????????????

                    ??????????

                    ??????????

                    ????????????

                    ????????????

                    ????з????????????

                    ????з????????????

                    ATF??????????????

                    ATF??????????????

                    ??????????

                    ??????????

                    ??????????

                    ??????????

                    ??????????

                    ??????????

                    ???·???

                    ??????????????????

                    2023/3/23 14:23:39

                    ???д?ò??????????

                    2023/3/22 16:17:39

                    ????????????????????Щ??

                    2022/6/14 16:14:27

                    ??????????????????????????

                    2021/10/18 15:37:44

                    ???????????????

                    2021/9/17 15:19:29

                    ???·???????·

                    2021/9/14 15:42:25

                    ?????????????

                    2021/5/28 17:25:47

                    ??????APP??????????

                    2021/5/8 17:01:11

                    ????????

                    ?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????

                    ??????

                    APP??????? selenium ??????????? ??????? RPA??????? app????????? ??????????

                    ????綽

                    021-6072 5088-8054

                    ?????????? 31010702002953??

                    ??ICP??07036474?? 2003-2020 ??????? ??????????????????? Shanghai ZeZhong Software Co.,Ltd.

                    ?????????????

                    ??????????/????????? ?????????? ????????????/?????????? ???????????????/App??????? ALM??????????? ??????????/?????????? Selenium??????????? RPA???????????????

                    ?????????

                    ??????? RPA??????? ??????????????????? ????????????????? ???????????? ??????????????????? ???????????????????? ????????????? ????????????? ????????????? ?????????????? ??????????????? ????????????????????? ???????????????? ??????????????????? ?????????????

                    ???????

                    ???????:021-6072 5088-8054

                    ???????:021-6072 5088-8006

                    sales@spasvo.com

                    ??ICP??07036474?? 2003-2022 ??????? ??????????????????? Shanghai ZeZhong Software Co.,Ltd.
                    ????
                    ???

                    ???????
                    ??????????????

                    ????????????
                    ????
                    ????
                    ????
                    ????

                    感谢您访问我们的网站,您可能还对以下资源感兴趣:

                    欧美、另类亚洲日本一区二区