selenium + python自动化测试unittest框架学习(五)webdriver的二次封装
因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的《selenium + python自动化测试》一书。
在与测试用例文件夹同一目录下新建一个文件夹package,用来放置封装方法的模块文件
我们将webdriver二次封装的文件命名为location.py
from selenium import webdriver from test_case.public import login #login文件中的driver传入#定位一个元素 def findId(driver,Id):f = driver.find_element_by_id(Id)return fdef findName(driver,Name):f = driver.find_element_by_name(Name)return fdef findClassName(driver,ClassName):f = driver.find_element_by_class_name(ClassName)return fdef findTagName(driver,TagName):f = driver.find_element_by_tag_name(TagName)return fdef findCss(driver,Css):f = driver.find_element_by_css_selector(Css)return fdef findLinkText(driver,LinkText):f = driver.find_element_by_link_text(LinkText)return fdef findPLinkText(driver,PLinkText):f = driver.find_element_by_partial_Link_text(PLinkText)return fdef findxPath(driver,xPath):f = driver.find_element_by_xpath(xPath)return f#定位一组元素def findsId(driver,Id):f = driver.find_elements_by_id(Id)return fdef findsName(driver,Name):f = driver.find_elements_by_name(Name)return fdef findsClassName(driver,ClassName):f = driver.find_elements_by_class_name(ClassName)return fdef findsTagName(driver,TagName):f = driver.find_elements_by_tag_name(TagName)return fdef findsCss(driver,Css):f = driver.find_elements_by_css_selector(Css)return fdef findsLinkText(driver,LinkText):f = driver.find_elements_by_link_text(LinkText)return fdef findsPLinkText(driver,PLinkText):f = driver.find_elements_by_partial_link_text(PLinkText)return fdef findsxPath(driver,xPath):f = driver.find_elements_by_xpath(xPath)return f
在其他需要用到定位方法的文件中将模块导入,且将文件所在的文件路径加入sys.path路径集中便可引用
#实现webdriver二次封装 from package import location sys.path.append("D:\\fcj\\study\\seleniumtest\\package") l = location
之后使用的定位方法则变成以下简洁写法:
例如:find_element_by_id()的方法
l.findId(driver,"id")
转载于:https://www.cnblogs.com/evablogs/p/7269956.html
selenium + python自动化测试unittest框架学习(五)webdriver的二次封装相关推荐
- selenium + python自动化测试unittest框架学习(二)
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...
- selenium + python自动化测试unittest框架学习(一)selenium原理及应用
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- selenium原理python_selenium + python自动化测试unittest框架学习(一)selenium原理及应用...
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- 自动化测试——unittest框架
自动化测试--unittest框架 文章目录 自动化测试--unittest框架 unittest 一.TestCase(测试用例) 二.TestSuite(测试套件)和TestRunner(测试执行 ...
- selenium +python自动化测试发QQ空间说说
selenium +python自动化测试发QQ空间说说 import time from selenium import webdriver# 1. 打开网站,窗口最大化 driver=webdri ...
- selenium + python自动化测试环境搭建
elenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: 免费,也不用再为破解QTP而大伤脑筋 小巧,对于不同的语言它只是一个包 ...
- PyTorch框架学习五——图像预处理transforms(一)
PyTorch框架学习五--图像预处理transforms(一) 一.transforms运行机制 二.transforms的具体方法 1.裁剪 (1)随机裁剪:transforms.RandomCr ...
- selenium自动化测试、Python单元测试unittest框架以及测试报告和日志输出
部分内容来自:https://www.cnblogs.com/klb561/p/8858122.html 一.基础介绍 核心概念:test case, testsuite, TestLoder,Tex ...
- 自动化测试unittest框架
目录 本章目标 unittest框架解析 新窗口,无法定位元素 批量执行脚本 - `addTest()` 构造测试套件 makeSuite()和TestLoader的应用 discover()的引用 ...
最新文章
- 机器学习PAL数据可视化
- pandas使用read_csv函数读取文件并解析日期数据列(parse dates)、pandas使用read_csv函数读取文件并将缺失值转化为空字符串
- 删除链表中全部值为k的节点
- Machine Learning week 5 quiz: programming assignment-Multi-Neural Network Learning
- 数据中心机房冷热通道优化设计经验谈
- 处理字符串_13_按照指定的分隔符截取字符返回表形式
- centos09-nodejs与vue搭建
- 面向服务的分析与设计原理
- 华为的鸿蒙系统是海思_死心了!华为鸿蒙系统首款终端确认,不是手机
- 华为Mate X国行售价曝光,5G网速实测,强悍!
- java 继承特点_java 继承特点
- 如何批量新建文件夹并命名
- vb6.0动态加载odbc驱动(mysql数据源)_vb教程之在VB中动态加载ODBC数据源
- centos安装stress安装失败_Linux压力测试工具stress
- 关于selenium配置Chrome驱动(Windows系统)
- MFC无边框窗体设置窗口圆角,并且绘制边框
- 什么是现汇买入价、现钞买入价、卖…
- go down to用法
- 干货 :7招帮你打造完美数据科学GitHub作品集!
- 银行可视化大屏后端计算案例
热门文章
- LeetCode 78. 子集
- oracle: to_char,to_date
- PLSQL重点问题理解和实战
- Linux 下安装和配置TSM 7.1
- linux yum源安装
- bootstrap的验证和确认对话框
- [笔试面试][code_by_hand]输出第二个字符串在第一个字符串中的连接次序
- 关于rc.local启动程序
- Linq to sql查询句法
- linux不断安装操作系统,无人值守批量安装linux操作系统