• 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();
      }
    
    }
  • 相关阅读:
    Linux/UNIX线程(1)
    jeecms 链接标签
    JEECMS 系统权限设计
    jeecms 前台拦截器的研究与改造
    jeecms系统_自定义对象流程
    jeecms技术预研
    jeecms获取绝对路径
    JEECMS自定义标签
    jeecms项目相关配置文件
    [jeecms]获取父栏目下的子栏目名称
  • 原文地址:https://www.cnblogs.com/MR-FANWB/p/7905040.html
Copyright © 2020-2023  润新知