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
页面了。
java selenium操作safari的更多相关文章
- Java+Selenium操作日期时间选择框插件
在自动化测试的时候我们经常会碰到下面的时间日期插件(这个时候这个文本框是不运行我们输入时间的), 我们可以用java获取当前日期,然后用Selenium结合JS代码就可以直接往文本框输入内容. 像这种 ...
- java selenium webdriver处理JS操作窗口滚动条
未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...
- Java Selenium (十二) 操作弹出窗口 & 智能等待页面加载完成 & 处理 Iframe 中的元素
一.操作弹出窗口 原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然 ...
- Java&Selenium调用JS实现高亮被操作页面元素高亮
Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...
- 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)
1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...
- 《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
1.简介 本文主要介绍两个在测试过程中可能会用到的功能:Actions类中的拖拽操作和Actions类中的划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能. 2.拖拽操 ...
- 《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,于是写了这一篇文章,另外也是 ...
- 《手把手教你》系列技巧篇(三十三)-java+ selenium自动化测试-单选和多选按钮操作-上篇(详解教程)
1.简介 在实际自动化测试过程中,我们同样也避免不了会遇到单选和多选的测试,特别是调查问卷或者是答题系统中会经常碰到.因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助 ...
- 《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.d ...
随机推荐
- C# 新特性
1.字符串中调用参数 DataTable dt= sqlHelper.SqlConnectionInformation(connstr,sql); string rows = JsonConvert. ...
- git协同开发
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: [root@w ...
- bzoj千题计划297:bzoj3629: [JLOI2014]聪明的燕姿
http://www.lydsy.com/JudgeOnline/problem.php?id=3629 约数和定理: 若n的标准分解式为 p1^k1 * p2^k2 …… 那么n的约数和= π (Σ ...
- SQL Server进阶(一)T-SQL查询和编程的背景
- spring boot(十一):Spring boot中mongodb的使用
mongodb简介 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成, MongoDB是由数据库(database).集合(collection ...
- C# Dictionary序列化/反序列化
[Serializable] public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue& ...
- 1.springboot:入门程序
一.Spring Boot 简介 官网英文: Spring Boot makes it easy to create stand-alone, production-grade Spring base ...
- Linux 环境变量问题
环境变量延伸: /etc/profile, /etc/bashrc, .bash_profile和.bashrc的差别 用户在登陆Linux操作系统的时候,"/etc/profile&quo ...
- JavaScript之加载表格、表单行数据[插件]
/*** * name:加载表格或表单数据[通用] * name:load-table-or-form-data-common.js * * author:zengtai * date:2017-07 ...
- Java中ArrayList循环遍历并删除元素的陷阱
ava中的ArrayList循环遍历并且删除元素时经常不小心掉坑里,昨天又碰到了,感觉有必要单独写篇文章记一下. 先写个测试代码: import java.util.ArrayList; public ...