web自动化--python+selenium自动化

自动化测试用例

自动化测试用例一般可以由手工测试用例转化来,但是不是所有的手工测试用例都要转化为自动化测试用例

  • 考虑到脚本开发的成本,不要选择流程太复杂的用例,如果必要,可以把流程差分为多个用例来实现脚本。
  • 选择的用例最好可以构建成场景,如一个功能模块,分成多个用例,多个用例使用同一个场景
  • 重复执行,繁琐的部分,如字段验证,提示信息验证等,适用于回归测试
  • 选取的用例可以是主体流程,适用于冒烟测试

遵循原则

  • 一个用例为一个完整的场景,从用户登录系统到最终退出并关闭浏览器
  • 一个用例只验证一个功能点,不要在用户登录后把所有功能验证一遍
  • 尽可能少的编写逆向测试用例,一方面因为逆向逻辑的用例很多,二是复杂的实现起来麻烦易出错
  • 用例之间尽量避免产生依赖
  • 一条用例完成测试后需要对测试场景进行还原,以免影响其他用例的执行

自动化测试用例设计

测试点转为测试用例的原则

  • 设计一条正向用例,覆盖足够多的有效等价类数据
  • 设计一条反向用例,需要覆盖一条无效等价类数据,其他数据一概使用正向数据
    在这里插入图片描述

验证码自动化方法

  • 开发暂时屏蔽验证吗,使用万能吗
  • 机器学习训练样本
  • 调用OCR接口,解析图片中的验证码

自动化测试模型

线性测试

  • 最基本的代码组织形式,单纯的模拟用户步骤或场景
  • 维护性差
  • 模块多,运行复杂,可以写在一个主运行模块中
  • 所有用例步骤放在一个模块中,可读性差
from selenium import webdriver
import time
#获取qq邮箱的url
driver=webdriver.Firefox()
driver.get("http://mail.qq.com")
time.sleep(1)
#切换到内部frame
frm = driver.find_element_by_id("login_frame")
driver.switch_to.frame(frm)
#输入用户名密码点击登录
driver.find_element_by_id("u").send_keys("919917003")
driver.find_element_by_id("p").send_keys("**********")
driver.find_element_by_xpath('//*[@id="login_button"]').click()

模块化驱动测试

把重复的操作独立成公共模块,当用例执行过程中需要用到这一模块则被调用

from selenium import webdriver
import time
class mt():
#初始化qq pwd
    def __init__(self,qq,password):
        self.driver = webdriver.Firefox()
        self.qq = qq
        self.password = password
        time.sleep(1)]
       #登录
    def login(self):
        self.driver.get("http://mail.qq.com")
        self.driver.switch_to.frame
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值