大佬教程收集整理的这篇文章主要介绍了centos下的selenium+phantomjs,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
From:http://www.easonhan.info/phantomjs/2015/01/10/ghost-driver/
参考:http://blog.chinaunix.net/uid-10289334-id-4473078.html
做过SELEnium自动化项目的同学应该都遇到过这样的问题:测试用例太多,运行速度过慢导致团队成员怨声载道。
于是便有了SELEnium grid和多线程运行SELEnium测试用例的方法。这些方法各有利弊这里就不一一列举了。但总的来说,如果浏览器运行的速度足够快,那么多线程并发时的用例执行速度应该是可以满足实际项目需求的。
再想象一下这样的情景:如果你手头的机器是没有gui的(这是可能的,我以前的几台centos的server根本就没有ui),如何在这样的headless的机器上运行SELEnium用例呢?
答案是可以用SElenium自带的HtmlUnitDriver。不过可惜的是HtmlUnitDriver对js的支持不是特别完美,所以该方案可行但是不完善,不是特别适合用于真实项目。
好在现在有了phantomjs和ghostdriver,我们可以用ghostdriver来运行SELEnium测试用例。所有的用例都是在没有gui的浏览器里运行,运行速度可以得到极大的提升。再加上phantomjs是基于webkit的,所以ghostdriver完全可以模拟chrome和safari的行为。
在我的mACBookpro上,chromedriver的表现不是特别令人满意,而我又没有安装firefox和safari driver,所以对于一般的页面(js交互不是特别多的页面),我都是用ghost driver在调试问题,快速而简便。最主要是没有真实的浏览器弹出来,不会像chromedriver那样经常意外退出造成内存泄漏,也不会像firefox那样运行缓慢。
下面简单介绍一下ghost driver 与SELEnium合体的过程。
下面的内容要求你已经成功的安装好python的SELEnim binding。如果你有pip,直接运行pip install SELEnium
即可。如果被墙,请使用豆瓣源。
或者成功的安装好ruby的watir-webdriver。如果你有gem,直接运行gem install watir-webdriver
即可。如果被墙,请使用淘宝源。
ghost driver现在已经跟phantomjs合体,所以安装好最新版本的phantomjs就等于安装好了ghostdriver。
在这里下载对应平台的phantomjs。
windows用户将解压过后的得到的phantomjs.exe文件加入系统的PATH中。@R_980_10944@如果你使用pyhon,就把Phantomjs.exe放到python的安装目录下,ruby用户放到ruby/bin目录下;
ln -s /where/is/phantomjs /usr/local/bin/phantomjs
;
from SELEnium import webdriver
dr = webdriver.PhantomJS('phantomjs')
drget@H_404_92@'http://baidu.info')
print title
current_url
quit()
watir-webdriver用户新建文件itest.rb然后敲入下面的内容
ghostdriver尽管对js的支持是不错的,但是如果你的页面上js交互过多的话,ghostdriver是会缴械投降的;
用ghostdriver+SELEnium的语法可以做一些不错的爬虫;
用java用户请使用maven下载java的ghostdriver binding;
当页面上有flash播放器时,phantom可能会萌萌哒的卡在那里一动不动;
ghostdriver基于phantomjs,phantomjs可以做爬虫,简单的性能测试,ui自动化测试和其他一些工作;
答案是截图拯救测试人员,截图拯救世界。
运行到关键的节点或步骤时截个图,即方便了调试又使你的测试拥有足够多的输出,一举两得何乐不为?
python代码
以上是大佬教程为你收集整理的centos下的selenium+phantomjs全部内容,希望文章能够帮你解决centos下的selenium+phantomjs所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。