java selenium操作safari

SafariDriver是一个Safari浏览器的扩展。和Firefox类似,在selenium-safari-driver-xxx.jar包中org.openqa.selenium.safari路径下提供了Safaridriver.safariextz扩展程序。

包下载地址: http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-safari-driver

可能需要的设置

使用该浏览器,只需要将driver改成SafariDriver即可:
WebDriver driver = new SafariDriver();

Selenium 2 跑safari浏览器 (在windows XP系统上)
    1,配置环境(什么装JDK,ECLIPSE,SELENIUM,SAFARI 之类的等等,,略去步骤)2,编写测试代码(很简单,简单的new SafariDriver()之类的,以google页面为例子,取点值)   WebDriver driver =new SafariDriver();   driver.get("http://www.google.com.hk");	driver.findElement(By.name("q")).sendKeys("webdriver");	driver.findElement(By.name("btnK")).click();	new WebDriverWait(driver, 3).until(ExpectedConditions			.titleIs("webdriver - Google Search"));   dirver.quit();3,这个时候运行, 会出现这样的结果:  页面停住了,只有这么类似一条信息显示着“SafariDriver requesting connection at ws://localhost:43980/wd”。4,要对safari浏览器进行扩展:   1)创建safari的签名证书,只有这样才能往safari中添加自定义扩展      至于这个过程,大致上是先注册一个apple ID, 注册完后就可以直接 “get       started”,再根据提示 一步一步 “create certificate”。 详细过程可以google      一下, 很简单。   2)SVN到这个地址:http://selenium.googlecode.com/svn/tags/selenium-2.25.0/(如      果是使用的selenium0其他版本,如2.21,那么修改下最后的一个版本号就行/tags      /selenium-2.21.0/),将里面的所有项目都检出到本地(随意取个名字如       SeleniumSafari2.25)。   3)cmd 到 这个刚自定义名字的 SeleniumSafari2.25 目录下 , 使用命令 go       safari, 那么就开始自动build了(build出来的就是待会要添加的extension)。   4) 打开safari,设置一下 把开发菜单调出来; 然后选择开发--显示扩展创建器--添加      扩展--选择 SeleniumSafari2.25/build/javascript/safari-driver      /SafariDriver.safariextension(这个便是刚才build出来的)   5)选择安装 ,然后 OK, 可以再跑刚才的selenium代码试试了。5, 这个时候的结果还是会出那个信息页面,不过稍等一下,,接下来就会正常的进入google页面了。
时间: 2024-11-05 04:47:59

java selenium操作safari的相关文章

Java+Selenium操作日期时间选择框插件

在自动化测试的时候我们经常会碰到下面的时间日期插件(这个时候这个文本框是不运行我们输入时间的), 我们可以用java获取当前日期,然后用Selenium结合JS代码就可以直接往文本框输入内容. 像这种选择时间的input标签都会有一个readonly=""标签,这个时候我们就只能选择时间,不能手动输入,解决办法如下: Date date = new Date();//先获取当前日期 String startDate = new SimpleDateFormat("yyyy-M

Java Selenium (十二) 操作弹出窗口 & 智能等待页面加载完成 & 处理 Iframe 中的元素

一.操作弹出窗口   原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然后遍历, 使用swithcto.window(newwindow_handle)方法. 就可以定位到新的窗口. 测试页面的HTML <html> <head> <title>常见web ui元素操作, 及API使用</title> <script type

java selenium (十一) 操作弹出对话框

Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型 阅读目录 对话框类型 1.  警告框: 用于提示用户相关信息的验证结果, 错误或警告等 2. 提示框: 用于提示用户在当前对话框中输入数据,一般需要用户单击取消或者确认按钮 3. 确认框: 用于提示用户确认或者取消某个操作,一般需要用户单击取消或者确认按钮 测试页面 用如下页面为例进行讲解, 包括了警告框,提示框,确认框 http://sislands.com/coin70/week1/dialo

java selenium (十) 操作浏览器

本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws Exception { driver.get("http://www.cnblogs.com/tankxiao"); Thread.sleep(5000); // 浏览器最大化 driver.manage().window().maximize(); driver.navigate().to

java selenium (十三) 智能等待页面加载完成

我们经常会碰到用selenium操作页面上某个元素的时候, 需要等待页面加载完成后, 才能操作.  否则页面上的元素不存在,会抛出异常. 或者碰到AJAX异步加载,我们需要等待元素加载完成后, 才能操作 selenium 中提供了非常简单,智能的方法,来判断元素是否存在. 阅读目录 实例要求 实例:set_timeout.html 下面的html 代码,  点击click 按钮5秒后, 页面上会出现一个红色的div快, 我们需要写一段自动化脚本智能的去判断这个div是否存在, 然后把这个div

java selenium (五) 元素定位大全

页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 在自动化测试过程中, 测试程序通常的操作页面元素步骤 1. 找到Web的页面元素,并赋予到一个存储对象中 (WebElement) 2. 对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等 3. 验证页面上的元素是否符合预期 通过这三个步骤, 我们可以完成一个页面元素的操作, 找

Java + Selenium 3.x 实现Web自动化 - 1.自动化准备

(一)自动化准备 说明:本文主要记录了基于公司现有项目(一个电子商务平台),从0开始实现UI自动化的历程.从准备阶段,部分内容直接省略了基础知识,一切以最终做成自动化项目为目标,难免会有晦涩之处.文章主要用于记录过程,翻阅回顾.如有记录出错,描述晦涩之处,望读者能及时指出,一起进行讨论交流,以免误导他人. 1 所使用工具的简单介绍 1.java + selenium WebDriver:用于脚本的编写: 2.TestNG:测试框架,用于结构化用例,生成测试报告: 3.log4j2:用于生成日志:

selenium操作下拉滚动条的几种方法

数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java版本的,使用chromedriver,当然你可以换成python或其他语言,浏览器用firefox或者phantomjs(无头浏览器),大部分都是适用的,不同浏览器有略微的差异. 初始化一个浏览器 首先要允许浏览器运行js脚本 DesiredCapabilities sCaps = new Desi

Java API操作HDFS

HDFS是存储数据的分布式文件系统,对HDFS的操作,就是对文件系统的操作,除了用HDFS的shell命令对文件系统进行操作,我们也可以利用Java API对文件系统进行操作,比如文件的创建.删除.修改权限等等,还有文件夹的创建.删除.重命名等等. 使用Java API对文件系统进行操作主要涉及以下几个类: 1.Configuration类:该类的对象封装了客户端或者服务端的配置. 2.FileSystem类:该类的对象是一个文件系统对象,可以利用该对象的一些方法来对文件进行操作,FileSys