精华内容
下载资源
问答
  • SeleniumJava)-使窗口最大化

    千次阅读 2018-06-25 11:08:09
    我们在使用Selenium进行测试的过程中,当我们打开浏览器时,默认的窗口大小不是最大化的,但是我们又需要最大化窗口的时候,我们一般是使用下列代码:WebDriver driver = new ChromeDriver(); driver.manage().window...

    我们在使用Selenium进行测试的过程中,当我们打开浏览器时,默认的窗口大小不是最大化的,但是我们又需要最大化窗口的时候,我们一般是使用下列代码:

    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    driver.get("https://www.baidu.com");

    这种方式是如果当前窗口不是最大化的,那么就最大化窗口,相当于点击了最大化按钮,窗口有一个由小变大的过程;

    而如果你想窗口默认就是最大化的那么就是用如下方式:

    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions.addArguments("--start-maximized");
    
    WebDriver driver = new ChromeDriver(chromeOptions);
    这种方法是在浏览器启动时就默认最大化窗口。

    展开全文
  • 最大化driver.manage().window().maximize();若是无法实现,也可手动将窗口拉大 脚本如下: public static void maximise(WebDriver driver) { final JavascriptExecutor js = (JavascriptExecutor) driver; js....

    原因是:浏览器与驱动版本不太匹配

    最大化driver.manage().window().maximize();若是无法实现,也可手动将窗口拉大

    脚本如下:

    public static void maximise(WebDriver driver) {
    final JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("window.open('','testwindow','width=400,height=200')");
    driver.close();
    driver.switchTo().window("testwindow");
    js.executeScript("window.moveTo(0,0);");
    /*
    * 1280和1024分别为窗口的宽和高,可以用下面的代码得到 screenDims =
    * Toolkit.getDefaultToolkit().getScreenSize(); width = (int)
    * screenDims.getWidth(); height = (int) screenDims.getHeight();
    */
    js.executeScript("window.resizeTo(1280,1024);");
    System.out.println(Toolkit.getDefaultToolkit().getScreenSize().getWidth());
    System.out.println(Toolkit.getDefaultToolkit().getScreenSize().getHeight());
    }


    以后每次使用窗口自动化的时候,可以直接调用函数名即可实现窗口最大化:

    maximise(driver);

    展开全文
  • 最大化窗口 默认最大化窗口 ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.addArguments("–start-maximized"); WebDriver driver = new ChromeDriver(chromeOptions) 第一种:强制等待 Thread...

    最大化窗口

    chromeDriver.manage().window().maximize();

    ChromeOptions chromeOptions = new ChromeOptions();  /默认最大化窗口 
    chromeOptions.addArguments("--start-maximized");
    WebDriver driver = new ChromeDriver(chromeOptions)
    

    等待时间

    第一种:强制等待
    Thread.sleep(3000);
    第二种:隐式等待方法
    driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS)
    第三种:显示等待方法
    WebDriverWait()
    WebDriverWaitwait=new WebDriverWait(driver, 10);
    在这里插入图片描述

    WebElement wl= wait.until(new ExpectedCondition() {
    @Override
    publicWebElement apply(WebDriver d) {
    returnd.findElement(By.cssSelector(".red_box"));
    }
    });
    WebElement element = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id(“su”)));
    //获得当前窗口url
    String parentUrl2 = driver.getCurrentUrl();
    在这里插入图片描述

    鼠标操作Actions

    鼠标操作
    在这里插入图片描述

    特殊元素定位,日期

    在这里插入图片描述

    下拉框select

    在这里插入图片描述

    iframe

    在这里插入图片描述

    alert弹窗

    在这里插入图片描述

    handle句柄

    在这里插入图片描述

    navigate对象

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • java selenium 自动笔记-不是0基础,至少有java基础 本来今天要学GitHub的,但是在群里问了下小伙伴时被暴击。说我学的东西太多太杂,不是很深入,都是皮毛。哎~自己早深有意识到,因个人能力吧,找的资料...

    java selenium 自动化笔记-不是0基础,至少有java基础

    本来今天要学GitHub的,但是在群里问了下小伙伴时被暴击。说我学的东西太多太杂,不是很深入,都是皮毛。
    哎~自己早深有意识到,因个人能力吧,找的资料都不是很全,加上实际工作没有应用到。
    所以写一篇selenium的笔记,有人问到的话,我也可以大声的回答,我学了这些。菜鸡就得活给别人看,你还不是黑客不是大佬,没有自由。

     

    如果还有什么东西没学到的话,麻烦大家指出补充。谢谢~!

     了解到有一个框架:Protractor 

     

    学习中想到的几个问题(可能是面试题):
    1.显示等待和隐式等待的区别

    2.显示和隐式两者哪个使用率高?(推荐使用显示)

    3.元素定位优先?ID>Name>CSS>XPath。效率最高的是CssLocator 

     

     

    第一个项目是跟着这位老师写的http://www.testclass.net/selenium_java/

    案例地址http://www.cnblogs.com/zdfbk/p/8276933.html

     

    老师们喜欢把知识分页,我以自己喜欢的方式汇集成一个页面吧。虽然有点浪费时间(CVM模式开启),但是方便以后找吧。

    List‘s GO

    哦~对了,这里只写代码

     1 WebDriver driver = new ChromeDriver();//打开谷歌浏览器
     2 driver.get("http://www.baidu.com"); //打开网页
     3 String title = driver.getTitle();//获取页面标题
     4 
     5 //用的最多的一个方法,睡眠,1秒等于1000毫秒
     6 Thread.sleep(2000);
     7 
     8 WebElement KW = driver.findElement(By.id("kw"));
     9 //元素定位
    10 driver.findElement(By.id("kw"));//有name、classname、tagname、xpath、cssSelector、、、
    11 <a class="mnav" href="http://news.baidu.com" name="tj_trnews">新闻</a>
    12 driver.findElement(By.linkText("新闻");//通过连接文本定位
    13 driver.findElement(By.partialLinkText("新");//模糊定位
    14 
    15 driver.manage().window().maximize();//设置浏览器大小,此次设置为最大化
    16 driver.manage().window().setSize(new Dimension(480, 800));//设置浏览器宽高
    17 driver.navigate().back();//浏览器执行后退
    18 driver.navigate().forward();//浏览器执行前进
    19 System.out.printf(driver.getCurrentUrl());//输出当前连接
    20 driver.navigate().refresh();//刷新页面
    21 
    22 //键盘操作
    23 KW.sendKeys("哈喽");//文本框输入哈喽
    24 //看老师说的,这个sendKeys还能指定上传的文件。以后有需要的话看这个老师http://blog.csdn.net/huilan_same/article/details/52439546。也可看17章
    25 driver.findElement(By.name("file")).sendKeys("D:\\upload_file.txt");//01/24补充。上传文件的定位就这么简单
    KW.sendKeys(Keys.BACK_SPACE);//回格键,消掉'喽' 26 /* 27 sendKeys(Keys.CONTROL,‘a’) 全选(Ctrl+A) 28 sendKeys(Keys.ESCAPE) 回退键(Esc) 29 sendKeys(Keys.F1) 键盘 F1 30 */ 31 32 33 KW.clear();//清空文本框 34 driver.findElement(By.id("su")).click();//点击按钮 35 KW.submit();//提交表单,同“回车键” 36 KW.getSize();//返回元素的尺寸 37 KW.getText();//获取元素文本 38 KW.getAttribute("type");//返回元素的属性值, 可以是 id、 name、 type 或元素拥有的其它任意属性 39 boolean issee = KW.isDisplayed();//返回元素的结果是否可见, 返回结果为 True 或 False 40 41 42 //在WebDriver中,关于鼠标操作的方法封装在ActionChains类提供。这个就有点绕了。 43 Actions action = new Actions(driver);//调用Actions()类,将浏览器驱动driver作为参数传入。 44 WebElement search_setting = driver.findElement(By.linkText("设置")); 45 action.clickAndHold(search_setting).perform();

     

    46 //clickAndHold() 方法用于模拟鼠标悬停操作
    47 //perform() 执行所有ActionChains中存储的行为, 可以理解成是对整个操作的提交动作。 
    48 action.contextClick(driver.findElement(By.id("element"))).perform();//鼠标右键指定的元素
    49 //doubleClick()双击。(老师注释错了(滑稽))
    50 
    51 // 鼠标拖拽动作, 将 source 元素拖放到 target 元素的位置。
    52 WebElement source = driver.findElement(By.name("element"));
    53 WebElement target = driver.findElement(By.name("element"));
    54 action.dragAndDrop(source,target).perform();
    55 // 释放鼠标
    56 action.release().perform();
    57 
    58 //获取断言信息
    59 driver.getTitle();//获取当前title
    60 driver.getCurrentUrl();//获取当前URL
    61 
    62 
    63 driver.close();//只关闭
    64 driver.quit();//完全退出。不会有进程
    65 老师用的是close,刚开始用的时候也是用的close,但是用了一段时间之后开始电脑开始变卡,发现出现了很多重复的进程,开始寻找其他关闭方式,发现了quit(),用到现在一直没有深入去了解这两个方法的区别,以个人理解就是close关闭不是正常退出操作,所以有一些残留,而quit是正常退出。
    66 今天刚好百度了一下,close关闭时并不会清除临时文件中webdriver的临时文件,而quit则会,并关闭浏览器驱动。
    67 那close存在的意义是?用处在哪?有大佬知道的可指点下。

     

    只写到了第12章。后面的是比较深入的代码了。不容易整合。慢慢来吧。休息

    2018-01-24

     1 //显示等待
     2 //WebDriverWait类是由WebDirver提供的等待方法。专门针对某个元素进行等待判断。.在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。
     3 public class TimeOut01 {
     4 
     5   public static void main(String[]args) throws InterruptedException {
     6     WebDriver driver = new ChromeDriver();
     7     driver.get("https://www.baidu.com");
     8 
     9     //显式等待, 针对某个元素等待
    10     WebDriverWait wait = new WebDriverWait(driver,10,1);//driver: 浏览器驱动。 10: 最长超时时间, 默认以秒为单位。 1: 检测的的间隔(步长) 时间, 默认为 0.5s。
    11 
    12     wait.until(new ExpectedCondition<WebElement>(){
    13       @Override
    14       public WebElement apply(WebDriver text) {
    15             return text.findElement(By.id("kw"));//上面那些照搬就行了,老师也没怎么说,没看到有什么介绍。我就理解缩减为wait.until().sendKeys();如果找到则输入文本,没有则报错
    16           }
    17     }).sendKeys("selenium");
    18 
    19     driver.findElement(By.id("su")).click();
    20     Thread.sleep(2000);
    21 
    22     driver.quit();
    23   }
    24 }
     1 public class TimeOut02 {
     2 
     3   public static void main(String[] args){
     4 
     5     WebDriver driver = new ChromeDriver();
     6 
     7     //页面加载超时时间设置为 5s
     8     driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);//这里理解为跟设置浏览器大小一样,只修改时间5,其他照搬
     9     driver.get("https://www.baidu.com/");
    10 
    11     //定位对象时给 10s 的时间, 如果 10s 内还定位不到则抛出异常
    12     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    13     driver.findElement(By.id("kw")).sendKeys("selenium");
    14 
    15     //异步脚本的超时时间设置成 3s
    16     driver.manage().timeouts().setScriptTimeout(3, TimeUnit.SECONDS);
    17 
    18 //这里看到异步脚本,百度搜了一下线程看,好长的一大篇,浪费了一上午,先跳过吧
    19     driver.quit();
    20   }
    21 }

    进入iframe的就看案例吧

     

     

    窗口切换用的有点少啊,大概多线程的时候才会用到。跳过跳过。

     

    第十五章下拉框选择………………直接xpath就行了啧。

     

     第十八章

        WebDriver driver = new ChromeDriver();
        driver.get("https://www.baidu.com");
    
        Cookie c1 = new Cookie("name", "key-aaaaaaa");//这里的name和value看这篇文章http://www.cnblogs.com/fnng/p/6431484.html(问了虫大佬,两分钟秒回连接,办事效率一级流弊,不小心变成小迷弟了)。不过获取“BAIDUID”和“BDUSS”的值可以在浏览器开发工具F12获取,具体看下图
        Cookie c2 = new Cookie("value", "value-bbbbbb");
        driver.manage().addCookie(c1);
        driver.manage().addCookie(c2);
    
        //获得 cookie
        Set<Cookie> coo = driver.manage().getCookies();
        System.out.println(coo);
    
        //删除所有 cookie
        //driver.manage().deleteAllCookies();
    
        driver.quit();

     

     利用开发工具查看Cookies,俗话说的好,杀只蟑螂何必用火箭,F12能搞定的东西就不用Fiddler啦

     

    2018-01-25  14:49:22

    第十九章是调用JavaScript啊……最近想复习一下JavaScript呢,学完下一章复习一下吧。又想写一篇性能的,看心情吧

     

    //这是需要导的包
    import org.openqa.selenium.WebDriver;
    
    
        WebDriver driver = new ChromeDriver();
        //底部滚动条向右拉动100,垂直滚动条向下拉动450,就算没有滚动条也不会报错。window.scrollTo(0,450);
     ((JavascriptExecutor)driver).executeScript("window.scrollTo(100,450);");

    第二十章窗口截取。这里有一个包需要下载导入。配上连接http://commons.apache.org/proper/commons-io/download_io.cgi

     

    import java.io.File;
    import java.io.IOException;
    import org.apache.commons.io.FileUtils;
    
    
    File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        try {
          FileUtils.copyFile(srcFile,new File("d:\\报错截图\\screenshot.png"));
        } catch (IOException e) {
          e.printStackTrace();
        }

     

     

     20章全看完啦,看看还有其他的木有。。。如果有其他资料,或者其他知识请告知

    记得之前有大佬讲过分布式。
    看了JavaScript有nodejs自动化。

     

     

     

    新增:

    数据存储读取,数据存储有多种方法,数组、txt、csv、xml、数据库……通用性较高就用csv吧
    第三方jar包下载:avacsv2.1:http://sourceforge.net/projects/javacsv/files/

    如何导入百度搜:eclipse导入jar包

    案例:http://blog.csdn.net/yjlch1016/article/details/77850930

     

    posted on 2018-01-23 16:39 Zing_Z 阅读(...) 评论(...) 编辑 收藏

    展开全文
  • java selenium3开发(一):搭建开发环境 java selenium3开发(二):IE谷歌火狐打开 java selenium3开发(三):简单测试百度搜索 java selenium3开发(四):从打开到事件简单分析 java selenium3开发(五):Navigatio...
  • Java+Selenium爬虫介绍 场景:springboot+selenium实现自动爬取数据,爬虫是常见的一个功能,因为我们在做项目的时候会经常使用到一些数据从别的地方获取到,常用的是用python去爬虫。但Java也可以去实现简单的...
  • 在用Selenium做自动化操作时,一般最大化浏览器的代码都是:driver.manage().window().maximize(), 但是在Mac下这样是无法最大化Chrome浏览器的,解决方法: ChromeOptions options = new ChromeOptions();...
  • web自动--JAVA Selenium

    2019-02-27 15:56:58
    2 下载import selenium包 并JAVA导入该包。 导入包:右击创建的项目名--选最后一个properties--Java Build Path--右上单击Libraries--右边点击Add External JARs--选择下载解压好的selenium包全部里...
  • selenium安装,使用,页面元素操作:节点获取(id,class,name,css选择器),节点点击事件
  • Java Selenium学习笔记

    2020-05-19 18:34:57
    示例 DEMO: System.setProperty("webdriver.chrome.driver", "D:/developkit/driver/chromedriver.exe");...driver.findElement(By.id("kw1")).sendKeys("Selenium"); 支持的浏览器驱动:ChromeDriver...
  • Java+selenium maven配置 maven的配置,但还需要建立maven的本地库,修改apach-maven的setting....Java+selenium自动测试基础脚本 java配置好,maven配置好后,下载好selenium,浏览器驱动装好,试着建立一个mav...
  • java+selenium自动实践

    2018-12-11 17:43:00
    git+java+selenium+testng +maven+idea 1、git之代码维护(下载、分支切换、上传) 下载命令 "git clone git@github.com:Luna0715/learnmaven.git"git branch -a 列出所有分支git branch 查看本地分支创建分支:...
  • python脚本: from selenium import webdriver # 导入webdriver driver=webdriver.Chrome() # 启动浏览器 ...driver.maximize_window() # 浏览器窗口最大化 报错: selenium.common.exceptions...
  • java Selenium学习笔记

    2019-05-17 00:58:43
    driver.findElement(By.id(“kw”)).sendKeys(“java”); driver.findElement(By.id(“su”)).click(); 就像人的身份证,正确的情况下,不会有其他元素的id与之相等 2、name 像是人的名字,有可能重复,如果遇到多个...
  • package web.selenium2;     import junit.framework.TestCase;   import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org....
  • 本主要介绍以Java为基础,搭建Selenium自动测试环境,并且实现代码编写的过程。1.Selenium介绍Selenium 1.0 包含 core、IDE、RC、grid 四部分,selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构...
  • java selenium3开发(一):搭建开发环境 java selenium3开发(二):IE谷歌火狐打开 这篇将分享怎么用selenium3打开浏览器并模拟自动点击进行搜索,并介绍启动代码从开始到结束的整个过程。 第一步:用selenium打开...
  • java selenium3开发(一):搭建开发环境 java selenium3开发(二):IE谷歌火狐打开 java selenium3开发(三):简单测试百度搜索 在上一篇的分享里面简单的测试了百度的搜索并执行了点击事件,这篇就分析一下代码...
  • Selenium UI自动 一、准备浏览器驱动 Chrome驱动:https://npm.taobao.org/mirrors/chromedriver Firefox驱动:https://github.com/mozilla/geckodriver/releases/ IE驱动:...
  • java selenium (十) 操作浏览器 本篇文章介绍selenium 操作浏览器    阅读目录 浏览器最大化 前进,后退, 刷新截图操作模拟鼠标操作杀掉Windows浏览器进程     浏览器最大化 前进,后退, 刷新 ...
  • 1、下载安装JDK,配置Java环境 官网链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html 2、下载安装eclipse 官网链接:https://www.eclipse.org/downloads/ 点击下图圈...
  • 1 package com.selenium.driver; 2 import java.io.File; 3 import java.io.IOException; 4 import java.net.URL; 5 import java.util.HashMap; 6 import java.util.Map; 7 import java.util.Set;
  • 1、浏览器全屏 使用代码如下: ChromeDriver chrome = new ChromeDriver(); chrome.manage().window().fullscreen();...2、浏览器最大化 使用代码如下: ChromeDriver chrome = new ChromeDriver(); chrome....
  • 上一篇分享了怎么搭建java selenium3的开发环境,这一篇将分享怎么打开主流的3大浏览器,也就是IE,谷歌,火狐。 第一步:打开浏览器需要下载3大浏览器驱动,驱动下载在上一次已经分享过,这里放不了下载地址,找不...
  • seleninu3是自动测试的一个框架,并且是用java开发的,并且使用的非常多。 第一步:下载selenium,找到官网下载地址,找到Selenium Server ,这个是分布式测试服务,后面会分享,如图: 第二步:找到开发...
  • 浏览器主要操作方法来自接口org.openqa.selenium.WebDriver , 实现于org.openqa.selenium.remote.RemoteWebDriver这个类,然后不同浏览器的driver继承于RemoteWebDriver WebDriver diver = new FirefoxDriver();...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,081
精华内容 832
关键字:

javaselenium窗口最大化

java 订阅