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. face alignment---各种算法框架

    [深度学习]最新的一些开源face alignment及评价 转载  2017年01月12日 11:33:39 2047 dlib :https://github.com/davisking/dlib ...

  2. 安全运维之:网络实时流量监测工具iftop

    网络管理是基础运维中一个很重要的工作,在看似平静的网络运行中,其实暗流汹涌,要保证业务系统稳定运行,网络运维者必须要了解网络的流量状态.各个网段的使用情形,带宽的利用率.网络是否存在瓶颈等,同时,当网 ...

  3. asp.net无刷新上传(带预览)

    1.有个图片 <img id="Image1" title="用于广告栏及图文框缩略图" width="150" height=&qu ...

  4. python datetime unix时间戳以及字符串时间戳转换

    将python的datetime转换为unix时间戳 import time import datetime dtime = datetime.datetime.now() ans_time = ti ...

  5. 基于jquery的ui选择之路

    选定: 主框架:jqueryUi tree:ztree grid:jqGrid layout:jquery.layout 原由: 还有其他demo,ajax实现等参看连接: 正在做的一个项目选择jqu ...

  6. QACT 在线调试 Android O

    使用QACT调试Android O的音频时,不能在线调试,但是使用Android N却可以在线调试. 解决方法 1. adb root 2. adb remount 3. adb shell 4. c ...

  7. Maven 构建配置文件

    什么是构建配置文件? 生成配置文件是一组可以用来设置或覆盖 Maven 构建配置值的默认值.使用生成配置文件,你可以针对不同的环境,如:生产V/S开发环境自定义构建. 配置文件中指定 pom.xml ...

  8. Maven是一个项目管理工具

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Depen ...

  9. c#中的对象生命周期

    无论是指类型的变量或是类类型的变量,其存储单元都是在栈中分配的,唯一不同的是类类型的变量实际上存储的是该类对象的指针,相当于vc6中的CType*,只是在.net平台的语言中将指针的概念屏蔽掉了.我们 ...

  10. 一个简单的perl程序

    和朋友聊天,说perl的神奇,最主要的是一行代码搞定所有. 想想用python3写的测试脚本,觉得还是有点多的,真的用几行代码写一个测试脚本,可以节约不少时间. 当然,网上黑perl的还是很多,不过自 ...