2016-12-09 62 views
0

我正在爲我的學生管理系統編寫一個硒測試腳本。我有一種情況,我需要輸入值並單擊相同的按鈕15次。所以,我爲該場景使用了for循環。在Selenium中使用forr循環添加多條記錄

這是我需要測試的屏幕。

mark

所以,我需要添加兩個值標記範圍的文本框,並從下拉列表中選擇等級,然後單擊添加按鈕。我需要做這個場景15次。

這裏有我需要輸入

data

的值下面是下拉列表中。

grades

我嘗試以下場景此。

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

嘗試以下操作:

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; 
    } 
+0

不起作用。兩個文本字段中的95和100類型並且測試失敗。 :) –

+0

請分享失敗的異常追蹤? – Mahipal

+0

在這種特定情況下,您還可以使用'selectByIndex'方法而不是'selectByValue',如上面修改的代碼所示。請嘗試修改後的代碼,並讓我知道代碼是否按您的期望工作。 – Mahipal

0

這只是for循環的邏輯是不正確的 - x<=11條件從未值爲true,替換:

for(int x=95; x<=11; x=x-6) { 

有:

for(int x=95; x>=11; x=x-6) { 
+0

我認爲我的內在循環在某種程度上是錯誤的。它只是在第一個文本框中打印'958983777165595347413529231711' –