循环填充数据条目 - Selenium WebDriver

时间:2015-10-01 12:29:29

标签: java for-loop selenium-webdriver while-loop automated-tests

如何制作循环来扫描矩阵并逐一从中提取数据并填写条目?

图像说明了问题......我需要花费几次方法并从中获取数据并填写条目并遵循正常流程的自动化。

我可以填写数据录入方法:

driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[17]/td/input[1]")).sendKeys(offers());

我点击过滤数据以填充TextArea:

driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[17]/td/input[2]")).click();

在textArea中选择填充的数据:

Select selecionapermanenciamulta = new Select(driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[19]/td/table/tbody/tr/td[1]/select")));
        selecionapermanenciamulta.selectByIndex(0);

我点击箭头将他带到另一边:

driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[19]/td/table/tbody/tr/td[2]/input[1]")).click();

loop

1 个答案:

答案 0 :(得分:0)

为了让它循环你列出的动作,你可以使用for循环,如下所示:

    int numOfTimesToLoop = 5;

    for (int i = 0; i < numOfTimesToLoop; i++) {
        driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[17]/td/input[1]")).sendKeys(offers());
        driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[17]/td/input[2]")).click();

        Select selecionapermanenciamulta = new Select(driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[19]/td/table/tbody/tr/td[1]/select")));
        selecionapermanenciamulta.selectByIndex(0);

        driver.findElement(By.xpath("/html/body/center/table/tbody/tr[2]/td[2]/form/table[3]/tbody/tr[19]/td/table/tbody/tr/td[2]/input[1]")).click();
    }
例如,那将循环5次。对于这种循环,您需要知道需要循环它的次数。

或者,您可以使用while循环来循环,直到满足某些条件:

while (someConditionNotYetMet) {
    //all those webdriver actions
}