最新消息:文章中包含代码时,请遵守代码高亮规范!

Selenium自动化测试【转载】

软件测试 杨, 梦雪 248浏览 0评论

安装 selenium webdriver (eclipse+jdk+selenium
webdriver2.20+firefox 10 )
1、安装 firefox,本人使用 firefox10。确保 firefox 安装在默认环境下(不是
的话会报错)。
2、安装 jdk,确保安装了 jdk,本人喜欢使用 java。但 selenium webdriver 也
支持其它语言,如 ruby、python、C#等。
3、安装 eclipse,个人喜好。
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
4、安装selenium webdriver。解压下载的selenium webdriver包,可以在eclipse
建一个 user library,便与项目的引入。
第一个 test
现在以第一个 selenium webdriver 的 test 来感受一下它的魅力。
Java 代码
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FirstExampe {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get(“http://www.google.com.hk”);
WebElement element = driver.findElement(By.name(“q”));
element.sendKeys(“hello Selenium!”);
element.submit();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(“Page title is: ” + driver.getTitle());
driver.quit();
}
}
正常运行后,这几行代码将会打开 firefox 浏览器,然后转跳到 google 首页。
在搜索框中输入 hello Selenium 并提交搜索结果。等待 3 秒后会在命令行打印
出当前页面的 title,输出如下:
Java 代码
Page title is: hello Selenium! – Google 搜尋
并关闭 ff 浏览器。
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
二 、 对浏览器的简单操作
博客分类 :
 Selenium-webdriver
selenium webdriver 对浏览器的简单操作
打开一个测试浏览器
对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏览器进行操作。但
要注意的是,因为 Chrome Driver 是 Chromium 项目自己支持和维护的,所以你
必需另外下载安装 Chrome Driver,详细介绍查下他们的 wiki 。
Java 代码
import java.io.File;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
public class OpenBrowsers {
public static void main(String[] args) {
//打开默认路径的 firefox
WebDriver diver = new FirefoxDriver();
//打开指定路径的 firefox,方法 1
System.setProperty(“webdriver.firefox.bin”,”D:\\Program
Files\\Mozilla Firefox\\firefox.exe”);
WebDriver dr = new FirefoxDriver();
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
//打开指定路径的 firefox,方法 2
File pathToFirefoxBinary = new File(“D:\\Program
Files\\Mozilla Firefox\\firefox.exe”);
FirefoxBinary firefoxbin = new
FirefoxBinary(pathToFirefoxBinary);
WebDriver driver1 = new FirefoxDriver(firefoxbin,null);
//打开 ie
WebDriver ie_driver = new InternetExplorerDriver();
//打开 chrome
System.setProperty(“webdriver.chrome.driver”,
“D:\\chromedriver.exe”);
System.setProperty(“webdriver.chrome.bin”,
“C:\\Documents and
Settings\\gongjf\\Local Settings”
+”\\Application
Data\\Google\\Chrome\\Application\\chrome.exe”);
}
}
打开指定路经 ie 和 chrome 方法和 ff 一样。
打开 1 个具体的 url
打开一个浏览器后,我们需要跳转到特定的 url 下,看下面代码:
Java 代码
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
public class OpenUrl {
public static void main(String []args){
String url = “http://www.51.com”;
WebDriver driver = new FirefoxDriver();
//用 get 方法
driver.get(url);
//用 navigate 方法,然后再调用 to 方法
driver.navigate().to(url);
}
}
如何关闭浏览器
测试完成后,需要关闭浏览器
Java 代码
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class CloseBrowser {
public static void main(String []args){
String url = “http://www.51.com”;
WebDriver driver = new FirefoxDriver();
driver.get(url);
//用 quit 方法
driver.quit();
//用 close 方法
driver.close();
}
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
}
如何返回当前页面的 url 和 和 title
有时候我们需要返回当前页面的 url 或者 title 做一些验证性的操作等。代码如
下:
Java 代码
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class GetUrlAndTitle {
public static void main(String []args){
String url = “http://www.51.com”;
WebDriver driver = new FirefoxDriver();
driver.get(url);
//得到 title
String title = driver.getTitle();
//得到当前页面 url
String currentUrl = driver.getCurrentUrl();
//输出 title 和 currenturl
System.out.println(title+”\n”+currentUrl);
}
}
其他方法
 getWindowHandle() 返回当前的浏览器的窗口句柄
 getWindowHandles() 返回当前的浏览器的所有窗口句柄
 getPageSource() 返回当前页面的源码
Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)
小结
从上面代码可以看出操作浏览器的主要方法都来自
org.openqa.selenium.WebDriver 这个接口中。看了一下源代码这些方法都是在
org.openqa.selenium.remote.RemoteWebDriver 这个类中实现的,然后不同浏览的 driver 类继承 RemoteWebDriver。

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/24385.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者jodie的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!