python+selenium 用什么python自动化测试框架架

2418人阅读
myself(20)
最近研究新的自动化测试方法,QTP已经用的比较熟练,待开发新的方法,这里做个记录和大家共勉。
1、首先肯定是配置环境了,一步一步来吧,先下载需要的工具:
下载一个python的环境,我这里用的Python3.4,一会我上传上来,大家可以直接下载。最好用3.4以及以上的版本,这样可以不用pip单独安装什么的,可以联网直接安装selenium了。
安装完Python后可以在线进行selenium安装了,首先cmd进入到Python的scripts目录,一般是这样:cd C:\Python34\Scripts
然后在线安装命令:C:\Python34\Scripts&pip install -U selenium
放个图片大家看:
这样基本环境就好了,就这样。接下来要下载IEDriver了,因为大部分还是要在ie上跑的,但是selenium默认的是firefox,所以你要下载个IEDriver(这个我也会上传上来),然后放到ie的目录下就可以了。就这么简单。如下图
现在可以配置好开发IDE啦,我用的是Pycharm,这个我也上传上来。看看我的安装好的:
开发环境也可以了,现在就可以正常用了,我这里用了
browser = webdriver.Ie()
其实你可能不成功的,因为我做了一个修改,在这里(先按住Ctr,然后鼠标左键那个Ie,就进入到下面的页面了),这里就是初始化IEDriver的,给的一个路径而已。
def __init__(self, executable_path='C:\Program Files\Internet Explorer\IEDriverServer.exe', capabilities=None,
下面我把代码都贴出来吧:
from selenium import webdriver
browser = webdriver.Ie()
browser.get(&&)
browser.find_element_by_id(&kw&).send_keys(&Eric_guodongliang&)
browser.find_element_by_id(&su&).submit()
运行后是这个样子:
可以开始用python设计你的自动化用例啦,接下来还要做的事情就是开发自动化框架,光有工具没有框架也驱动不起来啊。
接下来的时间开始着手框架的开发,最终和python+selenium结合起来,自动化就搭建完毕了。
希望可以帮助到大家。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:208741次
积分:1879
积分:1879
排名:第15174名
原创:43篇
转载:20篇
评论:52条
(2)(1)(1)(1)(1)(1)(1)(6)(1)(1)(1)(2)(10)(1)(15)(11)(7)selenium-python自动化测试_在线免费试读_百度阅读
简介:自动化测试工程师,来自于美丽的古城西安。
计算机热门榜单
& 0手机专享价
扫码免费下载该书再送30元代金券
selenium-python自动化测试
selenium自动化测试,selenium2自动化测试,python自动化测试,python自动化测试框架,python接口自动化测试,python自动化测试脚本,python自动化测试教程,python app自动化测试,python web自动化测试
目录(共12章)
投诉与建议
扫描下载客户端哪里有比较好一些的selenium + python的web自动化测试的视频教程下载啊?
本人学selenium
和python不久,现在想利用起来做一下自动化测试。希望可以得到一些好的资源,谢谢!
已有帐号?
无法登录?
社交帐号登录Posts - 259,
Articles - 1,
Comments - 2142
大人不华,君子务实。
独立博客:
21:45 by 虫师, ... 阅读,
WebUI automation testing framework based on Selenium
介绍: pyse基于selenium(webdriver)进行了简单的二次封装,比selenium提供的方法操作更简洁。
  python +&selenium 自动化测试写久了发现selenium(webdriver)提供原生的方法并简便,于是,产生了二次封装的想法。想不到太炫酷的名字,于是各取了两个单词的前两个字母-- pyse。
所有方法只提供xpath定位,webdriver提供了8种定位方法(id\name\class name\tag name\link text\partial link text\xpath\css selector)但xpath一定程度可以替代id\name\class name\tag name 等方法,本框架所提供的click_text()方法可以替代link text方法,所以只用xpath定位对不影响框架对元素的定位能力,又保证了定位方法的一致性。
本框架只是对selenium(webdriver)原方法的简单封装,精简为30个方法,经过我的自动实践,这些方法完全够胜任于我们的自动化工作。
集成了HTMLTestRunner 测试报告,使生成报告变得很简单。
安装及前提条件:
Python2.7 :
selenium:&&
安装pyse : 将其克隆到本地,将pyse目录放到..\Python27\Lib\site-packages\目录下。
例子: 请查看demo目录
先看一下百度搜索的例子:
#coding=utf-8
from pyse import Pyse
from time import sleep
driver = Pyse("chrome")
driver.open("")
driver.type("//*[@id='kw']",u"pyse自动化测试")
driver.click("//*[@id='su']")
driver.quit()
再看一个page object 设计模式的例子
page_object_case.py
#coding=utf-8
from pyse import Pyse
from time import sleep
class Page(object):
基本类,用于所页面的继承
login_url = ''
def __init__(self, selenium_driver, base_url=login_url, parent=None):
self.base_url = base_url
self.driver = selenium_driver
self.timeout = 30
self.parent = parent
def _iopen(self,url):
url = self.base_url + url
self.driver.open(url)
assert self.on_page(),'Did not land on %s' % url
def iopen(self):
self._iopen(self.url)
def on_page(self):
return self.driver.get_url() == (self.base_url + self.url)
class LoginPage(Page):
126邮箱登录页面模型
def type_username(self,username):
self.driver.type("//*[@id='idInput']",username)
def type_password(self,password):
self.driver.type("//*[@id='pwdInput']",password)
def submit(self):
self.driver.click("//*[@id='loginBtn']")
def test_user_login(driver, username, password):
测试获取的用户名密码 是否可以登录
login_page = LoginPage(driver)
login_page.iopen()
login_page.type_username(username)
login_page.type_password(password)
login_page.submit()
def main():
driver = Pyse("chrome")
username = 'username'
password = 'password'
test_user_login(driver, username, password)
text = driver.get_text("//span[@id='spnUid']")
assert(text == ''),u"用户名称不匹配,登录失败!"
# 关闭浏览器窗口
driver.close()
if __name__ == '__main__':
再看一个使用unittest单元测试框架的例子。
unittest_case.py
#coding=utf-8
from pyse import Pyse,TestRunner
from time import sleep
import unittest
class baiduTest(unittest.TestCase):
def setUp(self):
self.driver = Pyse("chrome")
self.driver.wait(10)
self.base_url = ""
def test_case(self):
driver = self.driver
driver.open(self.base_url)
driver.click_text("设置")
driver.click_text("搜索设置")
driver.click("//a[@class='prefpanelgo']")
driver.accept_alert()
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
TestRunner(r".\demo").run()
  调用TestRunner()测试类时需要指定一个测试用例的目录,如:E:\mytestpro\test_case 。然后,调用的它的run()方法来运行测试用例。
  匹配测试用例文件的规则是*_case.py 。所以,测试文件的命名一定要为 aa_case.py ,a12_case.py等。
  它会自动在test_case目录下生成report目录并在其下面生成测试报告。如下:
项目地址:哈喽,各位客官好,今天我给大家讲讲如何使用Python+Selenium做自动化测试,楼主在做开发测试之前做得java开发,由于种种原因,楼主转成了开发测试,接着又自学了脚本语言linux和python,对于这两门脚本,我是非常的喜欢,为什么呢,因为用起来效率太高了,所以楼主弃java转python,至于为什么,不做多解释,你懂得。接下来我将给各位讲讲如何用python+selenium自动化
1,什么是selenium
selenium是一个开源的自动化测试框架,主要适用WEB测试,可以支持多种语言(Java, C#, Python,php等),既然支持多语言开发,那跨平台自然就不用多说啦,selenium有几个版本,一个是selenium IDE(是一个安装在火狐浏览器上的一个插件,可以用来录制脚本,然后导出自动生成对应的开发语言文件),selenium Grid(自动化辅助工具,楼主还没深入研究), seleniun RC(一个远程控制访问从而达到测试目的,有server端和client端),以上是我总结的,具体的定义,各位可以去官网看看,此处不做多解释,我们只需知道它是什么就够了。
2,selenium如何工作
关于selenium如何工作,也是很多小伙伴想知道的,selenium有一个驱动叫webdriver,这是selenium的核心,支持多种浏览器(Firefox, Chrome, Safiri, IE等),Chrome,IE使用时需要额外对应浏览的webdriver驱动器(Iedriver.exe, chromedirver.exe),以下是一个简单的实例:
1 # coding:utf-8
3 from selenium import webdriver #导入selenium
4 import time
6 browser = webdriver.Chrome(r'C:\Python27\chromedriver.exe') #加载chrome驱动,创建一个对象
8 browser.get('') #获取需要测试Web的地址
10 browser.maximize_window()#窗口最大化
12 browser.find_element_by_id('kw').send_keys('selenium')
#获取网页中的元素
14 browser.find_element_by_id('su').click()
16 time.sleep(3)
18 browser.quit()#关闭驱动对象
看了上面的代码,我们可以知道,selenium主要工作方式是抓取网页中的元素,然后进行相应的赋值,事件等,selenium有多种获取元素的方法,有获取id,name,css,xpath等
3,selenium如何跟python一起使用
我们使用selenium+python肯定不是我们写的以上那么简单的几行代码,在正常的自动化中,为了便于管理维护脚本,一般会使用合适的框架来提高代码的质量和维护成本,关于框架主要有uinittest(python自带的单元测试框架),HTMLTestRunner(主要用户生成测试报告和结果,详细使用各位可以去查阅相关文档),smtplib(邮件包,只要是能将测试结果以邮件的形式发送给pm),除了测试框架,还有关于代码分离,复用等,这一部分不做多详述,主要是环境搭建和架构的东西,下一次有时间再做详细解释。
此篇内容没有什么多大价值,主要是让大家了解selenium跟python自动化的初述,纯属片面之谈,不足之处请下方留言,谢谢!
((文章原创,转载时请注明出处,谢谢!))
阅读(...) 评论()

我要回帖

更多关于 自动化测试框架 的文章

 

随机推荐