首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Selenium中使用forr循环添加多条记录

在Selenium中使用forr循环添加多条记录
EN

Stack Overflow用户
提问于 2016-12-09 04:58:01
回答 2查看 1.5K关注 0票数 0

我正在为我的学生管理系统编写一个selenium测试脚本。我有一个情况,我需要输入值,并单击相同的按钮15次。因此,我在场景中使用了for循环。

这是我需要测试的屏幕。

因此,我需要添加两个值来标记范围文本框,并从下拉列表中选择年级,然后单击add按钮。我需要这样做15次。

以下是我需要输入的值

这是下拉列表。

我尝试过这样的场景。

代码语言:javascript
复制
for(int x=95; x<=11; x=x-6){

            driver.findElement(By.xpath("//input[@type='number']")).sendKeys(""+x);

            for(int y=100; y<=16; y=y-6){

                driver.findElement(By.xpath("(//input[@type='number'])[2]")).sendKeys(""+y);

                for(int z=1; z<=15; z++){

                    Select mark2 = new Select(driver.findElement(By.xpath("//select[@id='gradeSelector']")));
                    mark2.selectByValue(""+z);
                    driver.findElement(By.xpath("//input[@value='Add']")).click();
                }
            }
        }

但是什么都没发生。

提前谢谢。:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-09 05:57:49

尝试以下几个方面:

代码语言:javascript
复制
    int x=95, y=100;
    for(int z=1; z <=15; z++){

        driver.findElement(By.xpath("//input[@type='number']")).sendKeys(""+x);
        driver.findElement(By.xpath("(//input[@type='number'])[2]")).sendKeys(""+y);
        Select mark2 = new Select(driver.findElement(By.xpath("//select[@id='gradeSelector']")));
        //mark2.selectByValue(""+z);
        mark2.selectByIndex(z);
        driver.findElement(By.xpath("//input[@value='Add']")).click();

        x=x-6;
        y=y-6;
    }
票数 1
EN

Stack Overflow用户

发布于 2016-12-09 05:08:09

它只是for循环逻辑不正确- x<=11条件从不计算为true,替换:

代码语言:javascript
复制
for(int x=95; x<=11; x=x-6) {

通过以下方式:

代码语言:javascript
复制
for(int x=95; x>=11; x=x-6) {
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41053382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档