Selenium

浏览器插件Selenium IDE

1612201844386
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
1612203333723

断言

1612203983826
1612203983826
1612204051810
1612204051810

导出

Export

python pytest

在python环境下使用selenium

1

1612205559810
1612205559810

2

浏览器驱动webdriver

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

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

webdriver API

1612545316429
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
#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
1612290819266

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

1612291459443

版本问题,switch_to.alert

1612291772707

1612291951410

多表单处理

1612372404933

1612372992770
1612372992770

1612373068712

1612373570630
1612373570630

元素等待

1612373947759

1612375105716
1612375105716

1612375984593

可以设置抛出的信息:

1612376006321

判断:

1612376670647
1612376670647

注意:

1612376761036
1612376761036
系统等待

time.sleep(5)

自动化测试用例设计

1612546256022
1612546256022
1612455083120
1612455083120
1612458657522
1612458657522
1612458617545
1612458617545
1612458302921
1612458302921

自动化测试模型

1612540746961
1612540746961

线性测试

1613234642404
1613234642404

模块化驱动测试

class very_login():

1612547219237
1612547219237

悬浮

1612547421180
1612547421180

数据驱动测试

1612628515235
1612628515235
  • 字典
  • csv文件(excel文件)
  • 数据库
  • 配置文件
  • 数据的参数化
1612628547080
1612628547080
:one:字典:
1612633589340
1612633589340
:two:csv文件
1612635083102
1612635083102
1612635099344
1612635099344

import csv

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

评论