首页编程java编程java+selenium,java编写自动化测试脚本

java+selenium,java编写自动化测试脚本

编程之家2026-06-01691次浏览

本篇文章给大家谈谈java+selenium,以及java编写自动化测试脚本对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

java+selenium,java编写自动化测试脚本

selenium调用带插件的chrome(java+python)

在Selenium中调用带插件的Chrome浏览器,可以通过以下两种方式实现:

一、使用真实用户数据通过指定Chrome的用户数据目录,可以加载已安装的插件和保持登录状态。

1. Python实现传统方法(老版Selenium):

from selenium import webdriveroption= webdriver.ChromeOptions()option.add_argument("--user-data-dir=C:/Users/username/AppData/Local/Google/Chrome/User Data")#替换为你的用户数据路径driver= webdriver.Chrome(executable_path='D:/app/webdriver/chromedriver.exe', chrome_options=option)driver.get(";)Selenium 4方法:

from selenium import webdriverfrom selenium.webdriver.chrome.service import Serviceoption= webdriver.ChromeOptions()option.add_argument("--user-data-dir=C:/Users/username/AppData/Local/Google/Chrome/User Data")#替换为你的用户数据路径s= Service(executable_path='D:/app/webdriver/chromedriver.exe')#如果driver在系统PATH中,可省略driver= webdriver.Chrome(service=s, options=option)driver.get(";)2. Java实现System.setProperty("webdriver.chrome.driver","D:/app/webdriver/chromedriver.exe");ChromeOptions options= new ChromeOptions();options.addArguments("user-data-dir=C:/Users/username/AppData/Local/Google/Chrome/User Data");//替换为你的用户数据路径WebDriver driver= new ChromeDriver(options);driver.get(";);注意事项:

路径中的Default不要加进去。路径中的反斜杠需要替换为正斜杠/。在老版Selenium中,使用此方法时需要关闭所有手动打开的Chrome浏览器实例,否则会报错。Selenium 4和Java版本则无此限制。二、带插件的初始化方式通过加载.crx插件文件,可以在实例化浏览器时添加特定插件。

java+selenium,java编写自动化测试脚本

1. Python实现from selenium import webdriveroption= webdriver.ChromeOptions()option.add_extension("D:/test.crx")#替换为你的插件路径driver= webdriver.Chrome(chrome_options=option)driver.get(";)2. Java实现System.setProperty("webdriver.chrome.driver","D:/app/webdriver/chromedriver.exe");ChromeOptions options= new ChromeOptions();File pluginFile= new File("D:/test.crx");//替换为你的插件路径options.addExtensions(pluginFile);WebDriver driver= new ChromeDriver(options);driver.get(";);注意事项:

插件文件格式应为.crx。可以通过以下方式获取.crx文件:从第三方插件网站直接下载。

使用在线工具将Chrome插件商店的链接转换为.crx文件下载地址。

通过Chrome浏览器的插件管理页面的“打包扩展插件”功能生成。

补充说明用户数据目录:通过chrome://version/查看用户数据路径,使用时去掉路径中的Default并将反斜杠替换为正斜杠。插件持久性:使用真实用户数据方法时,插件和登录状态会持久保存;而使用.crx文件方法仅在当前会话中有效。版本兼容性:不同版本的Selenium和ChromeDriver可能有不同的行为,建议测试确认。参考文档ChromiumOptions通过以上方法,你可以灵活地在Selenium中调用带插件的Chrome浏览器,满足不同的自动化测试需求。

如何搭建python+selenium自动化测试框架

selenium是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium,相因为它相比QTP有诸多有点:

java+selenium,java编写自动化测试脚本

*免费,也不用再为破解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 setup.py install

===============================================

ubuntu下安装方式:

1、安装:setuptools

root@fnngj-H24X:~#apt-get install python-setuptools

2、安装pip

root@fnngj-H24X:/home/fnngj/python#tar-zxvf pip-1.4.1.tar.gz

root@fnngj-H24X:/home/fnngj/python#cd pip-1.4.1/

root@fnngj-H24X:/home/fnngj/python#python setup.py install

3、安装selenium

root@fnngj-H24X:/home/fnngj/python/pip-1.4.1#pip install-U selenium

