0

私は機械加工されたRDでSelenium stanalone 3 beta4.jar + FireFox48 + Geckodriverを使用しようとしていますが、以下は私が観察している問題です:

i) アプリケーションの証明書セキュリティ エラーをバイパスまたは無視することができません。以下は、使用しているコードです。

ii)そして、ユーザー入力に基づいてカスタムまたはデフォルトのfirefoxプロファイルを呼び出したいのですが、これも機能しません Jenkins(Linuxマシン)から自動化スイートをトリガーすると、スイートをトリガーするたびにコードから渡すデフォルト値またはカスタム値を呼び出すのではなく、新しい FireFox プロファイル。ただし、Windows マシンにインストールされている Eclipse から同じテスト スイートを呼び出すと、コードごとに firefox プロファイルの値が取得されます。

注: リモート デスクトップを使用してテスト スイートを実行しています。つまり、アプリケーションは RD で呼び出され、すべての実行は、Jenkins (Linux マシン) から実行したい呼び出し部分のみで行われます。

以下は私が使用しているコードの一部です:

if(browser.contains("FIREFOX") || browser.equalsIgnoreCase("firefox") || browser.contains("mozilla"))
   {
        FirefoxProfile profile = new FirefoxProfile();
        ProfilesIni allProfiles = new ProfilesIni();
        capability = DesiredCapabilities.firefox();
        capability.setCapability("marionette", true);



        /* If Profile value is passed i.e. Selenium_Default profile is not going to be used, user wants to use some custom profile*/                        
        if(!browserProfile.equalsIgnoreCase("SELENIUM_DEFAULT") || !browserProfile.equalsIgnoreCase("default"))
        {                       
            profile = allProfiles.getProfile(browserProfile);
            logger.debug("Profile passed : " + profile);
            capability.setCapability(FirefoxDriver.PROFILE, profile);


        }
        else
        {
                /*Handling case for default profile*/
                profile = allProfiles.getProfile("default");
                logger.debug("Profile passed : " + profile);
                capability.setCapability(FirefoxDriver.PROFILE, profile);

        }
        logger.debug("Profile :" + profile);
        profile.setAcceptUntrustedCertificates(true);
        profile.setAssumeUntrustedCertificateIssuer(false);                 
    }
browserDriver = new RemoteWebDriver(new URL(nodeAddress), capability);
browserDriver.manage().timeouts().pageLoadTimeout(1000, TimeUnit.SECONDS);          
browserDriver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS);
browserDriver.manage().window().maximize();
browserDriver.get(applicationUrl);

logger.info("WebDriver successfully defined with Session ID:" +  browserDriver.getSessionId() + ", Page Title:" + browserDriver.getTitle() + " and URL: " + browserDriver.getCurrentUrl());
4

1 に答える 1

1

以前に同じ問題に直面しました。私の場合、URL の読み込みにも失敗しました。フォーラムによると、Firefox と Selenium Webdriver のバグです。後で次の手順を試しました

  1. 私のマシンにインストールされたダウンロードされた geckodriver

  2. コード内で次の基本環境を構成しました

    パブリック クラス BaseConfiguration {

       public void initEnvironment(){
    String marionetteDriverLocation =  "D:\\geckodriver\\wires.exe";
    System.setProperty("webdriver.gecko.driver", marionetteDriverLocation);     
     }
    public WebDriver loadDriver(String url)
    {
    WebDriver driver = new MarionetteDriver();      
    driver.manage().window().maximize();
    driver.get(url);
    return driver;}
    
于 2016-10-10T09:23:27.197 に答える