欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Selenium Webdriver启动IE、Chrome、Firefox三大浏览器进行测试

程序员文章站 2022-07-01 12:50:44
...

     最近一直在学习Selenium Webdriver,在学习多浏览器测试时,遇到了不少问题,参考了不少前辈的博客和书籍,作为一个新手+菜鸟,在此对学习的一些过程进行总结分享,欢迎大家批评指正。

    我使用的版本是:win7 64位、selenium-2.53.0、Firefox42.0、Chrome 50.0.2661(公司的浏览器版本比较老,不能自己安装)

   一、Selenium Webdriver启动IE

(参考http://blog.csdn.net/zyl26/article/details/51011073selenium官方文档

    1、下载IEDriverServer

          Selenium Webdriver启动IE、Chrome、Firefox三大浏览器进行测试

         注意IEDriverServer的版本号一定要和你所使用的Selenium版本一致。

    2、更改IE的安全设置,使四个区域的保护模式保持一致,要么全部勾选,要么不勾选。

       Selenium Webdriver启动IE、Chrome、Firefox三大浏览器进行测试

    3、在IE选项设置中的高级选项中,取消增强保护模式     

    4、IE11需要修改注册表,win+R   ->   regedit

        32位的windows,key值为:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet 

Explorer\Main\FeatureControl\FEATURE_BFCACHE


         64位的windows,key值为:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet 

Explorer\Main\FeatureControl\FEATURE_BFCACHE


     我新建了一个FEATURE_BFCACHE的key值,内部创建一个iexplorer.exe,DWORD类型,值为0。

      Selenium Webdriver启动IE、Chrome、Firefox三大浏览器进行测试

    5、更改IE的缩放比例必须为100%

     如果不改缩放比例,测试程序启动时会报错。    

    6、64位的IEDriver驱动速度慢

    上述步骤都完成之后,发现使用64位的IEDriver驱动,对浏览器的页面元素的操作速度特别慢,网上查了下,换成了32位的IEDriver驱动,速度变快了。

   二、Selenium Webdriver启动Chrome

       1、Chromedriver和Chrome的版本存在映射关系,如果版本不一致,启动程序会报错。

       感谢前辈总结如下版本映射表,提供了很大的帮助。

selenium之 chromedriver与chrome版本映射表      

// 加载chrome浏览器驱动
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
        2、加载完驱动后程序报Cannot find chrome binary错误,应该是chrome安装的时候路径不是默认路径,需要
        添加chrome二进制文件的路径。      
// 添加chrome二进制文件
ChromeOptions options = new ChromeOptions();
options.setBinary("C:\\WorkSpace\\Chrome\\50.0.2661.102\\chrome.exe");
driver = new ChromeDriver(options);       
三、Selenium Webdriver启动Firefox
         selenium2启动Firefox不需要下载连接浏览器的驱动文件,Firefox安装的时候路径不是默认路径,只需要添加Firefox二进制文件的路径。   
// 添加firefox二进制文件
System.setProperty("webdriver.firefox.bin","C:\\WorkSpace\\Tools\\FireFox\\firefox.exe");
总结:
这只是在特定操作系统和特定浏览器下的一个实践的总结,如有错误,请批评指正。实践出真知,感谢前辈们的分享。同时,在学习selenium的过程中,深深的认识到了阅读英文文档的重要性。很多关于selenium的操作在官网上都有十分详尽的说明,由于英文看起来慢,费劲,一开始都懒得看英文资料。以后,要慢慢培养阅读英文资料的习惯。纸上得来终觉浅,绝知此事要躬行。路漫修远,虚心求索。。。