恭喜~!你前期工作已经做了,上面的步骤确实有些繁琐,但是并不难,不过我们已经完成成了,下面体验一下成果吧!拿python网站上的例子:

from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.keys import Keysimport time

browser= webdriver.Firefox()# Get local session of firefoxbrowser.get("hto.com")# Load pageassert"Yahoo!" in browser.title

elem= browser.find_element_by_name("p")# Find the query boxelem.send_keys("seleniumhq"+ Keys.RETURN)

time.sleep(0.2)# Let the page load, will be added to the APItry:

browser.find_element_by_xpath("//a[contains(@href,'httpmhq.org')]")except NoSuchElementException: assert 0,"can't find seleniumhq"browser.close()

(运行过程中如果出现错误:

WebDriverException:Message:u'UnexpectederrorlaunchingInternetExplorer.

ProtectedModesettingsarenotthesameforallzones.EnableProtectedMo

demustbesettothesamevalue(enabledordisabled)forallzones.'

更改IE的internet选项->安全,将Internet/本地Internet/受信任的站定/受限制的站点中的启用保护模式全部去掉勾,或者全部勾上。)

-----------------------------------------

selenium+python的一份不错文档

===========================如果想通过其它浏览器(IE Chrome)运行脚本=================================

安装Chromedriver

chromedriver的下载地址在这里。

1.下载解压,你会得到一个chromedriver.exe文件(我点开,运行提示startednoprot9515,这是干嘛的?端口9515被占了?中间折腾了半天),后来才知道需要把这家伙放到chrome的安装目录下...\Google\Chrome\Application\,然后设置path环境变量,把chrome的安装目录(我的:C:\ProgramFiles\Google\Chrome\Application),然后再调用运行:

# coding= utf-8from selenium import webdriverdriver= webdriver.Chrome()driver.get('http:om')print driver.title

driver.quit()

又报了个错:

Chromeversionmustbe>=27.0.1453.0

(Driverinfo:chromedriver=2.0,platform=WindowsNT5.1SP3x86)

说我chrome的版本没有大于27.0.1453.0,这个好办,更新到最新版本即可。

安装IEdriver

在新版本的webdriver中,只有安装了iedriver使用ie进行测试工作。

iedriver的下载地址在这里,记得根据自己机器的操作系统版本来下载相应的driver。

暂时还没尝试,应该和chrome的安装方式类似。

记得配置IE的保护模式

如果要使用webdriver启动IE的话,那么就需要配置IE的保护模式了。

把IE里的保护模式都选上或都勾掉就可以了。

selenium+webdriver设置浏览器为手机模式

在使用Selenium和WebDriver设置浏览器为手机模式时,可以采取以下步骤:

选择编程语言和WebDriver:

Java+Selenium+ChromeDriver:适用于Java开发者,需确保ChromeDriver与Chrome浏览器版本匹配。Python+Selenium+ChromeDriver:适用于Python开发者,同样需确保ChromeDriver与Chrome浏览器版本匹配。模拟移动设备的方式:

通过指定设备名称:在Selenium中设置特定的设备名称,ChromeDriver将自动适配该设备的样式和分辨率。需确保设备名称与Chrome中的预设名称一致。指定分辨率和UA标识:此方法更灵活,可以模拟几乎任何设备样式。需获取目标设备的UA标识,并在Selenium中设置相应的分辨率和UA标识。获取UA标识:

可以通过查看浏览器的F12控制台网络请求头、访问UA在线检测网站,或者在浏览器控制台直接输入window.navigator.userAgent指令来获取目标设备的UA标识。设置手机模式:

在使用Java或Python结合Selenium和ChromeDriver时,需在代码中指定设备名称或分辨率和UA标识来开启手机模式。若使用Java结合Selenium和RemoteChromeDriver,还需额外添加代码以开启手机模式。注意事项:

确保设备名称与Chrome中的预设名称一致,否则将报错。UA标识的获取可能具有多样性和复杂性,需仔细核对。模拟移动设备环境有助于更精确地测试和开发H5页面与WAP页面,但需注意与实际设备环境的差异。

关于java+selenium和java编写自动化测试脚本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

和平精英工卡,和平精英体验卡古云有螭 古云有螭5个龙头顺序