1.1.浏览器最大化在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟 sikuli 结合,使用 sikuli 操作 flash.#coding=utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get("http://www.baidu.com")print "浏览器最大化"driver.maximize_w…
有时候我们在测试一个 web 应用时会出现多个浏览器窗口的情况,在 selenium1.0 中这个问题比较难处理.webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的元素.图 3.10要想在多个窗口之间切换,首先要获得每一个窗口的唯一标识符号(句柄) .通过获得的句柄来区别分不同的窗口,从而对不同窗口上的元素进行操作.#coding=utf-8from selenium import webdriverimport timedriver = webdriver.F…
当 webdriver 遇到没法完成的操作时,笔者可以考虑借用 JavaScript 来完成,比下下面的例子,通过 JavaScript 来隐藏页面上的元素.除了完成 webdriver 无法完成的操作,如果你熟悉 JavaScript的话,那么使用 webdriver 执行 JavaScript 是一件非常高效的事情.webdriver 提供了 execute_script() 接口用来调用 js 代码.js.html<html><head><meta http-equiv…
一般来说,所有有趣的操作与页面交互都将通过 WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作.webdriver 中比较常用的操作元素的方法有下面几个: clear 清除元素的内容,如果可以的话 send_keys 在元素上模拟按键输入 click 单击元素 submit 提交表单3.1.登录实例下面以快播私有云登录实例来展示常见元素操作的使用:#coding=utf-8from selenium import webdriverdriver = w…
对象(元素)的定位和操作是自动化测试的核心部分,其中操作又是建立在定位的基础上的,因此元素定位就显得非常重要. (本书中用到的对象与元素同为一个事物)一个对象就像是一个人,他会有各种的特征(属性) ,如比我们可以通过一个人的身份证号.姓名或者他的住址找到这个人.那么一个元素也有类似的属性,我们可以通过这种唯一区别于其它元素的属性来定位这个元素.当然,除了要操作元素时需要定位元素外,有时候我们只是为了获得元素的属性(class 属性,name 属性) .text 或数量也需要定位元素.webdri…
1.安装及下载 selenium安装: pip install selenium  即可自动安装selenium geckodriver下载:https://github.com/mozilla/geckodriver/releases Chromedriver下载:http://npm.taobao.org/mirrors/chromedriver/ 2.保存路径 将下载好的geckodriver以及Chromedriver解压到桌面,打开我的电脑,找到Python文件夹中anancode文件…
由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium import webdriver driver=webdriver.Firefox() driver.get(r'http://www.baidu.com/') print 'driver attributes:' print dir(driver) elem=driver.find_element_by_id('kw') pr…
有时候 web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素, 这个时候就要控制页面滚动条的拖动, 但滚动条并非页面上的元素, 可以借助 JavaScript是来完成操作.一般用到操作滚动条的会两个场景: 注册时的法律条文的阅读,判断用户是否阅读完成的标准是:滚动条是否拉到最下方. 要操作的页面元素不在视觉范围,无法进行操作,需要拖动滚动条用于标识滚动条位置的代码<body onload= "document.body.scrollTop…
**​​前言** 本文主要讲解webdriber框架,Selenium 就像真实用户所做的一样,Selenium 测试可以在 Windows.Linux 和 Macintosh上的 Internet Explorer.Chrome和 Firefox 中运行.当然如果为了可视化你可以在浏览器使用selenium的IDE插件,它是一个浏览器插件,可以下各浏览器插件中添加. 下面主要说明使用python如何调用webdriver框架的API,以及对浏览器如何控制操作. 一.启动浏览器并访问一个网址 1…
webdriver 可以很方便的使用 find_element 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,WebElement 接口同样提供了定位一组元素的方法 find_elements.定位一组对象一般用于以下场景: 批量操作对象,比如将页面上所有的 checkbox 都勾上 先获取一组对象,再在这组对象中过滤出需要具体定位的一些对象.比如定位出页面上所有的checkbox,然后选择最后一个.checkbox.html<html><head><met…