失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

时间:2021-04-29 16:57:40

相关推荐

Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护。为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评论区沟通讨论。

1.项目选取(登录页无验证码校验的项目)

该示例选取的是登录页不需要输入验证码校验的基础页面(考虑到现在大部分项目都是需要进行验证码校验的,后面研究后再出一篇相关的分享。)

2.环境搭建

2.1安装Python

官网目前已经更新到python3.9.7,大家可以到官网下载并安装

安装包地址:Welcome to

2.2安装Selenium

命令:pip install selenium

或使用pycharm安装

2.3安装浏览器驱动

1.以Google Chrome浏览器为例,打开浏览器--帮助--关于Google Chrome,查看浏览器版本。

2.访问http://chromedriver./index.html,下载浏览器对应版本号的驱动软件。

3.驱动文件放到python的安装目录下(和python.exe相同目录)。

3.项目示例

3.1测试数据

包括编号、用例描述、元素定位方法及对应数据,定位到元素后的操作方法及数据。

3.2 通用脚本代码(可复用)

示例脚本:Selenium_UI_Test.py

from selenium import webdriverfrom selenium.webdriver.support.select import Selectclass Selenium_UI_Test01(object):"""1.8种元素定位方法2.quit()-退出,关闭所有标签页;3.refresh()-浏览器刷新"""def selemium_find_element(self,driver,method,data):if method == "find_element_by_id":return driver.find_element_by_id(data)elif method == "find_element_by_name":return driver.find_element_by_name(data)elif method == "find_element_by_class_name":return driver.find_element_by_class_name(data)elif method == "find_element_by_tag_name":return driver.find_element_by_tag_name(data)elif method =="find_element_by_link_text":return driver.find_element_by_link_text(data)elif method == "find_element_by_partial_link_text":return driver.find_element_by_partial_link_text(data)elif method == "find_element_by_xpath":return driver.find_element_by_xpath(data)elif method == "":return driver.find_element_by_css_selector(data)elif method =='refresh':return driver.refresh()elif method =='quit':return driver.quit()else:print("请检查元素定位方法是否正确!")#定位到元素后可执行的操作#1.点击和输入:clear()-清空输入框、click()-点击、send_keys()-发送关键字def operator_element(self,element,method,data):if "click" in method:element.click()elif "send_keys" in method:element.send_keys(data)elif "clear" in method:element.clear()elif 'select' in method:Select(element).select_by_index(data)else:print("请检查操作方法是否正确!")

3.3测试用例脚本

示例脚本:

Selenium_UI_Test_gsc.py

读取excel中的测试用例,调用通用脚本中定义的方法,执行测试用例。

from openpyxl import load_workbookfrom selenium import webdriverimport common.Selenium_UI_Test as SUTsut = SUT.Selenium_UI_Test01()import timet = time.strftime("%Y%m%d%H%M")driver = webdriver.Chrome()driver.get("/")wb = load_workbook("..\\datas\我爱古诗词UI测试.xlsx")ws = wb.worksheets[0]for row in ws.iter_rows(min_row=2,max_row=ws.max_row):#跳过首行表头信息method1= row[2].valuedata1 = row[3].valuemethod2 = row[4].valuedata2 = row[5].valueelement = sut.selemium_find_element(driver,method1,data1)result=sut.operator_element(element,method2,data2)row[6].value="pass"wb.save(f"..\\Reports\我爱古诗词UI测试_{t}.xlsx")

3.4执行结果

自动打开浏览器,跳转到登录页面并完成登录,自动输入页面信息并提交。

自动生成excel测试结果

如果觉得《Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。