2

プロパティ ファイルに設定されたブラウザ名に基づいて、さまざまなブラウザでセレン テストを実行したいと考えています。
私は as という名前のメソッドを持っておりinitiateDriver()、Properties ファイルに設定されているブラウザー名 (有効な値は ff、chrome、または ie) を取得し、Web ドライバーの種類ごとに必要な設定を行います。このメソッドは WebDriver オブジェクトをメソッドに返します。

public WebDriver initiateDriver() 
{
    // Created webdriver instance
    WebDriver _drv = null;
    String IEDriverPath, ChromeDriverPath;

    try
    {
        //Get the Browser Name set in the properties file
        String browserType = loadPropertiesFile("BrowserName");
        Log4j.logger.warn("Browser name-----------"+browserType);

        //Test if the browser is IE
        if (browserType.equalsIgnoreCase("ie"))
        {
            //Currently, IEDriverServer.exe is copied on to Drivers folder of framework
            IEDriverPath= "\\Drivers\\IEDriverServer.exe";

            //Set the required properties to instantiate IE driver. Place any latest IEDriverServer.exe files under Drivers folder
            System.setProperty("webdriver.ie.driver", IEDriverPath);    
            DesiredCapabilities cap= new DesiredCapabilities();
            cap.setCapability("ignoreProtectedModeSettings", true);
            _drv = new InternetExplorerDriver(cap);

        }

        //Check if BrowserType is set to Firefox
        else if (browserType.equalsIgnoreCase("ff") || browserType.equalsIgnoreCase("firefox"))
        {

            //Getting the default Firefox with some settings
            FirefoxProfile fp = new FirefoxProfile();
                fp.setAcceptUntrustedCertificates(false);

                //setting the Firefox preference "auto upgrade browser"  to false and to prevent compatibility issues
                fp.setPreference("app.update.enabled", false); 
                _drv = new FirefoxDriver();

        }

        //Check if BrowserType is set to Chrome
        else if (browserType.equalsIgnoreCase("chrome"))
        {
            //Currently, chromedriver.exe is copied on to Drivers folder of framework
            ChromeDriverPath= "\\Drivers\\chromedriver.exe";

            //Set the required properties to instantiate Chrome driver. Place any latest Chromedriver.exe files under Drivers folder
            System.setProperty("webdriver.chrome.driver", ChromeDriverPath);
            ChromeOptions options = new ChromeOptions();
            options.addArguments("--start-maximized");
            _drv= new ChromeDriver(options);

        }
        else
        {
            Reporter.log("Invalid browser name. Please check the Resources/PropertiesLocation.properties file.");
            System.out.println("Invalid browser name. Please check the Resources/PropertiesLocation.properties file.");
            System.exit(0);
        }
    }
    catch(Exception e)
    {
        System.out.println(e.getMessage());
        Reporter.log("Enter valid browser name---");
        System.exit(0);
    }

    return _drv;
}` 

次のクラスでこのメソッドを呼び出しています。

public class SmokeTest1
{
WebDriver d;

@BeforeClass
public void setUp() throws Exception
{   
    d = gm.initiateDriver();

    d.manage().window().maximize();
    d.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}

@Test
public void firstSmokeTest() throws Exception
{
    loginTest(d);
}

}

ant build.xml ファイルを介してテストを実行しています。ただし、エラーが発生しています-

新しいセッションを開始できませんでした。考えられる原因は、リモート サーバーのアドレスが無効であるか、ブラウザの起動に失敗したことです。」

誰かが何がうまくいかないのか、または私が何か不足しているのかを提案できますか?

4

0 に答える 0