1. iframe 的处理 查找元素必须在对应的 ifarme 中查找,否则是找不到的 // 传入参数为 frame 的序号,从0开始 driver.switchTo().frame(Int index); // 传入参数为 frame 的 ID 或者 Name 属性 driver.switchTo().frame(String nameOrId); // 传入参数为 frameElement driver.switchTo().frame(WebElement frameElement); /…
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Selenium在当前页面打开了新的窗口,此时就需要跳转到新的窗口去,就需要把窗口进行切换.宏哥这里简单举例一个测试场景,你在页面A点击一个连接,会在新的tab窗口打开页面B,这个时候,你在页面B点击一个连接,会在新的tab窗口打开页面C.这种情况,在测试中经常遇到,自动化中,webdriver是如何处…
总结:WEB UI自动化测试一般采用 POP(面向页面编程),自动化测试框架分三层,有时如果页面如果太多,不好管理,可以面向控件编程,即把控件当作页面,毕竟控件是有限的,所以封装页面的代码量会少很多,两种方式各有优劣.如果页面比较少的,建议可以全部封装为页面对象:如果页面比较多,而且跳转复杂,建议使用两者结合的方式,一级页面,二级页面封装,三级以上页面,就不需要封装,使用控件对象完成页面操作.利用封装好的页面对象/控件对象,再进一步完成业务关键字封装,比如登录,注册,添加商品,支付等等操作,这样…
操作浏览器的主要方法都来自 org.openqa.selenium.WebDriver 这个接口 这些方法都是在 org.openqa.selenium.remote.RemoteWebDriver这个类中实现的,然后不同浏览的 driver类继承RemoteWebDriver  1. 打开一个浏览器  //IE浏览器 System.setProperty("webdriver.ie.driver", ".\\Tools\\IEDriverServer.exe");…
org.openqa.selenium.interactions.Actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作.对于这些操作,使用 perform()方法进行执行.可以完成单一的操作,也可以完成几个操作的组合. 1. 模拟鼠标操作 // 新建一个action Actions action = new Actions(driver); // 鼠标左键单击 action.click().perform(); // 鼠标左键双击 action.doubleClic…
1. 操作cookie // 增加一个 name = "name",value="value" 的 cookie Cookie cookie = new Cookie("name", "value"); driver.manage().addCookie(cookie); // 得到当前页面下所有的 cookies ,并且输出它们的所在域.name.value.有效日期和路径 Set<Cookie> cookies…
Selenium-Webdriver 提供了强大的元素定位方法,支持以下三种方法: 单个对象的定位方法,多个对象的定位方法和层级定位 1. 定位单个元素 // 对于元素的属性包含 id 的情况适用,推荐使用 WebElement we = drive.findElement(By.id("id")); // 对于元素的属性包含 name 的情况适用,推荐使用 WebElement we = drive.findElement(By.name("name")); //…
本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1.常见API 2.打开网址 3.操作浏览器 quit()没有完全关闭进程,依旧占用资源. 4.输入框操作 5.选择框操作 6.特殊窗口操作 7.JS操作 8.页面元素处理 获取对象状态: 9.特殊操作…
本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1. 元素的定位 2.By.id 打开Firefox,打开百度首页,右键点击选择“使用Firebug”查看元素. 点击红框内的按钮,将鼠标指针放入输入框,可以看到如下一行被高亮: 对输入框的定位可以用如下语句实现: 如何查看输入框是否被定位到了? 切换到“CSS”,在选择器中输入“#kw”,回车,可以看到: 找到了类"s_ipt",而且只列出了一个,说明页面上只有一个输入框,定位成功. 在输入框输入“selenium”. 3.…
NoSuchElementException 1.检查元素的定位器是否正确 2.如果定位器正确,增加休眠时间 3.等待了足够的时间依然找不到的话,更换定位器的定位方式 NoSuchWindowException 1.检查窗口切换的定位器是否正确 2.切换之前增加休眠时间 NoAlertPresentException 1.确保 alert 会出现 2.切换到 alert 之前增加休眠时间 NoSuchFrameException 1.检查 frame 切换的定位器是否正确 2.检查 frame…