Python_selenium二次封装selenium的几个方法
Python_selenium二次封装selenium的几个方法
将常用的几个webdriver方法封装到自己写的一个类中去,此实例中是将“浏览器后退、浏览器前进、打开站点和关闭浏览器”写进这个类中,此时,我们使用pycharm这个软件来进行测试。
- 打开pycharm这个软件,点击【File】--【New Project】新建一个工程名,然后右键鼠标,点击【New】--【python package】,如下图所示

- 然后输入包名称即可。
- 此时,需要创建两个包,其中一个python文件中,写入的是webdriver中常用的方法,将这个文件命名为demo1.py,代码如下所示
# coding:utf-8
class BasePage(object):
"主要是把几个常用的selenium方法封装到BasePage这个类中"
"back() forward() get() quit()"
def __init__(self, driver):
"一个构造函数,param参数driver"
self.driver = driver
def back(self):
"浏览器后退"
self.driver.back()
def forward(self):
"浏览器前进"
self.driver.forward()
def open_url(self, url):
"打开站点"
self.driver.get(url)
def quitBrowser(self):
self.driver.quit()
4.另外一个文件名为demo01.py是我们编写测试脚本的python文件,具体测试代码在这个文件中。因此,文件结构如下图所示

5.demo01.py文件中的代码如下所示
#coding:utf-8
from selenium import webdriver
from pro1.demo1 import BasePage
class BaseSearch(object):
driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(8)
basepage=BasePage(driver)
def open_baidu(self):
self.basepage.open_url("https://www.baidu.com/")
def test_search(self):
self.driver.find_element_by_id('kw').send_keys("Selenium")
self.basepage.back()
self.basepage.forward()
self.basepage.quitBrowser()
baidu=BaseSearch()
baidu.open_baidu()
baidu.test_search()
6.注意:python中默认规则,包名和文件名都是小写,类名称单词首字母大写,函数名称小写,多个字母下划线隔开。
详情参考:http://blog.csdn.net/u011541946/article/details/70159538
Python_selenium二次封装selenium的几个方法的更多相关文章
- Python+Selenium中级篇之-二次封装Selenium中几个方法
本文来介绍,如何把常用的几个webdriver的方法封装到自己写的一个类中去,这个封装过程叫二次封装Selenium方法.我们把打开站点,浏览器前进和后退,关闭和退出浏览器这这个方法封装到一个新写的类 ...
- python mysql redis mongodb selneium requests二次封装为什么大都是使用类的原因,一点见解
1.python mysql redis mongodb selneium requests举得这5个库里面的主要被用户使用的东西全都是面向对象的,包括requests.get函数是里面每次都是实例 ...
- python+selenium十:基于原生selenium的二次封装
from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium ...
- selenium + python自动化测试unittest框架学习(五)webdriver的二次封装
因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...
- Selenium二次封装-Java版本
package com.yanfuchang.selenium.utils; import java.awt.AWTException; import java.awt.Robot; import j ...
- Selenium二次封装-Python版本
from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...
- python+selenium十:selenium的二次封装
python+selenium十:基于原生selenium的二次封装 from selenium import webdriverfrom selenium.webdriver.support.w ...
- Python3 Selenium自动化web测试 ==> 第十一节 WebDriver高级应用 -- 显示等待 + 二次封装
学习目的: 掌握显示等待 掌握二次封装 正式步骤: step1:显示等待的代码示例 # -*- coding:utf-8 -*- from selenium import webdriver from ...
- 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...
随机推荐
- 使用 Easy Sysprep v4(ES4) 封装 Windows 7教程
总:1.装系统ctrl+shift+f3(administrator)2.备份系统,快速备份(pe下)3.安装补丁,软件(系统下),不装安全类软件,需激活的软件重装后还要激活4.系统备份(pe下叠 ...
- mac使用nvm安装node进行多版本管理
安装 $ git clone https://github.com/creationix/nvm.git ~/.nvm $ source ~/.nvm/nvm.sh vi ~/.bash_profil ...
- JProfiler 9版本注册码(亲测可用!!!)
JProfiler 9版本注册码(亲测可用!!!) 按默认选择“Single or evaluation license” ,Name 和 Company 随意填!!! JProfiler 9.2 ...
- MVC个人网站开发笔记-150302
上传图片 参考这篇文章:http://www.cnblogs.com/kissdodog/archive/2012/12/15/2819025.html 调用ajaxFileUpload,控制器里面编 ...
- Spring Cloud Sleuth Zipkin - (2)
在上一节<spring-cloud-sleuth+zipkin追踪服务实现(一)>中,我们使用zipkin-server.provider.consumer三个程序实现了使用http方式进 ...
- Laravel 定时任务
一 .创建Command文件 php artisan make:console RefreshToken 创建app/Console/Commands 下创建RefreshToken.php 取一个名 ...
- R语言入门 一些基本的操作
1 R的下载.安转 R有很多的版本,支持目前主流的操作系统MAC.Linux和WINDOWS系列.因为我个人是在WINDOWS下用R的,所以在这里将只介绍WINDOWS下R的下载&安装. 下载 ...
- 【转】【项目管理与构建】Maven
在现实的企业中,以低成本.高效率.高质量的完成项目,不仅仅需要技术大牛,企业更加需要管理大牛,管理者只懂技术是远远不够的.当然,管理可以说有很多的方面,例如:对人员的管理,也有对项目的管理等等.如果你 ...
- 第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置
第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置 路由映射在全局也就是根目录里的urls.py里配置404路由映射 注意:不是写在urlpatter ...
- 第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示
第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件, ...