automated test:selenium

Selenium

浏览器插件Selenium IDE

1612201844386

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录制出来

1612203333723

断言

1612203983826

1612204051810

导出

Export

python pytest

在python环境下使用selenium

1

1612205559810

2

浏览器驱动webdriver

http://chromedriver.storage.googleapis.com/index.html

放到python目录下(python已添加进系统变量)

webdriver API

1612545316429

键盘事件

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#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

1612290819266

记得加延时,把样式显示出来1612291040232

1612291459443

版本问题,switch_to.alert

1612291772707

1612291951410

多表单处理

1612372404933

1612372992770

1612373068712

1612373570630

元素等待

1612373947759

1612375105716

1612375984593

可以设置抛出的信息:

1612376006321

判断:

1612376670647

注意:

1612376761036

系统等待

time.sleep(5)

自动化测试用例设计

1612546256022

1612455083120

1612458657522

1612458617545

1612458302921

自动化测试模型

1612540746961

线性测试

1613234642404

模块化驱动测试

class very_login():

1612547219237

悬浮

1612547421180

数据驱动测试

1612628515235

  • 字典
  • csv文件(excel文件)
  • 数据库
  • 配置文件
  • 数据的参数化

1612628547080

:one:字典:

1612633589340

:two:csv文件

1612635083102

1612635099344

import csv

1612635490538

1
2
for d in data:
print(d)
添加xlrd模块(excel文件)

1612637116599