下面将使用webdriver来处理一些页面跳出的对话框事件 测试用例场景 页面上弹出的对话框是自动化测试经常会遇到的一个问题.前端框架的对话框经常是div形式的,下面是一些常见的对话框操作事件: 打开对话框 关闭对话框 操作对话框中的元素 Python脚本 测试用HTML代码: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"…
下面将使用WebDriver中的send_keys来模拟键盘按键输入 测试用例场景 send_keys方法可以模拟一些组合键操作: ctrl+a ctrl+c ctrl+v 等. 另外有时候我们需要在测试时使用tab键将焦点转移到下一个元素,这时候也需要send_keys.在某些更复杂的情况下,还会出现使用send_keys来模拟上下键来操作下拉列表的情况. Python脚本 测试HTML代码: <html> <head> <meta http-equiv="con…
下面将使用WebDriver来模拟操作一个层级定位元素的操作 测试用例场景 在实际的项目测试中,经常会有这样的需求:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个.由于属性基本相当,所以在定位的时候会有些麻烦,这时候就需要用到层级定位.先定位父元素,然后再通过父元素定位子孙元素. Python脚本 下面的代码演示了如何通过层级定位来定位下拉菜单中的某一项.由于两个下拉菜单中每个选项的link text都相同,href也一样,所以在这里就需要使用层级定位了. 具体思路是:先点击显示…
下面将使用webdriver来模拟测试中观察测试对象的状态的操作 测试用例场景 在web自动化测试中,我们需要获取测试对象的四种状态 是否显示.使用element.is_displayed()方法: 是否存在.使用find_element_by_xxx方法,捕获其抛出的异常, 如果存在异常的话则可以确定该元素不存在: 是否被选中.一般是判断表单元素,比如radio或checkbox是否被选中.使用element.is_selected()方法: 是否enable,也就是是否是灰化状态.使用ele…
下面将使用WebDriver来模拟操作:选择一个Navigation bar的选项 测试用例场景 Navigation Bar可以看作是简单的类似于tab的导航栏.一般来说导航栏都是ul+li.先定位ul再去层级定位li中的link基本就能解决问题(一般情况下) Python脚本 测试用HTML代码: <html> <head> <meta http-equiv="content-type" content="text/html;charset=…
测试用例场景 模拟选择下拉菜单中数据的操作 Python脚本 测试用HTML代码: <html> <body> <form> <select name="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value=&quo…
测试用例场景 当你的测试用例纠结细枝末节的时候,你就需要通过判断元素的css属性来验证你的操作是否达到了预期的效果.比如你可以通过判断页面上的标题字号以字体来验证页面的显示是否符合预期.当然,这个是强烈不推荐的.因为页面上最不稳定的就是css了,css变动频繁,次方法不常使用 Python脚本 测试用HTML代码: <html> <head> <meta http-equiv="content-type" content="text/html;c…
由于本人的学习定位是基于Selenium+WebDriver+Python+FireFox+Eclipse+Pydev, 所以我的笔记也只和这方面相关. 我打算先学习基于Python脚本WebDriver的常用操作. 在学习本篇章之前,要先学习Selenium-IDE 和 Selenium-RC的一些基础知识,以及做好Python脚本的WebDriver的客户端配置. 下面开始记录我的WebDriver常用操作学习过程. 测试用例场景 使用WebDriver打开FireFox浏览器 Python…
测试用例场景 表单对象的操作比较简单,只需要记住下面几点 使用send_keys方法往多行文本框和单行文本框赋值: 使用click方法选择checkbox 使用click方法选择radio 使用click方法点击button 使用click方法选择option,从而达到选中select下拉框中某个具体菜单项的效果 Python脚本 测试用HTML代码: <html> <head> <meta http-equiv="content-type" conten…
超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webdriver.Firefox() ff.implicitly_wait(10) # seconds ff.get("http://somedomain/url_that_delays_loading") myDynamicElement = ff.find_element_by_id(&qu…