一.隐式等待 package com.automation.waits; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openq…
1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chromeDriverDir = "D:\\workspace\\A_Test\\resource\\chromedriver.exe"; /** * 打开谷歌浏览器: */ public void openChromeBrowser(){ System.setProperty("web…
一.Selenium2的原理 Selenium1是thoughtworks公司的一个产品经理,为了解决重复烦躁的验收工作,写的一个自动化测试工具,其原理是用JS注入的方 式来模拟人工的操作,但是由于JS的同源策略,也就是JS只能在一个域中的页面进行通讯,如果跨域,则就不能访问了,所以导致了如果页面中有iframe 时,就无法操作了. Selenium2是Selenium1+WebDriver的产物: 而WebDriver是Google的产品:Google收购Selenium1之后,整合了其自己的…
alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理.而现在webdriver对这些弹出框做了专门的处理,使用selenium2处理对话框就变得十分方便简洁. alert.confirm.prompt 不是 JavaScript 核心的函数. alert 是 BOM 中的成员函数,具体说是 window.alert. 所以说,alert对话框显示在最前,并且禁止了浏览器页面其他的操作.废话不多说,看看怎么用webdri…
一.操作日期选择框 QQ图片20161118215530.png1336x545 22.6 KB 说明:日期选择框大部分是不支持前端输入的,因为这个对象是 readOnly,只读属性,selenium提供了JavaScript执行器,对前台源代码进行操作,间接达到输入传值的目的: (1)方式一:删除对象的readOnly属性,然后对输入框输入操作: /** * 去掉日期选择框的只读属性:readOnly,然后对日期输入框输入值: */ public void selectDate01(){ //…
一.准备工作 我们常用的浏览器主要有三个:chrome.Firefox.IE:其中chrome 和 IE 需要下载驱动程序,才能启动浏览器,注意驱动程序有32位和64位两种. 另外:如何查看本机的浏览器版本:(1)IE:查看安装路径,如果是安装在Program Files (x86)中,表示32位.如果安装在Program Files 中,表示64位:(2)Chrome:在谷歌浏览器地址栏输入:chrome:version,然后回车,会有详细显示: QQ图片20161115202252.png1…
一.几种网页定位方式 webdriver的页面定位很灵活,提供了8种定位方式: 其中,常见的有三种:id .cssSelector .xpath: 一个元素如果存在 id 属性,则这个 id 的值,在当前页面绝对是唯一的,测试代码根据id来查找元素,速度也是最快的,所以如果条件允许,当然用id最省事: 而很多时候,元素对象并不存在id.或者存在动态的id,那么选择xpath.或者 cssSelector,可以很好的解决定位困难的难题:他们可以定位到网页上90%以上的元素. 二.xpath定位法…
selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待 本例包括窗口最大化,刷新,切换到指定窗口,后退,前进,获取当前窗口url等操作: import java.util.Set; import java.util.concurrent.TimeUnit; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.omg.CORBA.PUBLIC_MEMBER; import or…
Java并发之显式锁和隐式锁的区别 在面试的过程中有可能会问到:在Java并发编程中,锁有两种实现:使用隐式锁和使用显示锁分别是什么?两者的区别是什么?所谓的显式锁和隐式锁的区别也就是说说Synchronized(下文简称:sync)和lock(下文就用ReentrantLock来代之lock)的区别. 本文主要内容:将通过七个方面详细介绍sync和lock的区别.通过生活case中的X二代和普通人比较大家更容易理解这两者之间的区别 Java中隐式锁:synchronized:显式锁:lock…
在selenium-webdriver中等待的方式简单可以概括为三种: 1 导入time包,调用time.sleep()的方法传入时间,这种方式也叫强制等待,固定死等一个时间 2 隐式等待,直接调用implicitly_wait()方法,传入等待时间,比如implicitly_wait(10),就代表最长等待10秒 3 显式等待,导入WebDriverWait和expected_conditions包,调用until()者until_not()方法 下面重点介绍后两种方式 一. 隐式等待:表示在…