Selenium FF WebDriver 載入firebug 和設定代理

to be crazy發表於2014-09-27

首先這次使用的webDriver for Firefox的

由於專案的原因,需要在測試的時候載入Firebug和使用vpn,載入代理

Firefox 載入代理,可以從FF選單上看,代理分為好幾種

我這裡使用的是type 為2 的情況

FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("network.proxy.type", 2);
        profile.setPreference("network.proxy.autoconfig_url", "http://proxy.myweb.com:8083"); //自動代理配置
WebDriver driver = new FirefoxDriver(profile);

如果type 為1 ,需要這麼設定

FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("network.proxy.type", 1);
    
     
        profile.setPreference("network.proxy.http", "proxy.domain.example.com");
        profile.setPreference("network.proxy.http_port", 8080);
        profile.setPreference("network.proxy.ssl", "proxy.domain.example.com");
        profile.setPreference("network.proxy.ssl_port", 8080);
        profile.setPreference("network.proxy.ftp", "proxy.domain.example.com");
        profile.setPreference("network.proxy.ftp_port", 8080);
        profile.setPreference("network.proxy.socks", "proxy.domain.example.com");
        profile.setPreference("network.proxy.socks_port", 8080);
WebDriver driver = new FirefoxDriver(profile);

 

public class sfLogin {
    static String company="autoPM2CandU";
    static String user="athompson";
    static String password="pwd";

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        WindowsUtils.tryToKillByName("firefox.exe");
        WindowsUtils.getProgramFilesPath();
        WebDriver driver=DriverFactory.getFirefoxDriver();
        driver.get("https://qaautocand.successfactors.com/login");
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
        
        WebElement comp=driver.findElement(By.xpath("//*[@id='company']"));
        Actions actions =new Actions(driver);
        actions.sendKeys(Keys.F12).perform();//.keyUp(Keys.F12)
        WebElement username=driver.findElement(By.xpath("//*[@id='username']"));
        WebElement passwordHints=driver.findElement(By.xpath("//*[@id='passwordHints']"));
        
        passwordHints.click();
        WebElement pw=driver.findElement(By.xpath("//*[@id='password']"));
        
        WebElement login=driver.findElement(By.xpath("//*[@id='loginSubmitBtn']"));
        comp.sendKeys(company);
        username.sendKeys(user);
        passwordHints.click();
        pw.sendKeys(password);
        login.submit();
        
        WebElement home=driver.findElement(By.xpath("//*[@id='8:label']"));
        
        actions.moveToElement(home).click().build().perform();
        WebElement performance=driver.findElement(By.xpath("//*[@id='10:2']"));
        performance.click();
        
        
        WebElement endBox=driver.findElement(By.xpath("//*[@id='tablist']/tbody/tr[2]/td/div/div/div/table/tbody/tr[3]/td[2]/a"));
        
        endBox.click();
        
        WebElement auditTrailButton =driver.findElement(By.xpath("//*[@id='form_list_table']/tbody/tr/td[10]/a[2]/img"));
        auditTrailButton.click();
        
        WebElement action =driver.findElement(By.xpath("//*[@id='contentBodyTable']/tbody/tr[2]/td/div[2]/div/div[2]/div/div/div[2]/div/table/tbody/tr/td/table[2]/tbody/tr[2]/td/table/tbody/tr[4]/td/table/tbody/tr[4]/td[9]"));
        
        System.out.println(action.getText());
        
        
        
        
        
    }

}
View Code

 

如果需要載入firebug

    File file=new File("d:\\firebug-2.0.4-fx.xpi");//設定Firebug路徑
        FirefoxProfile profile = new FirefoxProfile(); 
        profile.setPreference("network.proxy.type", 1);
        
        profile.setPreference("network.proxy.http", "proxy.domain.example.com");
        profile.setPreference("network.proxy.http_port", 8080);
        profile.setPreference("network.proxy.ssl", "proxy.domain.example.com");
        profile.setPreference("network.proxy.ssl_port", 8080);
        profile.setPreference("network.proxy.ftp", "proxy.domain.example.com");
        profile.setPreference("network.proxy.ftp_port", 8080);
        profile.setPreference("network.proxy.socks", "proxy.domain.example.com");
        profile.setPreference("network.proxy.socks_port", 8080);
        
 
        try {
            profile.addExtension(file);
            profile.setPreference("extensions.firebug.currentVersion", "2.0.4");//設定firebug 版本
        } catch (IOException e3) {
            // TODO Auto-generated catch block
            e3.printStackTrace();
        }
     
        WebDriver driver = new FirefoxDriver(profile);
        return driver;
        

如果需要在執行時候firebug執行

Actions actions =new Actions(driver);
actions.sendKeys(Keys.F12).perform();//使用F12調出firebug

 

擴充套件,為什麼這麼設定

你可以使用about:config 在Firefox裡邊看看

 

相關文章