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

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

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


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


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

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


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

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

selenium 数据驱动框架自动化从0到1---0_第1张图片
selenium 数据驱动框架自动化从0到1---0_第2张图片

2,登录后页面及页面元素
selenium 数据驱动框架自动化从0到1---0_第3张图片

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

selenium 数据驱动框架自动化从0到1---0_第4张图片
selenium 数据驱动框架自动化从0到1---0_第5张图片
selenium 数据驱动框架自动化从0到1---0_第6张图片
selenium 数据驱动框架自动化从0到1---0_第7张图片

二,相关代码如下:

#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('[email protected]')
#获取是否是星标朋友单击
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()




总结

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

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

你可能感兴趣的:(excel数据驱动,selenium,python)