使用JAVA编写selenium2自动化脚本

1,下载Selenium2地址:http://seleniumhq.org/download/,位于Selenium Client & WebDriver Language Bindings 栏。

2,下载完成后解压可以看到:

3,运行java程序和selenium服务器都需要先安装JDK,JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

4.下载安装eclipse,下载地址:http://www.eclipse.org/downloads/

5.新建Java项目,添加引用。

   a.在package explorer中用鼠标右键电机项目,选择properties

   b.选择java build path ,选择libraries,单击 add external JARs,添加lselenium2压缩包里面所有的jar文件,然后单击ok,则可在package explorer中查看到刚刚添加的jar包。

6.一切准备好后,开始写代码。

package selenium_qt;

import java.util.Iterator;
import java.util.Set;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebDriver.Options;
import org.openqa.selenium.WebDriver.Window;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Selenium_qt {

	public static void main(String[] args) throws Exception {
		System.out.println("hello selenium !");
		// The path to the driver executable must be set by the webdriver.gecko.driver
		// system property
		// 因为使用了selenium3+Firefox。在selenium3中,使用Firefox,需要添加驱动。
		// System.setProperty("webdriver.firefox.marionette","C:\\Program Files
		// (x86)\\Mozilla Firefox\\geckodriver.exe");
		// System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla
		// Firefox\\firefox.exe");
		// System.setProperty("webdriver.chrome.driver","C:\\Program Files
		// (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
		// WebDriver driver = new FirefoxDriver();
		// driver.manage().window().maximize();
		WebDriver driver = new ChromeDriver();
		// driver.get("http://www.baidu.com/");
		Navigation navigation = driver.navigate();
		navigation.to("http://www.dev.qi-e.tv/");
		navigation.refresh();
		WebElement live = driver.findElement(By.xpath("//*[@id=\"header\"]/div[2]/div/ul/li[2]/a"));
		live.click();
		// 停留2秒
		Thread.sleep(2000);
		WebElement login = driver.findElement(By.xpath("//*[@id=\"header\"]/div[2]/div/div[2]/div[5]/a/span"));
		login.click();
		Thread.sleep(2000);
		WebElement login_from_password = driver.findElement(By.xpath("/html/body/div[7]/div[4]/a[2]/span[1]"));
		login_from_password.click();
		WebElement username = driver.findElement(By.xpath("//*[@id=\"InputUserName\"]"));
		username.sendKeys("北京理工大学3X3");
		WebElement password = driver.findElement(By.xpath("//*[@id=\"InputPassword\"]"));
		password.sendKeys("123456");
		// 停留10秒,验证码
		Thread.sleep(10000);
		password.submit();
		Thread.sleep(2000);
		// 点头像进入个人中心
		WebElement member = driver.findElement(By.xpath("//*[@id=\"header\"]/div[2]/div/div[2]/div[6]"));
		member.click();
		Thread.sleep(2000);
		// xin biaoqian ye dakai
		driver = currentWindow(driver);
		// guess
		WebElement guess = driver.findElement(By.xpath("/html/body/div[3]/div[1]/ul/li[13]"));
		guess.click();
		Thread.sleep(2000);
		WebElement set_guess = driver.findElement(By.xpath("/html/body/div[3]/div[2]/div[3]/div/div/div[1]/div"));
		set_guess.click();
	
		// guess_set

		WebElement subject_title = driver
				.findElement(By.name("subject_title"));
		subject_title.sendKeys("timumingcheng");
		WebElement option_name1 = driver
				.findElement(By.name("option_name1"));
		option_name1.sendKeys("123");
		WebElement option_name2 = driver
				.findElement(By.name("option_name2"));
		option_name2.sendKeys("456");
		WebElement duration = driver
				.findElement(By.name("duration"));
		duration.sendKeys("59");
		WebElement ok = driver.findElement(By.xpath("//button[text()='发起']"));
		ok.click();
		Thread.sleep(1000);
		WebElement ok_set = driver.findElement(By.xpath("//button[text()='确定']"));
		ok_set.click();
		System.out.println("wb--------------------");
	}

	public static WebDriver currentWindow(WebDriver driver) {
		String currentWindow = driver.getWindowHandle(); // 获取当前窗口的句柄
		Set<String> handles = driver.getWindowHandles(); // 获取所有窗口的句柄
		Iterator<String> it = handles.iterator();
		// WebDriver newDriver=null;
		while (it.hasNext()) {
			String handle = it.next();
			if (!handle.equals(currentWindow)) {
				driver = driver.switchTo().window(handle); // 切换到新的句柄所指向的窗口
				break;
			}
		}
		return driver;
	}

}
//查找页面元素有很多方法,用name,id,class,xpath,都行,要灵活选择。


  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值