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. if语句和switch语句

    1.基本写法 if if(逻辑表达式){语句:}else if{语句:else{语句:} switch switch(变量){case 常量值:语句:break:default:语句:} 2.举例 i ...

  2. Customize WCF Envelope and Namespace Prefix

    转自:http://vanacosmin.ro/Articles/Read/WCFEnvelopeNamespacePrefix Posted on January 8th 2014 by Vana ...

  3. 如何在CentOS 6.5上升级PHP

    CentOS 6.5上默认安装PHP 5.3.因为后台网站无法正确运行在PHP 5.3上,所以计划将PHP升级到开发平台一样的版本PHP 5.5.为了方便,我们采用YUM的方式升级PHP 工具/原料 ...

  4. Extjs4.x 共享组件,写法

    1.项目架构如下: /Application /ext--框架核心文件 /common--共享 /resources--共享资源 /src--共享js(例如,多个模块共享一个store等) /mode ...

  5. SpringBoot2 【关于:Table 'XXX.hibernate_sequence' doesn't exist】

    将ID生成略组改成@GeneratedValue(strategy = GenerationType.IDENTITY).

  6. Spring Cloud Config 配置刷新

    客户端进行刷新操作. 1.添加 actuator包,这样 /refresh url才处于可用状态. <dependency> <groupId>org.springframew ...

  7. Graph-DFS-Map-图的深度优先遍历-城市地图问题

    #include <iostream> using namespace std; /* 5 8 1 2 2 1 5 10 2 3 3 2 5 7 3 1 4 3 4 4 4 5 5 5 3 ...

  8. jquery 发get post请求

    https://www.cnblogs.com/summers/p/3225375.html POST 方法不会缓存数据 $.get(URL,callback); 2个参数 callback 参数是请 ...

  9. 函数式编程——C#理解

    转自:http://www.cnblogs.com/xiaozhi_5638/p/4762846.html 目录 一个问题 函数式编程中的函数 数学与函数式编程 混合式编程风格 一个问题 假设现在我们 ...

  10. sqlldr 学习总结1

    1.建表语法(采用scott中的emp表) create table emp(  empno    number(4) not null,  ename    varchar2(10),  job   ...