随笔分类 -  selenium+python(WebDriver API)

1 2 下一页

selenium2 基于Python语言
验证码问题
摘要:对于web 应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性。但对于测试人员来说,不管是进行性能测试还是自动化测试都是一 阅读全文

posted @ 2017-01-04 16:37 chenzx0918 阅读(212) 评论(0) 推荐(0)

获取对象的属性
摘要:获取测试对象的属性能够帮我们更好的进行对象的定位。比如页面上有很多标签为input 元素,而我们需要定位其中1 个有具有data-node 属性不一样的元素。由于webdriver 是不支持直接使用data-node 来定位对象的,所以我们只能先把所有标签为input 都找到,然后遍历这些input 阅读全文

posted @ 2017-01-04 16:11 chenzx0918 阅读(158) 评论(0) 推荐(0)

cookie处理
摘要:有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的。webdriver 可以读取、添加和删除cookie信息。 webdriver 操作cookie 的方法有: get_cookies() 获得所有cookie 信息get_cooki 阅读全文

posted @ 2017-01-04 15:13 chenzx0918 阅读(141) 评论(0) 推荐(0)

控制浏览器滚动条
摘要:有时候web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素,这个时候就要控制页面滚动条的拖动,但滚动条并非页面上的元素,可以借助JavaScript是来完成操作。 一般用到操作滚动条的会两个场景: 注册时的法律条文的阅读,判断用户是否阅读完成的标准是: 阅读全文

posted @ 2017-01-04 11:00 chenzx0918 阅读(295) 评论(0) 推荐(0)

调用JavaScript
摘要:当webdriver 遇到没法完成的操作时,笔者可以考虑借用JavaScript 来完成,比下下面的例子,通过JavaScript 来隐藏页面上的元素。除了完成webdriver 无法完成的操作,如果你熟悉JavaScript的话,那么使用webdriver 执行JavaScript 是一件非常高效 阅读全文

posted @ 2017-01-03 17:41 chenzx0918 阅读(181) 评论(0) 推荐(0)

下载文件
摘要:webdriver 允许我们设置默认的文件下载路径。也就是说文件会自动下载并且存在设置的那个目录中。要想下载文件,首选要先确定你所要下载的文件的类型。要识别自动文件的下载类型可以使用curl ,如下图所示: 图3.16 curl 是利用URL 语法在命令行方式下工作的开源文件传输工具。 Conten 阅读全文

posted @ 2017-01-03 16:47 chenzx0918 阅读(559) 评论(0) 推荐(0)

上传文件
摘要:文件上传操作也比较常见功能之一,上传功能操作webdriver 并没有提供对应的方法,关键上传文件的思路。 上传过程一般要打开一个系统的window 窗口,从窗口选择本地文件添加。所以,一般会卡在如何操作本地window 窗口。其实,上传本地文件没我们想的那么复杂;只要定位上传按钮,通send_ke 阅读全文

posted @ 2017-01-03 14:52 chenzx0918 阅读(247) 评论(0) 推荐(0)

分页处理
摘要:对于web 页面上的分页功能,我们一般做做以下操作: 获取总页数 翻页操作(上一页,下一页) 对于有些分页功能提供上一页,下一页按钮,以及可以输入具体页面数跳转功能不在本例的讨论范围。 HTML代码: ....<select id="pageElm_a74e_ce2c" class="yem" ac 阅读全文

posted @ 2016-12-27 17:22 chenzx0918 阅读(141) 评论(0) 推荐(0)

下拉框处理
摘要:下拉框也是web 页面上非常常见的功能,webdriver 对于一般的下拉框处理起来也相当简单,要想定位下拉框中的内容,首先需要定位到下拉框;这样的二次定位,我们在前面的例子中已经有过使用,下面通过一个具体的例子来说明具体定位方法。 drop_down.html html代码: <html> <bo 阅读全文

posted @ 2016-12-27 16:58 chenzx0918 阅读(160) 评论(0) 推荐(0)

浏览器多窗口处理
摘要:有时候我们在测试一个web 应用时会出现多个浏览器窗口的情况,在selenium1.0 中这个问题比较难处理。webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的元素。 图 3.10 要想在多个窗口之间切换,首先要获得每一个窗口的唯一标识符号(句柄)。通过获得的句柄来 阅读全文

posted @ 2016-12-27 15:39 chenzx0918 阅读(328) 评论(0) 推荐(0)

