1

我在 java 中有一个 selenium webdriver 支持的代码,用于测试 Web 应用程序。我的代码如下:

package testcases;

import com.thoughtworks.selenium.Selenium;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import java.util.regex.Pattern;

public class Untitled {
private Selenium selenium;

@Before
public void setUp() throws Exception {
        WebDriver driver = new FirefoxDriver();
        String baseUrl = "http://www.himalayanpalmistry.com/";
        selenium = new WebDriverBackedSelenium(driver, baseUrl);
}

@Test
public void testUntitled() throws Exception {
        selenium.open("/mabiz/");
        selenium.select("id=register_type", "label=für Unternehmen");
        selenium.click("id=rgst");
        selenium.waitForPageToLoad("30000");
        selenium.type("id=username", "javatesting1");
        selenium.type("id=password", "12345678");
        selenium.type("id=confirm_password", "12345678");
        selenium.type("id=name", "java testing");
        selenium.type("id=position", "java testing");
        selenium.type("id=company", "java testing");
        selenium.type("id=address", "java testing");
        selenium.type("id=zipcode", "12345");
        selenium.type("id=city", "safdj");
        selenium.type("id=phone", "kfajs");
        selenium.type("id=email", "tsandesh23@hotmail.com");
        selenium.click("id=show_contact_info");
        selenium.click("id=product_select3");
        selenium.click("id=term_condition1");
        selenium.click("name=submit_one");
        selenium.waitForPageToLoad("30000");
}

@After
public void tearDown() throws Exception {
        selenium.stop();
}
}

我想修改此代码以读取 microsoft excel 数据并通过此代码进行许多测试。我的 excel 文件包含各种测试数据。提前谢谢!!

4

5 回答 5

1

您可以使用此 api 从 java 读取 excel 行:http: //jexcelapi.sourceforge.net/ 该教程很棒,可以在这里找到:http ://www.andykhan.com/jexcelapi/tutorial.html

另外,请注意将脚本中的用户名和密码发布到 stackoverflow ;)

于 2013-01-07T11:44:21.753 回答
0

您可以使用 Apache POI 访问 Excel http://poi.apache.org/spreadsheet/index.html

于 2013-01-07T05:53:47.650 回答
0

Java 中有许多 API 可用于从 Excel 读取数据。

  1. JExcelApi。
  2. 兴趣点

解决问题

将 Excel 保存为 CSV 文件(以防您不想使用任何外部 API)并将它们作为文本文件正常读取。但是使用逗号作为分隔符。

查看此链接以获取更多信息: How to read and write excel file in java

我希望这有帮助 :-)

于 2013-01-07T05:59:02.120 回答
0
   1.Read excel example


    InputStream stream = new FileInputStream(projectFile.getPath());
    ExcelWorkbookContainer container = new ExcelWorkbookContainer(stream);
    Iterator<ExcelRecord> recordIterator = container.getRecordIterator(0);
    //NO TITLE
    recordIterator.next();

    while(recordIterator.hasNext()) {
        ExcelRecord record = recordIterator.next();
         clusterObj.setBrand(record.getValue(ClusterColum.BRAND.getColumIndex()));
    }
    stream.close();

///// poi example

public class ExcelWorkbookContainer {

    private String filename;
    private XSSFWorkbook workbook;

    /**
     * @param filename
     * @throws FileNotFoundException, IOException
     */
    public ExcelWorkbookContainer(String filename)
            throws FileNotFoundException, IOException {
        this(new FileInputStream(filename));
        this.filename = filename;
    }

    /**
     * @param inputStream
     * @throws FileNotFoundException, IOException
     */
    public ExcelWorkbookContainer(InputStream inputStream)
            throws IOException {
        if (inputStream == null) {
            throw new NullPointerException("Input Stream is null");
        }

        workbook = new XSSFWorkbook(inputStream);
    }

    /**
     * Create a composite iterator on the excel records
     * 
     * @param sheetId the id of the sheet for data extraction
     * @return composite iterator on the excel records
     */
    public Iterator<ExcelRecord> getRecordIterator(int sheetId) {
        return new ExcelRecordIterator(workbook.getSheetAt(sheetId));
    }

    /**
     * Create a composite iterator on the excel records
     * 
     * @param sheetId the id of the sheet for data extraction
     * @return composite iterator on the excel records
     */
    public Iterator<ExcelRecord> getRecordIterator(int sheetId, String[] headers) {
        return new ExcelRecordIterator(workbook.getSheetAt(sheetId), headers);
    }

    public String getFilename() {
        return filename;
    }

    public XSSFWorkbook getWorkbook() {
        return workbook;
    }
}
于 2013-06-19T13:55:18.060 回答
0

为了读写 Excel,我创建了一个名为 POIRE 的开源库,其中包含许多用户友好的方法。

https://github.com/ssirekumar/POIRE

https://github.com/ssirekumar/POIRE/releases

波尔

它使用 POI 类使用 Java 处理 Microsoft Ms-office(Excel,Ms Word,PowerPoint) 文件。该 API 是在 POI 库之上开发的。它有许多处理 Ms-office 文件的方法(Excel、Ms Word、PowerPoint)。在 POI 中的 NPOIFSFileSystem 和 OPCPackage 类的帮助下,这些方法将适用于二进制文件(.xls、.doc、.ppt)和 XML(.xlsx、.docx、.pptx)。使用这些类,读取和写入文件会更快。

于 2015-02-03T13:28:23.080 回答