Python_selenium二次封装selenium的几个方法

将常用的几个webdriver方法封装到自己写的一个类中去,此实例中是将“浏览器后退、浏览器前进、打开站点和关闭浏览器”写进这个类中,此时,我们使用pycharm这个软件来进行测试。

  1. 打开pycharm这个软件,点击【File】--【New Project】新建一个工程名,然后右键鼠标,点击【New】--【python package】,如下图所示
  2. 然后输入包名称即可。
  3. 此时,需要创建两个包,其中一个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的几个方法的更多相关文章

  1. Python+Selenium中级篇之-二次封装Selenium中几个方法

    本文来介绍,如何把常用的几个webdriver的方法封装到自己写的一个类中去,这个封装过程叫二次封装Selenium方法.我们把打开站点,浏览器前进和后退,关闭和退出浏览器这这个方法封装到一个新写的类 ...

  2. python mysql redis mongodb selneium requests二次封装为什么大都是使用类的原因,一点见解

    1.python mysql  redis mongodb selneium requests举得这5个库里面的主要被用户使用的东西全都是面向对象的,包括requests.get函数是里面每次都是实例 ...

  3. python+selenium十:基于原生selenium的二次封装

    from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium ...

  4. selenium + python自动化测试unittest框架学习(五)webdriver的二次封装

    因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...

  5. Selenium二次封装-Java版本

    package com.yanfuchang.selenium.utils; import java.awt.AWTException; import java.awt.Robot; import j ...

  6. Selenium二次封装-Python版本

    from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...

  7. python+selenium十:selenium的二次封装

    python+selenium十:基于原生selenium的二次封装   from selenium import webdriverfrom selenium.webdriver.support.w ...

  8. Python3 Selenium自动化web测试 ==> 第十一节 WebDriver高级应用 -- 显示等待 + 二次封装

    学习目的: 掌握显示等待 掌握二次封装 正式步骤: step1:显示等待的代码示例 # -*- coding:utf-8 -*- from selenium import webdriver from ...

  9. 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)

    1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...

随机推荐

  1. slf4j+log4j2 pom配置

    <!-- log start --> <dependency> <groupId>org.slf4j</groupId> <artifactId& ...

  2. 基于Cookie的购物车

    var Cookies = {}; Cookies.set = function (name, value) { var argv = arguments; var argc = arguments. ...

  3. Extjs4.x TreeGrid Dirty 更新数据,dirty标记不会自动清除的bug

    如上图所示,当修改某个属性值,成功提交后,dirty的小三角不会自动清除,这个是官方treegrid的一个bug,目前尚未解决. bug:http://www.sencha.com/forum/sho ...

  4. 实战c++中的string系列--string与char*、const char *的转换(data() or c_str())

    在project中,我们也有非常多时候用到string与char*之间的转换,这里有个一我们之前提到的函数 c_str(),看看这个原型: const char *c_str(); c_str()函数 ...

  5. PHP利用CURL_MULTI实现多线程

    PHP中的curl_multi一类函数可以实现同时请求多个url,而不是一个一个依次请求,这就类似一个进程实现了多个线程的功能,因此可以使用PHP利用CURL_MULTI实现完成多线程类的任务,下面就 ...

  6. springmvc搭建环境时报No mapping found for HTTP request with URI [/exam3/welcome] in DispatcherServlet with name 'spring2'

    项目是使用spring MVC (1)在浏览器中访问,后台总报错: No mapping found for HTTP request with URI [/exam3/welcome] in Dis ...

  7. r语言 工作空间内的对象

    objects.size() objects() 脚本举例 #将以下代码粘贴到编辑器中,另存为regression.r文件. rate<-c(20, 22, 24, 26, 28, 30, 32 ...

  8. h5 定位

    <!DOCTYPE html> <html> <body> <p id="demo">点击这个按钮,获得您的坐标:</p> ...

  9. 第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解

    第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解 信号一般使用信号分发器dispatcher.connect(),来设置信号,和信号触发函数,当捕获到信号时执行 ...

  10. windows sever2003安装Wamp 2.5不成功——VC 11不支持Windows Server 2003和win XP?

    Windows Server 2003 安装Wamp 2.5不成功Wampserver 2.5 will not run on Windows XP 报错信息:C:\wamp\bin\apache\a ...