对话框处理
摘要:页面上弹出的对话框是自动化测试经常会遇到的一个问题;很多情况下对话框是一个iframe,如上一节中介绍的例子,处理起来稍微有点麻烦;但现在很多前端框架的对话框是div 形式的,这就让我们的处理变得十分简单。 图3.9 图3.9 为百度首页的登录对话框,下面通过脚本对百度进行登录操作: #coding 阅读全文

posted @ 2016-12-27 14:31 chenzx0918 阅读(175) 评论(0) 推荐(0)

定位frame 中的对象
摘要:在web 应用中经常会出现frame 嵌套的应用,假设页面上有A、B 两个frame,其中B 在A 内,那么定位B 中的内容则需要先到A,然后再到B。switch_to_frame 方法可以把当前定位的主体切换了frame 里。怎么理解这句话呢?我们可以从frame的实质去理解。frame 中实际上 阅读全文

posted @ 2016-12-27 14:15 chenzx0918 阅读(320) 评论(0) 推荐(0)

层级定位
摘要:在实际的项目测试中,经常会有这样的需求:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个。由于属性基本相当,所以在定位的时候会有些麻烦,这时候就需要用到层级定位。先定位父元素,然后再通过父元素定位子孙元素。 Html代码示例: level_locate.html <html> <hea 阅读全文

posted @ 2016-12-27 11:17 chenzx0918 阅读(1145) 评论(0) 推荐(0)

定位一组对象-checkbox 、radiobutton
摘要:webdriver 可以很方便的使用find_element 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,WebElement 接口同样提供了定位一组元素的方法find_elements。 定位一组对象一般用于以下场景: 批量操作对象,比如将页面上所有的checkbox 都勾上。 先 阅读全文

posted @ 2016-12-27 10:31 chenzx0918 阅读(409) 评论(0) 推荐(0)

设置等待时间
摘要:有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间。 sleep():设置固定休眠时间。python 的time 包提供了休眠方法sleep() ,导入time 包后就可以使用sleep()进行脚本的执行过程进行休眠。 implicitly_wait():是webdirver 提供的一个超时等待 阅读全文

posted @ 2016-12-26 16:54 chenzx0918 阅读(6162) 评论(0) 推荐(0)

打印信息-脚本运行是否成功
摘要:当我们要设计功能测试用例时,一般会有预期结果,有些预期结果是由测试人员通过肉眼进行判断的。因为自动化测试运行过程是无人值守,一般情况下,脚本运行成功,没有异样信息就标识用户执行成功。当然,这还不走在足够去正明一个用例确实是执行成功的。所以我们需要获得更多的信息来证明用例执行结果确实是成功的。通常我们 阅读全文

posted @ 2016-12-26 15:49 chenzx0918 阅读(291) 评论(0) 推荐(0)

键盘事件
摘要:我们在实际的测试工作中,有时候我们在测试时需要使用tab 键将焦点转移到下一个元素,用于验证元素的排序是否正确。webdriver 的Keys()类提供键盘上所有按键的操作,甚至可以模拟一些组合建的操作,如Ctrl+A ,Ctrl+C/Ctrl+V 等。在某些更复杂的情况下,还会出现使用send_k 阅读全文

posted @ 2016-12-26 15:24 chenzx0918 阅读(180) 评论(0) 推荐(0)

鼠标事件
摘要:前面例子中我们已经学习到可以用click()来模拟鼠标的单击操作,而我们在实际的web 产品测试中发现,有关鼠标的操作,不单单只有单击,有时候还要和到右击,双击,拖动等操作,这些操作包含在ActionChains 类中。 ActionChains 类鼠标操作的常用方法: context_click( 阅读全文

posted @ 2016-12-26 10:50 chenzx0918 阅读(198) 评论(0) 推荐(0)

WebElement 接口常用方法
摘要:WebElement 接口除了我们前面介绍的方法外,它还包含了别一些有用的方法。下面,我们例举例几个比较有用的方法。 1)size:返回元素的尺寸 代码示例: #返回百度输入狂的宽高size=driver.find_element_by_id("kw").sizeprint size 2)text: 阅读全文

posted @ 2016-12-26 10:45 chenzx0918 阅读(201) 评论(0) 推荐(0)

操作测试对象-概述
摘要:前面讲到了不少知识都是定位对象,定位只是第一步,定位之后需要对这个对象进行操作。鼠标点击呢还是键盘输入,这要取决于我们定位的对象所支持的操作。一般来说,所有有趣的操作与页面交互都将通过WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作。 webdriver 中比较 阅读全文

posted @ 2016-12-26 10:28 chenzx0918 阅读(157) 评论(0) 推荐(0)

1 2 下一页

导航