selenium智能化测试框架 如何搭建python (selenium)
本文目录导航:
如何搭建python+selenium智能化测试框架
selenium是一个web的智能化测试工具,不少学习性能智能化的同窗开局首选selenium,相由于它相比QTP有诸多有点:
*收费,也不用再为破解QTP而大伤脑筋
*小巧,关于不同的言语它只是一个包而已,而QTP须要下载装置1个多G的程序。
*这也是最关键的一点,不论你以前更相熟C、java、ruby、python、或都是C#,你都可以经过selenium成功智能化测试,而QTP只允许VBS
*允许多平台:windows、linux、MAC,允许多阅读器:ie、ff、safari、opera、chrome
*允许散布式测试用例的口头,可以把测试用例散布到不同的测试机器的口头,相当于散发机的性能。
关于selenium的基础常识与java平台的联合,我之前写过一个《菜鸟学习智能化测试》系列,最近学python,所以想尝试一下selenium的在python平台如何搭建;还好这方法的文章很容易,在此将搭建步骤整顿分享。
搭建平台windows
预备工具如下:
下载python
假设你是新学python,哪果你没有要用的包是必定依赖于pyhton2.x 的,那么请毫不犹疑的选用python3.5吧!
window装置步骤:
1、下载python装置。
依据自己的操作系统32/64 位,选用相应的版本。
装置环节我就没必要形容,我的装置目录为:C:\Python35
2、进入cmd(windows命令提示符)上方输入python命令。
(假设提示python不是外部或外部命令!别急,去性能一下环境变量吧)
修正我的电脑->属性->初级->环境变量->系统变量中的PATH为:
变量名:PATH
变量值:;C:\Python35;C:\Python35\Scripts;
3、装置selenium
3.1、经过pip 装置
C:\Users\fnngj>python3 -m pip install selenium
3.2、经过下载包装置
或许间接下载selenium包:
解压,cmd进入目录:
C:\selenium\selenium2.53.5> python3 install
ubuntu 下装置形式:
1、装置:setuptools
root@fnngj-H24X:~#apt-get install python-setuptools
2、装置pip
root@fnngj-H24X:/home/fnngj/python#tar -zxvf
root@fnngj-H24X:/home/fnngj/python#cd pip-1.4.1/
root@fnngj-H24X:/home/fnngj/python#python install
3、装置selenium
root@fnngj-H24X:/home/fnngj/python/pip-1.4.1#pip install -U selenium
祝贺~!你前期上班曾经做了,上方的步骤确实有些繁琐,然而并不难,不过咱们曾经成功成了,上方体验一下成绩吧!拿python网站上的例子:
from selenium import webdriverfrom import NoSuchElementExceptionfrom import Keysimport timebrowser = () # Get local session of () # Load pageassert Yahoo! in = _element_by_name(p) # Find the query _keys(seleniumhq + )(0.2) # Let the page load, will be added to the _element_by_xpath(//a[contains(@href,)])except NoSuchElementException:assert 0, cant find ()
(运转环节中假设产生失误:
WebDriverException:Message:uUnexpectederrorlaunchingInternetExplorer.
demustbesettothesamevalue(enabledordisabled)forallzones.
更改IE的internet选项->安保,将Internet/本地Internet/受信赖的站定/受限度的站点中的启用包全形式所有去掉勾,或许所有勾上。)
selenium+python的一份不错文档
===========================假构想经过其它阅读器(IE Chrome)运转脚本=================================
装置Chromedriver
chromedriver的下载地址在这里。
1.下载解压,你会获取一个文件(我点开,运转提示startednoprot9515,这是干嘛的?端口9515被占了?两边折腾了半天),起初才知道须要把这家伙放到chrome的装置目录下...\Google\Chrome\Application\,而后设置path环境变量,把chrome的装置目录(我的:C:\ProgramFiles\Google\Chrome\Application),而后再调用运转:
# coding = utf-8from selenium import webdriverdriver = ()(http:om)print ()
又报了个错:
Chromeversionmustbe>=27.0.1453.0\n(Driverinfo:chromedriver=2.0,platform=WindowsNT5.1SP3x86)
说我chrome的版本没有大于27.0.1453.0,这个好办,更新到最新版本即可。
装置IEdriver
在新版本的webdriver中,只要装置了iedriver经常使用ie启动测试上班。
iedriver的下载地址在这里,记得依据自己机器的操作系统版原本下载相应的driver。
临时还没尝试,应该和chrome的装置形式相似。
记得性能IE的包全形式
假设要经常使用webdriver启动IE的话,那么就须要性能IE的包全形式了。
把IE里的包全形式都选上或都勾掉就可以了。
如何在无显示器的ubuntu下跑selenium
Selenium是一个web智能化测试框架。
用它可以成功web运行智能化测试。
不过,我不仅是用它来做测试,我还用它从电子商务网站签到页面爬取javascript生成的或AJAX的内容。
作为程序员,我不满足于经常使用Selenium IDE来记载和重放宏记载。
那样很蹩脚,而且不适宜部署到多台主机。
这时,你须要Selenium WebDriver,它又灵敏,而且经过Selenium headless,运转Selenium在主机上不须要显示设施。
为什么要运转Headless Selenium 测试? 当你宿愿能在主机上运转的强健的智能化操作,而其操作又依赖于 27X7,同时还宿愿它是稳固的,这时,Selenium是你惟一的选用。
然而,Selenium须要运转在阅读器上。
所以,你得骗Selenium,让它感觉,它正跑在一台带有显示器的机器上。
这样,你就可以不连续的跑智能化测试,同时又不失稳固性和裁减性。
如何在ubuntu上运转Selenium headless 本教程的指标是在经常使用Mozilla Firefox作为主阅读器的ubuntu上性能和运转selenium headless。
装置Firefox headless 确认你的ubuntu装置的是最新版本的Firefox。
我遇到过Selenium的版本和Firefox的版本不兼容疑问。
假设你没有装置Firefox或许经常使用的是老版本的Firefox,可按以下步骤更新Firefox: 在/etc/apt/参与: ppa:mozillateam/firefox-stable 运转以下命令更新或装置Firefox sudo apt-get update sudo apt-get install firefox 运转成功后,ubuntu上就应该装置好最新版本的Firefox了。
装置Xvfb——一个X虚构框架 这个仿真框架经常使用虚构内存能让X-Server运转在没有显示设施的机器上。
这样,阅读器就可以运转了。
在ubuntu和Debian上装置xvfb,只需运转: sudo apt-get install xvfb 如今,可以运转xvfb服务上一个带有数字的显示设施上,这样是为了防止你在下阶段减少设施时引发抵触。
本教程,咱们调配一个显示设施 10.. sudo Xvfb :10 -ac -ac代表封锁xvfb的访问管理。
好了,主机可以运转了。
启动阅读器 在你运转阅读器前,你首先要设置DISPLAY环境变量,以指定xvfb运转在哪个显示设施上。
在参与环境变量前,咱们审核一下一切的这些都如咱们所料: export DISPLAY=:10 firefox 假设终端(terminal)没有显示失误,就说明你曾经成功运转Firefox在无显示设施的ubuntu上了。
它会不时运转,直到你经常使用ctrl + C或其它相似方法来中断其运转。
同时,它不会有任何输入。
假设你能成功运转以上的步骤,那么接上去的局部就是轻而易举了。
如今,咱们可以在ubuntu主机上运转selenium,似乎你在本地运转一样。
本教程的下一局部,我展现了如何运转一个独立selenium主机,同时经常使用PHP的selenium webdriver去衔接。
小结 很久以前,我也经常使用selenium做智能化的集成测试,经常使用HtmlUnit的webdriver,所以不须要显示器。
然而HtmlUnit的体现总是有些不吉祥。
而最近在名目中发现这篇文章,处置我短暂以来的疑问:在没有显示器的主机上运转Firefox的集成测试。
selenium的edge装置
由于博主经常经常使用Microsoft Edge阅读器,他选择装置Selenium的Edge版本以允许智能化测试。经过一番尝试后,他分享了装置步骤:
最后,博主提示读者,装置终了后,可以经过编写测试代码来验证Edge WebDriver能否成功性能。
文章评论