selenium 数据驱动框架自动化从0到1---0

本文详细介绍了如何从零开始搭建一个基于Excel的数据驱动Selenium自动化框架。内容包括:正常添加流程、工具封装、模块化、页面元素配置、数据驱动测试数据编写、日志配置、以及实现测试数据与代码的完全分离。适合自动化测试初学者跟随操作学习。
摘要由CSDN通过智能技术生成

selenium 数据驱动框架自动化从0到1-0

说明:本文是教一个小白如何搭建一个excel数据驱动框架,从0到1。搭建一个框架需要很多步骤,先把步骤列一下,希望是小白的你自己亲手按步骤操作一遍,这样有助于学习:


一,正常添加流程 (无框架)
二,根据正常流程,封装一些常用工具
三,根据正常流程,封装模块 (模块封装模型)
四,把页面元素表达式提取到一个配置文件统一管理
五,读取配置文件,做到页面元素表达式与代码完全分离。(初步框架模型)
六,excel 数据驱动的测试数据编写及解析excel 文件的方法封装
七,日志的配置与 初始化
八,实现测试数据与代码分离 (最终模型)


测试目的:126邮箱登陆后添加联系人

测试数据准备:登录账号 (自己可注册)abc_123456qwe
登录密码 abc_123456


一, 正常添加流程(相关图片)

   1,登录页及相关页面元素

在这里插入图片描述
在这里插入图片描述

2,登录后页面及页面元素
![(https://img-blog.csdnimg.cn/20201110155224545.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nZ3Vhbmd5aTUyMA==,size_16,color_FFFFFF,t_70#pic_center)

3,点击通讯录后进入通讯录主页及相关元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二,相关代码如下:

#encoding = utf-8

from selenium import webdriver
from time import sleep

#创建chrome浏览器实例
driver = webdriver.Chrome(r'E:\Test126Email\driver\chromedriver.exe')
#等待3秒
sleep(3)
#浏览器窗口最大化
driver.maximize_window()
#访问126邮箱登录页面
driver.get('http://mail.126.com')
#等待3秒,以便登录页面加载完成
sleep(3)

#由于登录页面元素是嵌套页面,所以要切换frame,切换到frame 控件
frame = driver.find_element_by_xpath("//iframe[contains(@id,'x-URS-iframe')]")
driver.switch_to.frame(frame)
#获取用户名输入框
username = driver.find_element_by_xpath('//input[@name="email"]')
#输入用户名
username.send_keys('abc_123456qwe')
#获取密码输入框
password = driver.find_element_by_xpath('//input[@name="password"]')
#输入密码
password.send_keys('abc_123456')
#获取登录按钮单击
driver.find_element_by_id('dologin').click()
sleep(3)

#获取通讯录按钮单击
driver.find_element_by_xpath('//div[text()="通讯录"]').click()
#获取新建联系人按钮单击
sleep(3)

driver.find_element_by_xpath('//span[text()="新建联系人"]').click()
#获取姓名输入框
sleep(3)
name = driver.find_element_by_xpath("//a[@title ='编辑详细姓名']/preceding-sibling::div/input")
#输入框输入名字
name.send_keys('我是谁')
#获取电子邮箱输入框
sleep(3)
email = driver.find_element_by_xpath('//div[@id="iaddress_MAIL_wrap"]//dd//div//input')
#电子邮箱输入
email.send_keys('1322432@126.com')
#获取是否是星标朋友单击
sleep(3)
driver.find_element_by_xpath('//span[text()="设为星标联系人"]/preceding-sibling::span/b').click()
#获取电话号码输入框
sleep(3)
phon = driver.find_element_by_xpath('//div[@id="iaddress_TEL_wrap"]//dd//div//input')
#输入电话号码
phon.send_keys('13523232323')
#获取备注输入框输入备注
sleep(3)
common = driver.find_element_by_xpath("//textarea[@id='input_DETAIL']").send_keys('测试验证')
#获取确定按钮单击保存
sleep(3)
buton = driver.find_element_by_xpath('//span[text()="确 定"]').click()
#断言我是谁是否添加成功
sleep(10)
assert u'我是谁' in driver.page_source
print('添加联系人成功')
#退出浏览器
driver.quit()




总结

没有框架,每加一个联系人就的复制粘贴,大量代码重复,难于管理,如源代码有一处改动,修改非常麻烦,于是有了下一步:

二,根据正常流程,封装一些常用工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值