2016-11-29 4 views
0

私は自動テストにSeleniumの使用に慣れようとしています。これまでは、このテストケースのすべての面を正常に完了しましたが、アラートが存在するかどうかを確認する最後のステップ(トランザクション確認を受け取る)を除いてエラー:ドライバを可変セレンのjava eclipseに解決できません

この関数を実行するためにブール値を使用しようとしましたが、この同じエラー:ドライバは変数に解決できません。

提案がありますか?

package com.scotia.test;  

import org.openqa.selenium.Alert; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.Select; 
import org.openqa.selenium.support.ui.WebDriverWait; 

public class ScotiaTest1 { 

    public static void main(String[] args) throws InterruptedException { 
     System.setProperty("webdriver.chrome.driver","/Users/theone/Downloads/chromedriver-new");   

     // Create a new instance of the Chrome driver 
     WebDriver driver = new ChromeDriver();      

     //Login using Username and Password 
     driver.get("https://LEAP:[email protected]/LEAP_Prototype/desktop/html/Chile_index.html#"); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Find Proximity Serie A link and click on it 
     driver.findElement(By.cssSelector("#investing_tab tr:nth-child(7) a.acct-name")).click(); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Find New Funds Button and click on it 
     driver.findElement(By.cssSelector(".pad-top-10.txt-right .btn.action-btn")).click(); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Select Field Rescue investment and choose Rescue 
     Select dropdown = new Select(driver.findElement(By.id("mf_action"))); 
     dropdown.selectByVisibleText("Inversión"); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Select Field Current account and choose current account 
     dropdown = new Select(driver.findElement(By.id("selaccount_drpdown"))); 
     dropdown.selectByVisibleText("Cuenta Corriente *** 0002 USD 10.000,00"); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Select Field Fund Type and choose medium term 
     dropdown = new Select(driver.findElement(By.id("term"))); 
     dropdown.selectByVisibleText("Mediano Plazo"); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Select Field Mutual Fund Name and choose Proximity Series A 
     dropdown = new Select(driver.findElement(By.id("typefund"))); 
     dropdown.selectByVisibleText("Proximidad Serie A"); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Select Field Fund account Name and choose 001 
     dropdown = new Select(driver.findElement(By.id("sub_accnt"))); 
     dropdown.selectByVisibleText("001"); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Select Field Rode and type 222 
     driver.findElement(By.id("amount_field")).sendKeys("222"); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Find to Accept Button and click on it 
     driver.findElement(By.id("next")).click(); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     //Find to Confirm Button and click on it 
     driver.findElement(By.id("next")).click(); 

     //Wait for 5 Sec 
     Thread.sleep(2000); 

     // Print a Log In message to the screen 

     //Wait for 5 Sec 
     Thread.sleep(2000); 
    }  

    public boolean isAlertPresent(){ 
     try{ 
      Alert a = new WebDriverWait(driver, 10).until(ExpectedConditions.alertIsPresent()); 
      if(a!=null){ 
       System.out.println("Alert is present"); 
       driver.switchTo().alert().accept(); 
       return true; 
      }else{ 
       throw new Throwable(); 
      } 
     } 
     catch (Throwable e) { 
      System.err.println("Alert isn't present!!"); 
      return false; 
     } 

     //Wait for 5 Sec 
     Thread.sleep(2000);   
    } 

} 

答えて

1

これは実際のコードですか?それはisAlertPresent()が呼び出されていない、そこにドライバを使用していますが、クラスのフィールドではありません(これにより、「エラー:ドライバは変数に解決できません」)
それを実行可能にするように修正した(isAlertPresent()main()に入れたもの)。最後に緑色の "警告"が表示された。あなたはそれを意味しましたか?はい、それは警告ではない場合は、それだけのdivですので、これに代えて:

Alert a = new WebDriverWait(driver, 10).until(ExpectedConditions.alertIsPresent()); 

書き込み、このような何か:

WebElement div = new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.className("success-msg"))); 

そうでない場合は、とあなたの質問を編集してくださいあなたが意味するように警告する。 enter image description here

関連する問題