随笔分类 -  PythonSelenium

摘要:webdriver允许我们设置默认的文件下载路径,也就是说,文件会自动下载并保存到设置的目录中 下面以Firefox浏览器为例: browser.download.dir:指定下载路径 browser.download.folderList:设置成 2 表示使用自定义下载路径;设置成 0 表示下载到 阅读全文
posted @ 2017-08-31 17:06 Silence&QH 阅读(1322) 评论(0) 推荐(0) 编辑
摘要:文件上传操作也比较常见功能之一,上传功能没有用到新有方法或函数,上传过程一般要打开一个本地窗口,从窗口选择本地文件添加。所以,一般会卡在如何操作本地窗口添加上传文件只要定位上传按钮,通send_keys 添加本地文件路径就可以了。绝对路径和相对路径都可以,关键是上传的文件存在。下面通地例子演示。 1 阅读全文
posted @ 2017-08-31 15:12 Silence&QH 阅读(454) 评论(0) 推荐(0) 编辑
摘要:alert\confirm\prompt 弹出框操作主要方法有: text 返回 alert/confirm/prompt 中的文字信息 accept 点击确认按钮 dismiss 点击取消按钮,如果有的话 send_keys 输入值,这个 alert\confirm 没有对话框就不能用了,不然会报 阅读全文
posted @ 2017-08-30 17:09 Silence&QH 阅读(2077) 评论(0) 推荐(0) 编辑
摘要:1、多表单切换 在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单 阅读全文
posted @ 2017-08-30 16:16 Silence&QH 阅读(11651) 评论(0) 推荐(1) 编辑
摘要:对于web应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的, 对于系统来说使用验证码可以有效果的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性。但对于测试人员来说,不管是进行性能测试还是自动化测试 都是 阅读全文
posted @ 2017-08-29 16:57 Silence&QH 阅读(1171) 评论(0) 推荐(0) 编辑
摘要:自动化领域的两种驱动,对象驱动与数据驱动 数据驱动:测试数据的改变引起执行结果的改变 叫 数据驱动 关键字驱动:测试对象名字的改变起引起测试结果的改变 叫 关键字驱动 1 、读取文件参数化 以百度表搜索为例,我们可以通过脚本循环执行,读取一文件中不同的内容来完成自动化工作,也就是说我们每次取的文件里 阅读全文
posted @ 2017-08-23 15:42 Silence&QH 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:异常捕捉与错误截图 创建错误截图文件夹,目录结果如下: 用例不可能每一次运行都成功,肯定运行时候有不成功的时候,关键是我们捕捉到错误,并以把并错误截图保存,这将是一个非常棒的功能,也会给我们错误定位带来方便。 baidu.py 这里特意把脚本写错误的,使脚本找不到 id 为 kwddd 的元素,通过 阅读全文
posted @ 2017-08-23 10:58 Silence&QH 阅读(1497) 评论(0) 推荐(1) 编辑
摘要:cookie 处理本节重点: driver.get_cookies() 获得 cookie 信息 add_cookie(cookie_dict) 向 cookie 添加会话信息 delete_cookie(name) 删除特定(部分)的 cookie delete_all_cookies() 删除所 阅读全文
posted @ 2017-08-22 15:10 Silence&QH 阅读(512) 评论(0) 推荐(0) 编辑
摘要:控制浏览器滚动条 有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助 js 是来进行操作。一般用到操作滚动条的会两个场景: 注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方。 要操作的页面元素不在屏幕范围,无法进行操作,需要拖动滚动条 其实, 阅读全文
posted @ 2017-08-22 11:29 Silence&QH 阅读(645) 评论(0) 推荐(0) 编辑
摘要:1、定位一组元素webdriver 可以很方便的使用 findElement 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用 findElements 方法。定位一组对象一般用于以下场景: 批量操作对象,比如将页面上所有的 checkbox 都勾上 先获取一组对象,再在 阅读全文
posted @ 2017-08-21 11:46 Silence&QH 阅读(7157) 评论(0) 推荐(0) 编辑
摘要:1、操作测试对象前面讲到了不少知识都是定位元素,定位只是第一步,定位之后需要对这个元素进行操作。鼠标点击或者键盘输入,这要取决于我们定位的是按钮还输入框。一般来说,webdriver 中比较常用的操作对象的方法有下面几个 click 点击对象 send_keys 在对象上模拟按键输入 clear 清 阅读全文
posted @ 2017-08-21 11:00 Silence&QH 阅读(700) 评论(0) 推荐(0) 编辑
摘要:1 、浏览器最大化我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行。 1.1设置浏览器宽、高 最大化还是不够灵活,随意的设置浏览的宽、高显示 2、操作浏览器的前进、后退浏览器上有一个后退、前进按钮,对于浏览网页的人是比较方便的;对于做 web 自动化 阅读全文
posted @ 2017-08-18 17:19 Silence&QH 阅读(346) 评论(0) 推荐(0) 编辑
摘要:1、第一个脚本 1.1 脚本解析# coding = utf-8可加可不加,开发人员喜欢加一下,防止乱码嘛。from selenium import webdriver使用 selenium 的 webdriver 里的函数,首先把包导进来browser = webdriver.Firefox()需 阅读全文
posted @ 2017-08-18 17:07 Silence&QH 阅读(2745) 评论(0) 推荐(0) 编辑