?????????о?Selenium WebDriver??????????????????????WebDriver??????LoggingSelenium 1.X????????????

???????????????????????????????????????????????????????????????????????

????WebDriver??????????????????InternetExplorerDriver??FirefoxDriver??????RemoteWebDriver??

???????е? protected Response execute(String driverCommand?? Map<String?? ?> parameters)????????????е??????

????????????????????????????????????????????????÷??????ж????С???????????IE??????????????

???????????LoggingInternetExplorerDriver???????InternetExplorerDriver??????дprotected Response execute(String driverCommand?? Map<String?? ?> parameters)??????

??????????????????????????????????????????????????

????LoggingInternetExplorerDriver?????????

packageorg.openqa.selenium.ie;importjava.util.Map;importjava.util.Map.Entry; importorg.openqa.selenium.remote.DesiredCapabilities;importorg.openqa.selenium.remote.Response;publicclassLoggingInternetExplorerDriverextendsInternetExplorerDriver{publicLoggingInternetExplorerDriver(DesiredCapabilities ieCapabilities){super(ieCapabilities);}protectedResponse execute(StringdriverCommand?? Map<String???>parameters){Response s=null;System.err.print(" ??????е??????:driverCommand="+driverCommand+" ??????????parameters=");for(Entry<String???>key:parameters.entrySet()){System.out.print(key.getKey()+"="+key.getValue()+"; ");} try{s=super.execute(driverCommand?? parameters);}catch(Exceptione){e.printStackTrace();}returns; }}

??????д?????????????????????????????????LoggingInternetExplorerDriver????????InternetExplorerDriver??

package com.loggingselenium;
 
import java.io.File;
import java.io.FileOutputStream;
import java.util.concurrent.TimeUnit;
 
import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.ie.LoggingInternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
 
import com.thoughtworks.selenium.*;
 
public class SearchWebDriver extends SeleneseTestBase {
 private static WebDriver driver;
 static final int MAX_TIMEOUT_IN_SECONDS = 30;
 
 @BeforeClass
 public static void setUpBeforeClass() {
 
////  // IE
  System.setProperty("webdriver.ie.driver"??
  System.getProperty("user.dir") + File.separator + "resources"
  + File.separator + "IEDriverServer.exe");
  DesiredCapabilities ieCapabilities = DesiredCapabilities
    .internetExplorer();
  ieCapabilities.setCapability(
  LoggingInternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS??
      true);
  try {
   driver = new LoggingInternetExplorerDriver(ieCapabilities);
  } catch (Exception e) {
   e.printStackTrace();
  }
  String url = "http://loggingselenium.com/“;
  driver.manage().window().maximize();
  driver.manage().timeouts()
    .implicitlyWait(MAX_TIMEOUT_IN_SECONDS?? TimeUnit.SECONDS);
  driver.get(url);
 }
 
 @AfterClass
 public static void tearDownAfterClass() throws Exception {
  if (driver != null) {
   System.out.println("???н?????");
   driver.quit();
  }
 }
 
 @Test
 public void test() {
  // LoggingSelenium???????????????"selenium"???в??
  String queryString = "selenium webdriver";
  driver.findElement(By.xpath("//input[@name='s']"))
    .sendKeys(queryString);
  pause(1000);
  // ??????????????в??
  driver.findElement(By.xpath("//button[@name='searchsubmit']")).click();
  pause(1000);
  String title = driver.getTitle();
  System.out.println("???????????" + title);
  pause(2000);
  SeleneseTestBase.assertTrue(title.contains(queryString));
  // ??????????
  captureScreenshot("???????JUnit");
 
 }
 
 /**
  * fileName ?????????????
  */
 private void captureScreenshot(String fileName) {
  String imagePath = System.getProperty("user.dir") + File.separator
    + fileName + ".png";
  try {
   byte[] decodedScreenshot = ((TakesScreenshot) driver)
     .getScreenshotAs(OutputType.BYTES);
   FileOutputStream fos = new FileOutputStream(new File(imagePath));
   fos.write(decodedScreenshot);
   fos.close();
   System.out.println("?????????" + imagePath);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

???????иò????????????????????£?

??????????е??????:driverCommand=maximizeWindow ??????????parameters=windowHandle=current; ms=30000;
??????????е??????:driverCommand=implicitlyWait ??????????parameters=
??????????е??????:driverCommand=get ??????????parameters=url=http://loggingselenium.com/; using=xpath; value=//input[@name='s'];
??????????е??????:driverCommand=findElement ??????????parameters=id=b1c8fbfb-b55d-4507-9e18-7d24a6cf51ce; value=[Ljava.lang.CharSequence;@1a99561;
??????????е??????:driverCommand=sendKeysToElement ??????????parameters=
??????????е??????:driverCommand=findElement ??????????parameters=using=xpath; value=//button[@name='searchsubmit'];
??????????е??????:driverCommand=clickElement ??????????parameters=id=8413f031-94ed-4bbc-a44b-f54760384735;
??????????е??????:driverCommand=getTitle ??????????parameters=???????????selenium webdriver | ??????? | LoggingSelenium
??????????е??????:driverCommand=screenshot ??????????parameters=?????????D:workspaceeclipseworkspaceSeleniumDemo???????JUnit.png

??????????????http://loggingselenium.com/?p=219