我正在为我的学生管理系统编写一个selenium测试脚本。我有一种情况,我需要输入值并单击相同的按钮15次。所以,我在场景中使用了for循环。
这是我需要测试的屏幕。
所以,我需要添加两个值来标记范围文本框,并从下拉列表中选择成绩并单击添加按钮。我需要做15次这种情况。
以下是我需要输入的值
这是下拉列表。
我尝试了以下方案。
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();
}
}
}
但是,没有任何反应。
提前致谢。 :)
答案 0 :(得分:1)
只是for循环逻辑不正确 - x<=11
条件永远不会计算为true,替换:
for(int x=95; x<=11; x=x-6) {
使用:
for(int x=95; x>=11; x=x-6) {
答案 1 :(得分:1)
请尝试以下操作:
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;
}