webdriver高级应用- 启动带有用户配置信息的firefox浏览器窗口

由于WebDriver启动FireFox浏览器时会启用全新的FireFox浏览器窗口,导致当前机器的FireFox浏览器已经配置的信息在测试中均无法生效,例如已经安装的浏览器插件、个人收藏夹等。为了解决此问题,自动化测试脚本中需要使用指定的配置信息来启动FireFox浏览器窗口。

1.生成用户自定义的FireFox浏览器配置文件:

在CMD中使用cd命令进入firefox.exe文件所在目录(比如:C:\Program Files\Mozilla Firefox),
并输入firefox.exe -ProfileManager -no-remote命令,然后按Enter键,
调出“Firefox – 选择用户配置文件”操作窗口

如果firefox.exe -ProfileManager -no-remote 执行弹出一个页面说找不到路径,解决方法:
在火狐的菜单“帮助”下,选择“故障排除信息”,点击后,在弹出的页面中找到“配置文件夹 ”的
选项,点击“打开文件夹”,可以获取默认配置文件的全路径。

2.python实现代码如下:

#encoding=utf-8
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import unittest, time

class TestFailCaptureScreen(unittest.TestCase):

    def setUp(self):
        # 创建存储自定义配置文件的路径变量
        #proPath = "C:\\Users\\wuxiaohua\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\tbbmxtkv.webdriver"
        #proPath = "C:\\Users\\wuxiaohua\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\g6m1cswj.default"
        proPath = "C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\ffv3vcdx.default"
        #proPath = "C:\\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\w6k7fiwp.qwq1"
        # 加载自定义配置文件到FirefoxProfile实例中,
        # 等价profile = webdriver.FirefoxProfile(proPath)
        profile = webdriver.firefox.firefox_profile.FirefoxProfile(proPath)
        # 将添加了新配置文件的Firefox浏览器首页设为搜狗主页
        profile.set_preference("browser.startup.homepage", "http://www.sogou.com")
        # 设置开始页面不是空白页,0表示空白页,
        # 这一步必须做,否则设置的主页不会生效
        profile.set_preference("browser.startup.page", 1)
        # 启动带自定义配置文件的Firefox浏览器
        self.driver = webdriver.Firefox(executable_path="e:\\geckodriver", firefox_profile=profile)

    def testSoGouSearch(self):
        # 等待5秒,以便浏览器启动完成
        time.sleep(5)
        try:
            # 找到搜狗主页搜索输入框页面元素
            searchBox = self.driver.find_element_by_id("query")
            # 在找到的搜索输入框中输入“光荣之路自动化测试”
            searchBox.send_keys(u"光荣之路自动化测试")
            # 找到搜索按钮,并点击
            self.driver.find_element_by_id("stb").click()
            time.sleep(10)
        except NoSuchElementException, e:
            print "修改带自定义配置文件的浏览器主页不成功!"

    def tearDown(self):
        # 退出IE浏览器
        self.driver.quit()

if __name__ == ‘__main__‘:
    unittest.main()

原文地址:https://www.cnblogs.com/qingqing-919/p/8716501.html

时间: 2024-10-08 08:04:19

webdriver高级应用- 启动带有用户配置信息的firefox浏览器窗口的相关文章

java+selenium+new——启动带有用户配置信息的Firefox浏览器窗口

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12293648.html

启动带有用户配置信息的FireFox浏览器

今天自己写了一个简单的登录HTML网页,在用Selenium+FireFox调用时发现浏览器出现了乱码,之后百度发现是因为浏览器设置的编码格式不是"UTF-8",之后修改浏览器编码为"UTF-8"之后,再次运行程序发现还是乱码,但是直接打开浏览器浏览网页,字符编码已经正常了,之后查询了资料才知道是由于WebDriver启动FireFox浏览器时会启动全新的FireFox浏览器窗口,导致当前机器用户的浏览器配置信息均在测试中无法被使用,要解决这一问题,就需要为使用指定

cocos2dx配置信息保存

在cocos2dx的lua开发,保存和读取用户的配置信息时,用户配置信息可能保存了,可能没有保存,所以,我们需要在配置信息时,给一个默认的值: 尽管cocos2dx里面CCUserDefault这个类,但是我觉得不太好用,因为,使用的时候,需要每次都指定类型,字符串.整型,不是很方便. 我是用了,之前分享代码里面的overload方式,使得工具代码的使用者无需关心具体的细节,只要知道自己要保存什么,和默认的值是什么就行了 [1].[代码] [Lua]代码 跳至 [1] ? 1 2 3 4 5 6

设置Webdriver启动chrome为默认用户的配置信息

Webdriver 启动Chrome浏览器时,默认是打开一个新用户,而非默认用户,即新用户没有我们安装扩展程序.但在实际应用中,我们会需要 默认用户安装的一些扩展程序,比如对于某些js或者css样式,需要代理才能访问成功,使用默认用户就显得尤为重要(因为你不可能在新用户在安装扩展程序再继续测试). 如图: a)默认用户的扩展: 在锁定chrome的任务栏打开的状态: b) WebDriver打开的新用户的扩展: 在锁定chrome的任务栏打开的状态: ----------------------

11g RAC集群启动关闭、各种资源检查、配置信息查看汇总。

简要:一:集群的启动与关闭 1. rac集群的手动启动[[email protected] bin]# ./crsctl start cluster -all2. 查看rac集群的状态[[email protected] bin]# ./crsctl stat res -t3. rac集群的关闭[[email protected] bin]# ./crscrl stop cluster -all--------------------------------二:集群的各种资源状态的检查 1. 检

WDCP打开网页时报错:无法连接mysql,请检查mysql是否已启动及用户密码是否配置正确

今天公司很久以前的一台WDCP集成的Web服务出现了问题,打开网页显示"无法连接mysql,请检查mysql是否已启动及用户密码是否配置正确" ???? ?????????????????(上图为服务器故障时Web访问报错信息) ???? ????在网上找了三个小时的资料,找到了很多遇到该问题的朋友,并且只要是数据库连接不正常的或者数据库无法正常启动的,全都会报这个错误,下面是我的解决方法: 1.检查服务运行状态 [[email protected] etc]# service mys

session的官方定义是:Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。 说白了session就是一种可以维持服务器端的数据存储技术。session主要有以下的这些特点: 1. session保存的位置是在服务器端 2. session一般来说是要配合cookie使用,如果是浏览器禁用了cookie功

session的官方定义是:Session:在计算机中,尤其是在网络应用中,称为"会话控制".Session 对象存储特定用户会话所需的属性及配置信息. 说白了session就是一种可以维持服务器端的数据存储技术.session主要有以下的这些特点: 1. session保存的位置是在服务器端 2. session一般来说是要配合cookie使用,如果是浏览器禁用了cookie功能,也就只能够使用URL重写来实现session存储的功能 3. 单纯的使用session来维持用户状态的话

光驱错误:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备

现象:Windows 无法启动这个硬件设备,卸载后重新扫描还是显示叹号.设备管理器光驱驱动右键属性,提示错误信息:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19) 解决方法: 1. 点开"开始"-运行regedit.exe,进入注册表编辑器,到左边的项目栏里找到HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\Class\{4D36E965-E325-11C E-BFC1-0800

usb由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备(代码 19)

今天解决了一晚上,USB驱动的问题: 在设备管理器的usb设备的属性中,显示提示“由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备”.注册表坏了.经过查询,解决方法如下: 方法:打开注册表编辑器(开始-->运行-->regedit),依次展开HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/在这下面有很多用“{}”括起来的项,一个一个的点开,看右面空口有没有“通用串行总线控制器”这些文字,在右面窗