Python webdriver API
测试小小小
这个作者很懒,什么都没留下…
展开
-
Python webdriver API(十六)验证码问题
Python webdriver API(十六)验证码问题对于web 应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性 Python学习地址:https://ke.qq.com/course/2707042?flowToken=1025648处理验证码的几种方法:去掉验证码这是最简单的方法,对于开...原创 2020-09-09 18:43:33 · 244 阅读 · 0 评论 -
Python webdriver API(十五)cookie处理
Python webdriver API(十五)cookie处理有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的。webdriver 可以读取、添加和删除cookie 信息。webdriver 操作cookie 的方法有: get_cookies() 获得所有cookie 信息 get_cookie(name) 返回特定name 有cookie 信息 add_cookie(cookie_dict) 添加cook原创 2020-09-09 18:41:58 · 327 阅读 · 0 评论 -
Python webdriver API(十四)调用JavaScript和控制浏览器滚动条
Python webdriver API(十四)调用JavaScript和控制浏览器滚动条没有js基础,先简单了解下,后期再研究吧调用JavaScript Python学习地址:https://ke.qq.com/course/2707042?flowToken=1025648webdriver 提供了execute_script() 接口用来调用js 代码。execute_script(script, *args)在当前窗口/框架同步执行javaScriptsc...原创 2020-09-09 18:40:21 · 251 阅读 · 0 评论 -
Python webdriver API(十三)下载文件
Python webdriver API(十三)下载文件webdriver 允许我们设置默认的文件下载路径。也就是说文件会自动下载并且存在设置的那个目录中,这样可以跳过浏览器的下载弹框提示。Chrome下载 Python学习地址:https://ke.qq.com/course/2707042?flowToken=1025648思路:1、实例化一个options对象2、设置配置,并加载到options3、启动浏览器,点击下载链接使用谷歌浏览器下载的优势,配..原创 2020-09-09 17:30:38 · 689 阅读 · 0 评论 -
Python webdriver API(十二)上传文件
Python webdriver API(十二)上传文件上传过程一般要打开一个系统的window 窗口,从窗口选择本地文件添加。所以,一般会卡在如何操作本地window 窗口。其实,上传本地文件没我们想的那么复杂;只要定位上传按钮,通send_keys 添加本地文件路径就可以了。绝对路径和相对路径都可以,关键是上传的文件存在。Python学习地址:https://ke.qq.com/course/2707042?flowToken=1025648selenium是怎么实现文件上传和哪些.原创 2020-09-09 17:28:54 · 229 阅读 · 0 评论 -
Python webdriver API(十一)下拉菜单处理
Python webdriver API(十二)下拉菜单处理测试过程中经常遇到下来菜单,比如说分页,每页显示的条数,以及语言的切换,很多时候经常是以下来菜单的形式展现,下面我们看一下selenium如何处理下来菜单。首先selenium 很人性化的给提供了一个Select的模块,供处理下来菜单,首先我们需要导入Select,通过from selenium.webdriver.support.select import Select来导入。Select中提供几个用于定位的option的方.原创 2020-09-09 17:26:09 · 234 阅读 · 0 评论 -
Python webdriver API(十)浏览器多窗口处理
Python webdriver API(十)浏览器多窗口处理有时候我们在测试一个web 应用时会出现多个浏览器窗口的情况 。webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的元素。要想在多个窗口之间切换,首先要获得每一个窗口的唯一标识符号(句柄)。通过获得的句柄来区别分不同的窗口,从而对不同窗口上的元素进行操作处理过程:这个处理过程相比我们前面的元素操作来说稍微复杂一些,执行过程为:首选通过nowhandle 获得当前窗口(百度首页)的句柄;然原创 2020-09-08 16:43:46 · 440 阅读 · 0 评论 -
Python webdriver API(九)处理对话框
Python webdriver API(九)处理对话框在实际系统中,在完成某些操作时会弹出对话框来提示,主要分为"警告消息框","确认消息框","提示消息对话"三种类型的对话框。1.警告消息框(alert)警告消息框提供了一个"确定"按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说用户必须先关闭该消息框然后才能继续进行操作。2.确认消息框(confirm)确认消息框向用户提示一个"是与否"问题,用户可以根据选择"确定"按钮和"取消"按钮。3.提示消息对话(prompt原创 2020-09-08 16:29:31 · 214 阅读 · 0 评论 -
Python webdriver API(八)定位frame中的对象
Python webdriver API(八)定位frame中的对象在web 应用中经常会出现frame 嵌套的应用,假设页面上有A、B 两个frame,其中B 在A 内,那么定位B 中的内容则需要先到A,然后再到B。switch_to.frame() 方法可以把当前定位的主体切换了frame 里。怎么理解这句话呢?我们可以从frame的实质去理解。frame 中实际上是嵌入了另一个页面,而webdriver 每次只能在一个页面识别,因此才需要用switch_to.frame() 方法去.原创 2020-09-08 16:27:50 · 231 阅读 · 0 评论 -
Python webdriver API(七)层级定位
Python webdriver API(七)层级定位在实际的项目测试中,经常会有这样的需求:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个。由于属性基本相当,所以在定位的时候会有些麻烦,这时候就需要用到层级定位。先定位父元素,然后再通过父元素定位子孙元素。1、层级定位效果如下:2、通过xpath定位问题:通过xpath就可以直接定位,为什么还需要层级定位这个概念呢?本文参考《selenium自动化实战--虫师》文中所需HTML在上书中可.原创 2020-09-08 16:26:04 · 220 阅读 · 0 评论 -
Python webdriver API(六)定位一组对象
Python webdriver API(六)定位一组对象WebElement 接口同样提供了定位一组元素的方法find_elements。find_elements返回的是一个list定位一组对象一般用于以下场景: 批量操作对象,比如将页面上所有的checkbox 都勾上 先获取一组对象,再在这组对象中过滤出需要具体定位的一些对象。比如定位出页面上所有的checkbox,然后选择最后一个。1、批量操作对象,比如将页面上所有的checkbox 都勾上通...原创 2020-09-08 16:23:31 · 192 阅读 · 0 评论 -
Python webdriver API(五)打印信息
Python webdriver API(五)打印信息通常我们可以通过获得页面的title 、URL 地址,页面上的标识性信息(如,登录成功的“欢迎,xxx”信息)来判断用例执行成功。在实际测试中,访问1 个页面然判断其title 是否符合预期是很常见的一个用例,假如一个页面的title应该是“快播私有云”,那么用例可以这样描述:访问该页面,判断页面title 是否等于“快播私有云”。获取当前URL 也是非常重要的一个操作,在某些情况下,你访问一个URL,这时系统会自动对这个URL ..原创 2020-09-08 16:21:33 · 327 阅读 · 0 评论 -
Python webdriver API(四)键盘事件
Python webdriver API(四)键盘事件我们在实际的测试工作中,有时候我们在测试时需要使用tab 键将焦点转移到下一个元素,用于验 证元素的排序是否正确。webdriver 的Keys()类提供键盘上所有按键的操作,甚至可以模拟一些组合建的操作,如Ctrl+A ,Ctrl+C/Ctrl+V 等。在某些更复杂的情况下,还会出现使用send_keys 来模拟上下键来操作下拉列表的情况。Keys()的使用from selenium.webdriver.common.k..原创 2020-09-08 16:20:22 · 146 阅读 · 0 评论 -
Python webdriver API(三)鼠标事件
Python webdriver API(三)鼠标事件一、鼠标事件ActionChains类包含了鼠标操作。ActionChains类中鼠标操作的常用方法:context_click()------------------右击double_click()-------------------双击drag_and_drop()---------------拖动move_to_element()------------鼠标悬停在一个元素上click_and_hold()-原创 2020-09-08 14:06:44 · 1095 阅读 · 0 评论 -
Python webdriver API(二)操作测试对象
Python webdriver API(二)操作测试对象一、操作测试对象一般来说,所有有趣的操作与页面交互都将通过WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作。webdriver中比较常用的操作元素的方法有下面几个:clear 清除元素的内容,如果可以的话send_keys 在元素上模拟按键输入click 单击元素submit 提交表单下面以登录360中心为例来展示常用操作的使用fromseleniumimportw.原创 2020-09-08 14:04:20 · 191 阅读 · 0 评论 -
Python webdriver API(一)浏览器的操作和简单对象的定位
Python webdriver API(一)浏览器的操作和简单对象的定位一、浏览器的操作1、浏览器最大化在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性。比如可以跟sikuli 结合,使用sikuli 操作flash。(待实验)import timefrom selenium import webdriverbrowser = webdriver.Firefox()browser.get("http://www原创 2020-09-08 14:02:39 · 252 阅读 · 0 评论