selenium怎么驱动谷歌浏览器(selenium驱动chrome)
很多朋友对于selenium怎么驱动谷歌浏览器和selenium驱动chrome不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
![selenium怎么驱动谷歌浏览器(selenium驱动chrome)](http://www.gdxhedu.com/images/2024/02/bwl6zw0gvb.jpg)
本文目录
- 怎么用python做自动化测试
- Selenium怎样驱动Firefox浏览器
- python+selenium调用IE:打不开浏览器时的设置
- python selenium设置浏览器参数
- 如何使用selenium 驱动chrome浏览器并且打开方式为手机模式
- 如何设计多浏览器支持 在selenium框架中
一、怎么用python做自动化测试
这里以web自动化测试为例,简单介绍一下如何使用python进行web自动化测试,主要用到selenium这个框架,实验环境win10+python3.6,主要内容如下:
1.首先,安装selenium框架,这个直接在cmd窗口输入命令“pipinstallselenium”就行,如下,安装非常快:
2.安装完成后,还需要安装浏览器驱动程序,不然直接运行程序会报错,以谷歌浏览器chrome为例,需要下载chromedriver驱动程序,如下,这里chromedriver的版本必须要与自己平台浏览器的版本匹配:
下载完成后,是一个zip压缩包,里面就一个chromedriver.exe文件,这里需要将这个文件复制到python安装目录下,如下:
3.最后,我们就可以进行selenium框架测试了,测试代码如下,非常简单,创建一个webdriver,如果能正常打开对应网页,则说明selenium安装成功:
之后就可以直接定位相关元素,进行web自动化测试了,主要方法如下(共有8种),分别是id、name、classname、tagname、linktext、partiallinktext、xpath和cssselector,这里可以自行测试,相关资料非常丰富:
至此,我们就完成了pythonweb自动化测试框架selenium的安装和简单使用。总的来说,整个过程非常简单,只要你有一定的python基础,熟悉一下上面的安装过程,很快就能搭建好本地selenium自动化测试框架,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
二、Selenium怎样驱动Firefox浏览器
一、Selenium怎样驱动Firefox浏览器:
首先打开Selenium的官网,在地址栏输入
好了,这就是三个需要下载的东西:
然后解压,添加.jar包到你的工程里面
把这个放到你的Firefox浏览器的安装目录下:
如果你是用Maven来构建的话,就就不用去Selenium的官网下载,只需要以下几行:
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>3.4.0</version>
版本号可以随便修改,官网上最新的是3.5.3;
如果你用的是Gradle来构建的话,只需要一行:
compile'org.seleniumhq.selenium:selenium-firefox-driver:3.5.3'
好了,引入第三方依赖的准备工作都完成了,让我们开始写代码:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;
public static void main(String[] args){
WebDriver driver;//声明WebDriver
System.setProperty("webdriver.firefox.marionette","C:\\Program Files\\Mozilla Firefox\\firefox.exe");
String Url="";//百度的地址
driver=new FirefoxDriver();//new一个FirefoxDriver()
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);//设置显式等待10秒钟
driver.get(Url);//打开百度首页
driver.manage().window().maximize();//把浏览器窗口最大化
Thread.sleep(3000);//让线程等待3秒钟
} catch(InterruptedException e){
成功的启动了Firefox浏览器,并且打开了百度;
这里需要注意的是Firefox的版本不能是官网上最新的,因为Firefox迭代的太频繁了,我用的是46,这里有一个历史版本的地址:
System.setProperty("webdriver.firefox.marionette","C:\\Program Files\\Mozilla Firefox\\firefox.exe");
三、python+selenium调用IE:打不开浏览器时的设置
1.在IE浏览器的 设置>internet选项>安全下,将四个区域中启用保护模式的状态保持一致(全部取消勾选或者全部勾选),应用并确定。
2.禁用【高级】中的“启用增强保护模式”
4.若IE版本为11,则需要修改注册表:win+R-->regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
如果key值不存在,就添加。之后在key内部创建一个iexplorer.exe,DWORD类型,值为0,如下图所示:
5.之后selenium即可打开IE浏览器
四、python selenium设置浏览器参数
为了避免每次运行程序都打开一个窗口,我们也可以设置无窗口访问,只需添加浏览器参数即可:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
url=' ;
chrome_options.add_argument('--headless')
chrome_options.add_argument('lang=zh_CN.utf-8')
UserAgent='Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
chrome_options.add_argument('User-Agent='+ UserAgent)
driver= webdriver.Chrome(chrome_options=chrome_options)
指定用户文件夹 User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区–-user-data-dir=”[PATH]”
指定缓存Cache路径–-disk-cache-dir=“[PATH]”指定Cache大小,单位Byte–-disk-cache-size=100
禁用Javascript–-disable-javascript#禁止加载所有插件,可以增加速度--disable-plugins
禁用JavaScript--disable-javascript
禁用弹出拦截--disable-popup-blocking
设置代理chrome_options.add_argument('--proxy-server=http://{ip}:{port}')#
五、如何使用selenium 驱动chrome浏览器并且打开方式为手机模式
1、可以通过selenium+android server.apk的方式实现
其原理是将android server.apk当做一个浏览器,使用selenium2.0的jar包初始化AndroidDriver。在此apk中去进入一个wap端链接(m.baidu.com),再去识别元素,进行自动化
2、通过Appium+ChromeDriver方式,在手机端安装手机chrome浏览器,使用appium依然初始化AndroidDriver,启动chrome,此时可以去get链接URL,实现wap自动化。需要注意是chromeDriver的版本和手机端chrome浏览器一致。
ps,chrome启动为手机模式,至今未实现
六、如何设计多浏览器支持 在selenium框架中
driver_manager--通过type参数启动不同的浏览器driver
test_manager--通过type参数生成不同的类,实现多浏览器支持
*:注意单独调试的时候需要在开头加上sys.path.append(r'D:\test_browser'),否则from lib.base.util import Util会报错
XXXPage实现每个page页功能,如创建bug、创建文档功能
成员变量type,driver,config_file
在setup和teardown中实现driver启停
TestXXXPage实现每个page页测试用例
写用例的时候先写page再写对应的case
url=
dir_screenshot=D:/test_browser/data/screenshot
config=ConfigParser.ConfigParser()
config.read('base.conf')
print config.get('info','qa_user')
采用类的继承方式生成针对不同浏览器的类,实现多浏览器支持
new_classname=str(clz.__name__)+'-'+str(type).capitalize()#驼峰式写法,首字母大写
new_clz=classobj(new_classname,(clz,),{'type':type})
return unittest.makeSuite(new_clz)
好了,关于selenium怎么驱动谷歌浏览器和selenium驱动chrome的问题到这里结束啦,希望可以解决您的问题哈!
声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。
本文链接:http://www.gdxhedu.com/news/179352.html