Selenium2之Web自动化编写配置(Java)

一、JDK安装与配置

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/

image

安装目录:D:Program FilesJAVA(随意安装,目录不要有中文)

image

配置环境:

路径:计算机→属性→高级系统设置→高级→环境变量

新建 JAVA_HOME 变量 。
变量名:JAVA_HOME   
变量值:D:Program FilesJAVAjdk8(这里填写jdk的安装目录)

image

编辑PATH变量。最后输入:%JAVA_HOME%in;%JAVA_HOME%jrein;

(注意原来Path的变量值末尾有没有;号,如果没有先输入;号再输入上面的代码)

验证是否安装成功:

运行cmd 输入 java –version,如下图则为成功。

image

二、Eclipse配置

1.下载地址:http://www.eclipse.org/downloads/ ,此处下载的是Eclipse For Java EE

2.安装TestNG

联网直接安装Help->Install New Software

image

勾选后,NEXT…完成安装。

三、安装必备软件,Selenium IDE、SeleniumRC、IEDriverServer、Firefox

下载地址:http://www.seleniumhq.org/download/  链接:http://pan.baidu.com/s/1nuVrZ7b 密码:c0l9

  1. Selenium IDE:selenium-ide-2.5.0.xpi 用来在Firefox上录制脚本。 

  2.Selenium RC:selenium-server-standalone-2.40.0.jar 模拟服务器端,selenium 1.0执行脚本时需要单独启动该jar包, selenium webdriver无需单独启动。

  3.IEDriverServer:IEDriverServer_Win32_2.40.0.zip IE驱动

  4.安装Selenium IDE:把前面下载的selenium-ide-2.5.0xpi拖放到Firefox,安装即可。

下载得到的所有文件,统一放在d:eclipseselenium下面,方便管理

四、代码示例

jar包:链接:http://pan.baidu.com/s/1boSoCu7 密码:q2hr

package selenium_testng;

import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.annotations.AfterClass;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;

/**
* 
* @author fanwenbin
* @version 1.0
* @date 
*
*/

public class test {
    
    WebDriver driver;// 申明全局变量。。。。。
    
  @Test
  public void testng001() throws InterruptedException {
       
      System.setProperty("webdriver.firefox.bin", "D:\Program Files\Mozilla Firefox\firefox.exe");
      WebDriver driver = new FirefoxDriver();
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
      
      //打开
      driver.get("https://www.zhihu.com/#signin");

      Thread.sleep(1000);
      driver.findElement(By.className("signin-switch-password")).click();
      //定位到输入框
      driver.findElement(By.name("account")).sendKeys("15168318165");
      Thread.sleep(1000);
      driver.findElement(By.name("password")).sendKeys("1783300674");
           
      WebElement submit = driver.findElement(By.className("submit"));
      submit.click();
 
      try {
          Thread.sleep(3000);
      } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }

      File file = new File("broswer.data");
      try {
          // delete file if exists
          file.delete();
          file.createNewFile();
          FileWriter fw = new FileWriter(file);
          BufferedWriter bw = new BufferedWriter(fw);
          for (Cookie ck : driver.manage().getCookies()) {
              bw.write(ck.getName() + ";" + ck.getValue() + ";"
                      + ck.getDomain() + ";" + ck.getPath() + ";"
                      + ck.getExpiry() + ";" + ck.isSecure());
              bw.newLine();
          }
          bw.flush();
          bw.close();
          fw.close();

      } catch (Exception e) {
          e.printStackTrace();
      } finally {
          System.out.println("cookie write to file");
      }
      
      
  }
  @BeforeMethod
  public void beforeMethod() {
      //switchTo相关可以写在这里
  }

  @AfterMethod
  public void afterMethod() {
      // 切换到主窗口、模擬刷新頁面
  }

  @BeforeClass
  public void beforeClass() {
      //登陆
      
  }

  @AfterClass
  public void afterClass() {
      //浏览器关闭可以写在这里
      //driver.quit();
  }

}
原文地址:https://www.cnblogs.com/MR-FANWB/p/7905040.html