何为框架
框架,是一组成熟的,用户解决某类问题程序组建,基于该组件构建,定制符合需求的应用系统
特点:1.代码的复用,“不重复制造车轮”,提高开发效率
2.性能稳定,可扩展
3.使用框架能够更专注于业务逻辑,加快开发速度
selenium IDE FireFox
selenium RC 允许多个简单的浏览器,动作和线性执行
selenium Webdriver
selenium Grid
selenium RC 与 selenium Webdriver
1)selenium RC C/S架构,不能直接操作浏览器,效率较低
2)selenium RC 不支持无头浏览器(运行在内存中,不依赖于拥有是页面的浏览器)
3)selenium RC面向过程,selenium Webdriver 面向对象
4)selenium RC不支持移动端自动化测试
1.框架,特点:可复用 提供一组接口,按照流程进行开发
2.selenium发展史:selenium 1.0 :IDE RC Grid
selenium 2.0 :selenium Webdriver
selenium API 基础
Web页面测试基本流程:
步骤1:创建浏览器对象,与某一特定浏览器产生连接
步骤2:获取指定页面
步骤3:操作页面元素:输入框,链接等
步骤4:关闭页面
1)创建浏览器对象
1)模块导入:from selenium import webdriver
2)创建浏览器对象:browser = webdriver . FireFox() /Chrome()
2)获取指定页面
1)获取页面 browser.get(url) url="http://www.baidu.com
4)关闭页面
browser.close() #关闭当前标签窗口
browser.quit() #关闭所有标签
常见的页面操作方法
1)设置/获取页面大小
maximize_window() #页面最大化
get_window_size() #获取浏览器尺寸
set_window_size() #设置浏览器尺寸
2)获取/设置浏览器位置
get_window_position() #获取浏览器位置
set_window_position() #设置浏览器位置
注:显示器在左上角为(0,0),所有的位置操作都是相对于显示器左上角展开的位移操作,单位是像素
3)页面请求
refresh() #刷新页面操作
back() #回退到之前的页面
forward() #前进之后的页面
获取页面信息,webdriver中描述页面信息的内容:
current_url 获取当前页面url
title 获取当前页面的标题,对应html文件中的title标签中内容
注:url需要包含协议信息
selenium元素定位方法:
元素定位方法的分类(调用方式):
driver.find_element_by_xxx (value)
用于定位的元素类别
id | 定位 |
name | name属性值定位 |
class_name | 伪类名定位 |
tag name | 标签名定位 |
link text | 链接文本定位 |
partial link text | 部分链接文本 |
Xpath | Xpath路径表达式 |
css selector | css选择器定位 |
time sleep(5) | 停留5s |
browser.send_key() | 输入内容 |
.click() | 点击 |