发布于 

automated test:selenium

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)
添加xlrd模块(excel文件)