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. 负数在计算机中的表示 Byte-128

    本文转载: http://blog.csdn.net/njuitjf/article/details/4585247 原码:将一个整数,转换成二进制,就是其原码.如单字节的5的原码为:0000 010 ...

  2. SQL自定义函数

    1,自定义函数--返回单一值 CREATE FUNCTION [dbo].[Round2] ( -- Add the parameters for the function here @p1 sql_ ...

  3. hive2.3.2安装使用

    hive的安装简单一些,使用也比较简单,基础hadoop搭建好之后,只要初始化一些目录和数据库就好了 安装需要做几件事: 1.设立一个数据源作为元数据存储的地方,默认是derby内嵌数据库,不过不允许 ...

  4. 【jquery】jquery 在 ie6 下无法设置 select 选中的解决方法

    本文主要解决在 ie6 下,jquery 无法设置 select 选中的问题.我们先看个例子: <!DOCTYPE HTML> <html lang="en-US" ...

  5. CREATESTRUCT cs 结构体

    PreCreateWindow(CREATESTRUCT& cs) typedef struct tagCREATESTRUCT { LPVOID lpCreateParams; // 创建窗 ...

  6. php curl批处理--可控并发异步

    通常情况下 PHP 中的 cURL 是阻塞运行的,就是说创建一个 cURL 请求以后必须等它执行成功或者超时才会执行下一个请求:API接口访问一般会首选CURL 在实际项目或者自己编写小工具(比如新闻 ...

  7. 经典JS

    用apply把document当作this传入getId函数,帮助“修正”this; document.getElementById = (function (func) { return funct ...

  8. 17个CSS知识点整理

    1.对WEB标准以及W3C的理解与认识 标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率:使用外链css和js脚本.结构行为表现的分离.文件下载与页面速度更快:内容能被更多的用户所访问.内容能被更 ...

  9. linux系统Qt实现简单的任务管理器

    继续上次的操作系统课设,这次需要设计一个简单的任务管理器,大部分人选择GTK来实现,我剑走偏锋,使用Qt来完成这个任务. 用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数.由于 ...

  10. JAVA对于程序的运行的一种解说

    main方法,正如注释所说,这是程序开始执行的第一行.对于一个Java应用程序来说,main方法是必需的,Java解释器在没有生成任何对象的情况下,以main作为入口来执行程序.每个类中可以定义多个方 ...