如何将文本添加到我从csv中获取的网站中的特定字段

时间:2015-06-04 10:04:28

标签: csv selenium selenium-webdriver selenium-ide selenium-chromedriver

很抱歉,如果标题不清楚,我很难写一个简短的标题来解释这个,所以这就是我需要的。

我有一个网站,在这个网站上有一个表格,希望用我所拥有的csv的内容填写其字段。

所以我们假设有一个带标题的csv:

id    name   age

3    john    35

在我的网站上我有一个表格:

person:

id _____

name _____

age _____

所以现在我想自动用selenium填充这个表单并让selenium从csv获取数据....我该怎么做?

3 个答案:

答案 0 :(得分:0)

有一个名为sendKeys()的方法,使用该方法填充表单。

例如:

driver.findElement(xpath_for_id).sendKeys("3");
driver.findElement(xpath_for_name).sendKeys("John");
driver.findElement(xpath_for_age).sendKeys("35");

答案 1 :(得分:0)

就我而言,我使用自制函数返回一个对象数组

public static Object[][] getCsvData(String testDataFilePath){
...

}

这将在DataProvider中使用

   @DataProvider(name = "dataSet")
   public Object[][] provideData() throws IOException {
      return getCsvData("testdata/xxx.csv");
   }

使用这样来测试多种组合 csv的每一行都是一个集合(id,name,age)

   @Test(dataProvider = "dataSet")
   public void testForm(String id, String name, String age) {

    driver.findElement(By.xpath("yourXpath")).sendKeys(id);
    driver.findElement(By.xpath("yourXpath")).sendKeys(name);
    driver.findElement(By.xpath("yourXpath")).sendKeys(age);

   }

答案 2 :(得分:0)

试试这个:

public class CSVReaderUtil {

    public static void main(String[] args) throws FileNotFoundException {

        CSVReader csvRead = new CSVReader(new FileReader("F:\\csvfiledata.csv"));
        String[] row = null;

        try {
            while((data = csvRead.readNext()) != null){
            driver.findElement(By.id("id")).sendKeys(data[0]);
            driver.findElement(By.id("name")).sendKeys(data[1]);
            driver.findElement(By.id("age")).sendKeys(data[2]);
            }
        }catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

csv file contents:
3,john,35
2,jeb,40