博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Selenium2之Web自动化编写配置(Java)
阅读量:5244 次
发布时间:2019-06-14

本文共 3980 字,大约阅读时间需要 13 分钟。

一、JDK安装与配置

下载地址:

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

配置环境:

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

新建 JAVA_HOME 变量 。

变量名:JAVA_HOME   
变量值:D:\Program Files\JAVA\jdk8(这里填写jdk的安装目录)

编辑PATH变量。最后输入:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

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

验证是否安装成功:

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

二、Eclipse配置

1.下载地址: ,此处下载的是Eclipse For Java EE

2.安装TestNG

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

勾选后,NEXT…完成安装。

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

下载地址:  链接: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:\eclipse\selenium下面,方便管理

四、代码示例

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

你可能感兴趣的文章
Strut2------源码下载
查看>>
[LeetCode] 152. Maximum Product Subarray Java
查看>>
Jquery中each的三种遍历方法
查看>>
数据库
查看>>
洛谷 P1967 货车运输(克鲁斯卡尔重构树)
查看>>
D2.Reactjs 操作事件、状态改变、路由
查看>>
一些感想———写在面完腾讯之后
查看>>
1.冒泡排序法
查看>>
宽字符转窄字符CW2AEX<>(szAreaInfo,CP_UTF8)
查看>>
Component Art UI Framework
查看>>
EF终于也有了IDbContextFactory
查看>>
安装 protobuf
查看>>
NSUserDefaults无法保存数据<转>
查看>>
Java EJX
查看>>
cas原理简介
查看>>
并发、并行、同步、异步、多线程的区别
查看>>
[实践]使用JarJar优雅的发布依赖包
查看>>
[置顶] 三五杆枪,可干革命,三五个人,可以创业
查看>>
getElementByName()和getElementById的区别
查看>>
存储过程转账
查看>>