场景 webdriver 中处理JavaScript 所生成的alert.confirm 以及prompt 是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confirm/prompt.然后使用text/accept/dismiss/send_keys 按需进行操做. text                        返回alert/confirm/prompt 中的文字信息 accept                   点击确认按钮 dismiss …
About 回到顶部 重新认识alert首先,不是所有的alert都能叫做alert框.JavaScript中,关于消息提示框的方法有三个(虽然都跟alert差不多): alert(message)方法用于显示带有一条指定消息和一个 OK 按钮的警告框. confirm(message)方法用于显示一个带有指定消息和 OK 及取消按钮的对话框.如果用户点击确定按钮,则 confirm() 返回 true.如果点击取消按钮,则 confirm() 返回 false. prompt(text,def…
webdriver中处理js所生成的alert.confirm以及prompt,采用switch_to_alert()方法定位到alert/confirm/prompt.然后使用text/accept/dismiss/send_keys进行操作 ①text:返回alert/confirm/prompt中的文字信息 ②accept:点击确认按钮 ③dismiss:点击取消按钮 ④send_keys:输入值,这个alert/confirm/prompt没有对话框就不能使用,否则会报错 eg:百度的设…
测试用例场景 webdriver中处理原生的js alert confirm 以及prompt是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confirm/prompt.然后使用text/accept/dismiss/send_keys按需进行操做 text:返回alert/confirm/prompt中的文字信息 accept:点击确认按钮 dismiss:点击取消按钮,如果有的话 send_keys: 向prompt中输入文字 Python脚本 测试用HT…
webdriver 中处理 JavaScript 所生成的 alert.confirm 以及 prompt 是很简单的.具体思路是使用switch_to.alert()方法定位到 alert/confirm/prompt.然后使用 text/accept/dismiss/send_keys 按需进行操做. text 返回 alert/confirm/prompt 中的文字信息. accept 点击确认按钮. dismiss 点击取消按钮,如果有的话. send_keys 输入值,这个 a…
前言 不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决. alert\confirm\prompt弹出框操作主要方法有: text:获取文本值 accept() :点击"确认" dismiss() :点击"取消"或者叉掉对话框 send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没有输入框 一.认识alert\confirm\…
一.Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作. Confirm 弹出窗口: 有确认和取消按钮,该弹出窗口无法用页面元素定位,不关闭窗口无法在页面上做其他操作. Prompt弹出窗口: 有输入框.确认和取消按钮,该弹出窗口无法用页面元素定位,不关闭窗口无法在页面上做其他操作. 注意:3种窗口为浏览器自带的窗口,该窗口无法定位到元素,能定位到元素需要使用WebElement操作.…
1. Alert , 先用常规办法定位到能触发alert的按钮 , 然后 Alert alert = driver.switchTo().alert(); alert.accept(); 如果alert框确认后,还好连续弹出alert框,继续同样操作,注意延时...不然可能因为太快,出错,坑. Alert alert = driver.switchTo().alert(); alert.accept(); Thread.sleep(1000); alert = driver.switchTo()…
场景 下拉框也是web 页面上非常常见的功能,webdriver 对于一般的下拉框处理起来也相当简单,要想定位下拉框中的内容,首先需要定位到下拉框:这样的二次定位 下拉框一般有以下两种方式: 鼠标移上去直接弹出的,那么我们可以使用move_to_element()进行操作,在上一章alert/confirm/prompt处理章节已经介绍 下拉框处理是两次点击,第一点击弹出下拉框,第二次点击操作元素,下面将介绍这种 代码 #!/usr/bin/env python # -*- codinfg:ut…
一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大化 driver.set_window_size(400,800) # 设置窗口大小 driver.back() # 回退一层 driver.forward() # 前进一层 driver.quit() # 退出浏览器 driver.close() # 关闭浏览器 二.元素定位 # 根据id定位 d…
webdriver 中处理JavaScript 所生成的alert.confirm 以及prompt 是很简单的.具体思路是使用switch_to_alert()方法定位到alert/confirm/prompt.然后使用text/accept/dismiss/send_keys 按需进行操做. text 返回alert/confirm/prompt 中的文字信息. accept 点击确认按钮. dismiss 点击取消按钮,如果有的话. send_keys 输入值,这个alert\confir…
2.11 alert\confirm\prompt 前言   不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决.alert\confirm\prompt弹出框操作主要方法有:text:获取文本值accept() :点击"确认"dismiss() :点击"取消"或者叉掉对话框send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没…
场景:在执行js的时候,我们希望运行到某处,进行用户交互,根据交互的内容,运行下面的程序:下面的js程序需要用的和用户交互的内容,所以,和用户交互时,后面的程序必须停止运行 方案: 1. 原生的alert/confirm/prompt是可以实现这样的操作的,但是它们的界面很丑,而且有些浏览器会禁掉这个三个操作 2.利用插件,比如弹出层插件 layer:http://layer.layui.com/ 下面就说下方案2: 官网下载layer组件,直接引入<script src="layer.j…
初入python+selenium学习之路,总会遇到这样那样的问题.IndentationError: unexpected indent,这个坑我已经踏进数次了,索性记录下来.都知道Python对代码格式要求挺严格,这个message是在告诉你:你的格式有问题,要检查下tab和空格,可能是没对齐 解决过程: 根据错误位置提示,发现是这个函数除了问题,如下图: 红框圈出的缩进没有对齐,对齐之后就OK了 执行结果成功:  我踏过的,是不曾虚度的昨天,我去向的 ,永远是比今天更好的远方…
问题:用selenium+phantomjs 模拟登陆,网页用JavaScript的alert("登陆成功")弹出框,但是用switch_to_alert().accept()报错,不可执行命令. 目标代码:<script language="javascript">alert('********************');</script> 显示错误: File "sy.py", line 112, in <mo…
前言 一个自动化测试框架就是一个集成体系,在这一体系中包含测试功能的函数库.测试数据源.测试对象识别标准,以及种可重用的模块.自动化测试框架在发展的过程中经历了几个阶段,模块驱动测试.数据驱动测试.对象驱动测试.本章就带领读者了解这几种测试模型 1. 自动化测试模型介绍 自动化测试模型是自动化测试架构的基础,自动化测试的发展也经历的不同的阶段,不断有新的模型(概念)被提出,了解和使用这些自动化模型将帮助我们构建一个灵活可维护性的自动化架构 1.1 线性测试 通过录制或编写脚本,一个脚本完成一个场…
读取txt的内容并用百度查找搜索 1 # coding = utf-8 2 3 from selenium import webdriver 4 import time 5 6 # 打开浏览器 7 dr = webdriver.Firefox() 8 dr.get("http://www.baidu.com") 9 10 ''' 11 # 读取列表的 12 words = ['python', 'selenium', 'webdriver'] 13 14 for word in wor…
基本范例--原文:http://keleyi.com/keleyi/phtml/jqplug/ Alert jAlert('自定义对话框', 'Alert对话框'); Confirm jConfirm('您确定吗?', '确认对话框', function(r) { jAlert('Confirmed: ' + r, 'Confirmation Results'); }); Prompt jPrompt('请输入keleyi.com或者其他:', 'keleyi.com(预填值)', 'Promp…
1. alert是弹出警告框,在文本里面加入\n就可以换行. 2. confirm弹出确认框,会返回布尔值,通过这个值可以判断点击时确认还是取消.true表示点击了确认,false表示点击了取消. 3. prompt弹出输入框,点击确认返回输入框中的值,点击取消返回null. 下面是详细的例子: <html> <head> <script type="text/javascript"> function show_alert(){ alert('第一…
前言 在脚本运行完成之后,除了在log.txt 文件看到运行日志外,我们更希望能生一张漂亮的测试报告来展示用例执行的结果.        HTMLTestRunner 是Python 标准库的unittest 模块的一个扩展.它生成易于使用的HTML 测试报告.HTMLTestRunner 是在BSD 许可证下发布.        首先要下HTMLTestRunner.py 文件(百度自行搜索). 代码 #!/usr/bin/env python # -*- codinfg:utf-8 -*-…
场景 测试对象的定位和操作是webdriver的核心内容,其中操作又是建立在定位的基础之上,因此对象定位就越发显得重要了. 定位对象的目的一般有下面几种 操作对象 获得对象的属性,如获得测试对象的class属性,name属性等等 获得对象的text 获得对象的数量 webdriver提供了一系列的对象定位方法,常用的有以下几种 id name class name link text partial link text tag name xpath css selector 代码 login.h…
1,警告消息框alert() alert 方法有一个参数,即希望对用户显示的文本字符串.该字符串不是 HTML 格式.该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作. 2,确认消息框confirm() 使用确认消息框可向用户问一个“是-或-否”问题,并且用户可以选择单击“确定”按钮或者单击“取消”按钮.confirm 方法的返回值为 true 或 false.该消息框也是模式对话框:用户必须在响应该对话框(单击一个…
html页面简单的三种对话框例如以下: 1.alert(),最简单的提示框: alert("你好!"); 2.confirm(),有确认和取消两个button: if(confirm("还有继续吗?")){ alert("继续"); }else{ alert("再见"); } 3.prompt().能够输入信息: var name = prompt("你的名字是:"); alert("你好.&qu…
alert() : 会将()中的内容弹出,返回的是()中的内容值,也就是字符串值 confirm :需要用户点击 "确定" 或 "取消" ,若用户点击 ”确定“,则返回 true :若用户点击 ”取消“,则返回 false (可用来判断点击确定或取消后所需要进行的下一步操作) prompt :点击“确定”,则返回用户输入的值:点击取消,则返回 null…
一.安装selenium 命令安装selenium库 :pip  install -U selenium 查看selenium是否安装成功:pip list PS:有时会有异常,安装失败,可以尝试去selenium官网下载,selenium的资源包.下载地址:https://www.seleniumhq.org/download/,把包放到目录D:\python\Python36\Lib\site-packages下解压, 进入路径D:\python\Python36\Lib\site-pack…
前言 Webdriver 提供错误截图函数get_screenshot_as_file(),可以帮助我们跟踪bug,在脚本无法继续执行时候, get_screenshot_as_file()函数将截取当前页面的截图保存到指定的位置,这是一个非常棒的功能,下面实例展示get_screenshot_as_file()函数的使用. 代码 #!/usr/bin/env python # -*- codinfg:utf-8 -*- ''' @author: Jeff LEE @file: 异常截图.py…
场景 有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的.webdriver 可以读取.添加和删除cookie 信息.webdriver 操作cookie 的方法有: get_cookies() 获得所有cookie 信息 get_cookie(name) 返回特定name 有cookie 信息 add_cookie(cookie_dict) 添加cookie,必须有name 和value 值 delete_cookie(name…
场景 有时候web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素,这个时候就要控制页面滚动条的拖动,但滚动条并非页面上的元素,可以借助JavaScript是来完成操作.一般用到操作滚动条的会两个场景: 注册时的法律条文的阅读,判断用户是否阅读完成的标准是:滚动条是否拉到最下方 要操作的页面元素不在视觉范围,无法进行操作,需要拖动滚动条 代码 #!/usr/bin/env python # -*- codinfg:utf-8 -*- ''' @aut…
场景 webdriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中,下面以firefox及chrome为例 代码 Firefox下载 为了让Firefox浏览器能实现文件下载,需要通过FirefoxProfile()对其做一些设置. browser.download.foladerList :设置成0代表下载到浏览器默认下载路径,设置成2则可以保存到指定的目录. browser.download.manager.showWhenStarting  :是否显示…
场景 文件上传操作也比较常见功能之一,上传功能操作webdriver 并没有提供对应的方法,关键上传文件的思路.上传过程一般要打开一个系统的window 窗口,从窗口选择本地文件添加.所以,一般会卡在如何操作本地window 窗口.其实,上传本地文件没我们想的那么复杂:只要定位上传按钮,通send_keys 添加本地文件路径就可以了.绝对路径和相对路径都可以,关键是上传的文件存在. 代码 upload_file.html <html> <head> <meta http-eq…