2016-12-09 13 views
0

学生管理システム用のセレンテストスクリプトを作成しています。私は値を入力して同じボタンを15回クリックする必要がある状況があります。だから、私はシナリオのforループを使用しました。セレンのforrループを使用して複数のレコードを追加する

これは私がテストする必要がある画面です。

mark

だから、は、私は、範囲のテキストボックスをマークするために2つの値を追加して、ドロップダウンリストからグレードを選択し、ボタンを追加]をクリックする必要があります。私はこのシナリオを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

Not working。 2つのテキストフィールドに95と100のタイプがあり、テストは失敗します。 :) –

+0

失敗のために例外トレースを共有できますか? – Mahipal

+0

この特定のシナリオでは、上記の変更されたコードに示すように、 'selectByValue'の代わりに 'selectByIndex'メソッドを使用することもできます。変更されたコードを試して、あなたの期待通りにコードが動作するかどうかを教えてください。 – Mahipal

0

それはちょうどループロジックのですが正しくありません - x<=11条件がtrueと評価されたことがない、置き換える:

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

と:

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

今私の内側のループは何とか間違っていると思います。最初のテキストボックスに '958983777165595347413529231711'と表示されているだけです –

関連する問題