Selenium - WebDriver 小结(1)
- public class Base {
- SimpleDateFormat formatterTime = new SimpleDateFormat("yyyyMMdd_hhmmssa");
- SimpleDateFormat formatterDate = new SimpleDateFormat("yyyyMMdd");
- private Calendar now() {
- Calendar now = Calendar.getInstance();
- return now;
- }
- public static Map<String, String> initialProperties(String properityName) {
- String key = "";
- String value = "";
- Map<String, String> map = null;
- ResourceBundle bound = PropertyResourceBundle.getBundle(properityName, Locale.ENGLISH);
- Enumeration<String> enumeration = bound.getKeys();
- if (enumeration != null) {
- map = new HashMap<String, String>();
- while (enumeration.hasMoreElements()) {
- key = (String) enumeration.nextElement();
- value = bound.getString(key);
- map.put(key, value);
- }
- }
- return map;
- }
- public static WebDriver setUp_IEDriver() throws Exception {
- System.setProperty("webdriver.ie.driver", "./IEDriverServer.exe");
- DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
- capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
- WebDriver driver = new InternetExplorerDriver(capabilities);
- driver.manage().window().maximize();
- return driver;
- }
- public WebDriver setUp_ChromeDriver(){
- System.setProperty("webdriver.chrome.driver", "./chromedriver.exe");
- WebDriver driver = new ChromeDriver();
- driver.manage().window().maximize();
- return driver;
- }
- public WebDriver setUp_FirefoxDriver(){
- System.setProperty("webdriver.ie.driver", "C:/Program Files/Mozilla Firefox");
- WebDriver driver = new FirefoxDriver();
- return driver;
- }
- public static boolean isElementPresent(WebDriver driver, By by) {
- try {
- driver.findElement(by);
- return true;
- } catch (NoSuchElementException e) {
- e.printStackTrace();
- return false;
- }
- }
- public void screenshot(WebDriver driver, String path){
- File folder = new File(path);
- try {
- if(!folder.exists()){
- folder.mkdirs();
- }
- Dimension window_size = driver.manage().window().getSize();
- // BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
- BufferedImage image = new Robot().createScreenCapture(new Rectangle(window_size.getWidth(), window_size.getHeight()));
- String screenshotName = path+formatterTime.format(now().getTime())+".png";
- ImageIO.write(image, "png", new File(screenshotName));
- System.out.println("Screenshot "+screenshotName+" has been saved to " + path);
- } catch (HeadlessException e) {
- e.printStackTrace();
- } catch (AWTException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public void pageshot(WebDriver driver, String path){
- File folder = new File(path);
- try {
- if(!folder.exists()){
- folder.mkdirs();
- }
- String screenshotName = path+formatterTime.format(now().getTime())+".png";
- File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
- FileUtils.copyFile(screenshot, new File(screenshotName));
- System.out.println("Screenshot "+screenshotName+" has been saved to " + path);
- } catch (HeadlessException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public boolean windowStatus(WebDriver driver, final String window_status){
- WebDriverWait wait = new WebDriverWait(driver, 120);
- boolean windowStatus = wait.until(new ExpectedCondition<Boolean>(){
- public Boolean apply(WebDriver driver){
- JavascriptExecutor js = (JavascriptExecutor) driver;
- return js.executeScript("return window.status").toString().trim().equals(window_status);
- }});
- return windowStatus;
- }
- public void waitForElementLoadByXpath(WebDriver driver, final String xpath){
- WebDriverWait wait = new WebDriverWait(driver, 300);
- wait.until(new ExpectedCondition<WebElement>(){
- public WebElement apply(WebDriver driver) {
- WebElement element = driver.findElement(By.xpath(xpath));
- return element;
- }
- });
- }
- public void waitForPageLoad(WebDriver driver){
- WebDriverWait wait = new WebDriverWait(driver, 300);
- wait.until(new ExpectedCondition<Boolean>(){
- public Boolean apply(WebDriver driver) {
- return ((JavascriptExecutor)driver).executeScript("return document.readyState").toString().equalsIgnoreCase("complete");
- }
- });
- }
- public static void waitForDivLoad(WebDriver driver) {
- WebDriverWait wait = new WebDriverWait(driver, 30);
- wait.until(new ExpectedCondition<Boolean>() {
- public Boolean apply(WebDriver driver) {
- return ((JavascriptExecutor) driver).executeScript("return document.getElementById('ctl00_ContentPlaceHolder1_ClientProgress').style.display").toString().equalsIgnoreCase("block");
- }
- });
- }
- }
Selenium - WebDriver 小结(1)的更多相关文章
- 基于python的Selenium使用小结
之前介绍过基于Unittest和TestNG自动化测试框架,然而基于Web端的测试的基础框架是需要Selenium做主要支撑的,这里边给大家介绍下Web测试核心之基于Python的Selenium 一 ...
- 【转载】Selenium WebDriver的简单操作说明
转载自:http://blog.csdn.net/xiao190128/article/details/49784121 1.打开一个测试浏览器 对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏 ...
- Selenium WebDriver的简单操作说明
[From] http://blog.csdn.net/xiao190128/article/details/49784121 1.打开一个测试浏览器 对浏览器进行操作首先需要打开一个浏览器,接下来才 ...
- selenium webdriver学习(二)————对浏览器的简单操作(转载JARVI)
selenium webdriver学习(二)————对浏览器的简单操作 博客分类: Selenium-webdriver selenium webdriver对浏览器的简单操作 打开一个测试浏览 ...
- Selenium WebDriver Code
Selenium WebDriver 用于模拟浏览器的功能,可以做网站测试用,也可以用来做crawler.我是用eclipse开发的,导入selenium-server-standalone-***. ...
- 使用httpclient 调用selenium webdriver
结合上次研究的selenium webdriver potocol ,自己写http request调用remote driver代替selenium API selenium web driver ...
- selenium webdriver 右键另存为下载文件(结合robot and autoIt)
首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...
- Selenium Webdriver java 积累一
Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriv ...
- Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)
研究Selenium + python 自动化测试有近两个月了,不能说非常熟练,起码对selenium自动化的执行有了深入的认识. 从最初无结构的代码,到类的使用,方法封装,从原始函数 ...
随机推荐
- 10.26_地图应用, OSC_doc文档集合,node-webkit
(1)地图:关于电子地图的加载.展示方式,知乎上有篇文章写的很好:http://www.zhihu.com/question/21530085对于地图的导航距离计算呢?原理是什么? (2)node-w ...
- Glibc和GCC,ARM-LINUX-GCC的关系
看到有些贴子/blog上提到「Glibc编译器」,这是个错误的用语.Glibc不是编译器,Glibc不是编译器,Glibc不是编译器.重要的事情说三遍.GCC才是编译器.
- 幾種方法實現C語言Macro for debug
1. #include <stdio.h> #include <stdlib.h> #define DEBUG 1 #ifdef DEBUG #define DEBUG_PRI ...
- thinkphp 缓存写入失败,网站报错
周末,正在家里休息,同事突然call 我,说网站打不开了,网站一直很正常的,突然成这样,肯定某个地方出问题了, 原来是网站所在的硬盘分区,没空间了,被mysql的日志占满了!!! 哎,好好的周末,在公 ...
- ubuntu 在XP下硬盘安装
以下选择在XP下用 grub4dos 安装 ubuntu 12.04版本 需要下载两个文件:一个是grub4dos,另一个是 ubutuntu 镜像文件 grub4dos下载地址:http://dow ...
- Winform动态加载TabControl用法
private void BindTabData() { dtIPD = new DataTable(); //drItem = new DataTable(); //获取[项目大类]列表显示于 Ta ...
- SQL 添加字段和默认值脚本
--插入字段和默认值alter table Acc_WayBill add DeclaredValue nvarchar(50)goEXEC sys.sp_addextendedproperty @n ...
- React新接触
html5页面的开始引入: <script src="../build/react.js"></script> <!--核心库--> < ...
- jquery验证网址格式
在input中输入网址,用jquery验证输入网址是否正确 <input type="text" name="input-web" class=" ...
- hadoop1中partition和combiner作用
---恢复内容开始--- 1.解析Partiton 把map任务的输出的中间结果按照key的范围进行划分成r份,r代表reduce任务的个数.hadoop默认有个类HashPartition实现分区, ...