Selenium
浏览器插件Selenium IDE
Selenium 3.0没有RC
使用:
- Record a new test in a new project
- 在新项目中录制一个新测试
- Open an existing project
- 打开一个现有项目
- Create a new project
- 创建一个新项目
- Close Selenium IDE
- 关闭Selenium IDE
脚本录制
在浏览器中手动操作,就可以selenium录制出来
断言
导出
Export
python pytest
在python环境下使用selenium
1
2
浏览器驱动webdriver
http://chromedriver.storage.googleapis.com/index.html
放到python目录下(python已添加进系统变量)
webdriver API
键盘事件
key包提供按键方法
使用必须先引用key包:from selenium.webdriver.common.keys import Keys
键盘事件,在现实操作中我们习惯性的按tab见切换到写一个输入或者元素,Key()类几乎提供所有按键的方法:
引用方法 | 对应键盘 |
---|---|
send_keys(Keys.BACK_SPACE) | 删除键(BackSpace) |
send_keys(Keys.SPACE) | 空格键(Space) |
send_keys(Keys.TAB) | 制表键(Tab) |
send_keys(Keys.ESCAPE) | 回退键(Esc) |
send_keys(Keys.ENTER) | 回车键(Enter) |
send_keys(Keys.CONTROL,‘a’) | 全选(Ctrl+A) |
send_keys(Keys.CONTROL,‘c’) | 复制(Ctrl+C) |
send_keys(Keys.CONTROL,‘x’) | 剪切(Ctrl+X) |
send_keys(Keys.CONTROL,‘v’) | 粘贴(Ctrl+V) |
send_keys(Keys.F1) | 键盘 F1 |
send_keys(Keys.F12) | 键盘 F12 |
#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_id("kw").send_keys("seleniumm")
time.sleep(1)
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
time.sleep(1)
# 和前面的拼接
driver.find_element_by_id("kw").send_keys("seleniumm")
time.sleep(1)
# ctrl+a
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"a")
time.sleep(1)
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"x")
time.sleep(1)
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"v")
time.sleep(1)
driver.find_element_by_id("su").click()
driver.quit()
操作alter
记得加延时,把样式显示出来
版本问题,switch_to.alert
多表单处理
元素等待
可以设置抛出的信息:
判断:
注意:
系统等待
time.sleep(5)
自动化测试用例设计
自动化测试模型
线性测试
模块化驱动测试
class very_login():
悬浮
数据驱动测试
- 字典
- csv文件(excel文件)
- 数据库
- 配置文件
- 数据的参数化
:one:字典:
:two:csv文件
import csv
for d in data:
print(d)