【概述】
Httpwatch 一款强大的网页数据分析工具。它可以捕捉http/https数据,查看底层的数据,包括headers、cookies、cache等。同时,记录发送请求、接收请的时间。Anyway,a good tool for you。
或许,你有一个需求,要在selenium进行页面功能测试的时候,你需要获取一些信息,如提交请求数据、接收请求数据、页面加载的时间等。selenium + httpwatch,将是一个不错的解决方案。本文主要介绍,将httpwatch附加到selenium webdriver的方法。
注意:
有关httpwatch的使用,请自行查看API文档:
http://apihelp.httpwatch.com/#Automation%20Overview.html
【selenium + httpwatch】
官方做法(JAVA版):
IWebDriver driver = <Create Selenium Driver using existing profile>; // Don't use new FirefoxDriver()
// Set a unique initial page title so that HttpWatch can attach to it
string uniqueTitle = Guid.NewGuid().ToString();
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript("document.title = '" + uniqueTitle + "';");
// Attach HttpWatch to the instance of the browser created through Selenium
Plugin plugin = control.AttachByTitle(uniqueTitle);
IWebDriver driver = <Create Selenium Driver using existing profile>; // Don't use new FirefoxDriver()
// Set a unique initial page title so that HttpWatch can attach to it
string uniqueTitle = Guid.NewGuid().ToString();
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript("document.title = '" + uniqueTitle + "';");
// Attach HttpWatch to the instance of the browser created through Selenium
Plugin plugin = control.AttachByTitle(uniqueTitle);
我就照模照样的写个Python版的
control = win32com.client.Dispatch('HttpWatch.Controller')
#driver=webdriver.Ie(executable_path="D:\\software\\IEDriverServer_Win32_2.28.0\\IEDriverServer.exe")
profile = webdriver.FirefoxProfile(r'C:\Users\X230\AppData\Roaming\Mozilla\Firefox\Profiles\68zb9g9a.default')
driver=webdriver.Firefox(firefox_profile=profile)
uniqueTitle = str(uuid.uuid4())
driver.get(url)
driver.execute_script('document.title = "' + uniqueTitle + '";')
plugin = control.AttachByTitle(uniqueTitle)
plugin.Log.EnableFilter(False)
plugin.Record()
#plugin.GotoURL(url)
plugin.Stop()
control = win32com.client.Dispatch('HttpWatch.Controller')
#driver=webdriver.Ie(executable_path="D:\\software\\IEDriverServer_Win32_2.28.0\\IEDriverServer.exe")
profile = webdriver.FirefoxProfile(r'C:\Users\X230\AppData\Roaming\Mozilla\Firefox\Profiles\68zb9g9a.default')
driver=webdriver.Firefox(firefox_profile=profile)
uniqueTitle = str(uuid.uuid4())
driver.get(url)
driver.execute_script('document.title = "' + uniqueTitle + '";')
plugin = control.AttachByTitle(uniqueTitle)
plugin.Log.EnableFilter(False)
plugin.Record()
#plugin.GotoURL(url)
plugin.Stop()
请留意官方版的第一句话(如下)。意思是,(如果使用Firefox)请不要使用默认的profile配置,需要使用Firefox本地profile配置。
IWebDriver driver = < Create Selenium Driver using existing profile >; // Don’t use new FirefoxDriver()
selenium Firefox 默认配置文件是webdriver_prefs.json,默认不加载所有的插件(add-ons)。所以,如果你忽略第一句,将发生以下报错:
plugin = self._control.AttachByTitle(uniqueTitle)
File "<COMObject HttpWatch.Controller>", line 2, in AttachByTitle
pywintypes.com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3', (0, u'HttpWatch.Controller', u"AttachByTitle failed because no IE or Firefox page was found with the title 'd9f5f540-3227-4d8a-b928-daaf196e256b'. \r\n\r\nPlease check that HttpWatch is installed, enabled and working correctly in the target browser window. Also if you are using Selenium and Firefox make sure that you are using a copy of a profile that has HttpWatch enabled rather than a fresh profile created by 'new FirefoxDriver()'. For more information please refer to the Selenium/Firefox sample described in the HttpWatch Automation help - AttachByTitle failed", None, 0, -2147467259), None)
plugin = self._control.AttachByTitle(uniqueTitle)
File "<COMObject HttpWatch.Controller>", line 2, in AttachByTitle
pywintypes.com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3', (0, u'HttpWatch.Controller', u"AttachByTitle failed because no IE or Firefox page was found with the title 'd9f5f540-3227-4d8a-b928-daaf196e256b'. \r\n\r\nPlease check that HttpWatch is installed, enabled and working correctly in the target browser window. Also if you are using Selenium and Firefox make sure that you are using a copy of a profile that has HttpWatch enabled rather than a fresh profile created by 'new FirefoxDriver()'. For more information please refer to the Selenium/Firefox sample described in the HttpWatch Automation help - AttachByTitle failed", None, 0, -2147467259), None)
那Firefox本地profile文件在哪,请查阅Firefox官方帮助:
https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data
然后,如下初始化driver即可:
driver=webdriver.Firefox(firefox_profile=profile)
分享到:
相关推荐
5. **测试脚本编写**:讲解如何构造测试用例,设计测试场景,并编写结构化的Python测试脚本,包括异常处理和断言。 6. **测试套件与测试框架集成**:介绍如何组织多个测试脚本成测试套件,以及如何与TestNG或...
【Selenium 2 自动化测试实战 基于PYTHON语言】 Selenium 是一款强大的...通过深入学习以上知识点,结合实战项目经验,你可以熟练掌握基于Python的Selenium 2自动化测试技术,提升测试效率,降低手动测试的工作负担。
Selenium 2自动化测试实战 基于Python语言 企业批量购书 分享 关注商品举报 Selenium 2自动化测试实战 基于Python语言 这不仅是一本Selenium2自动化测试书,同时还是一本实用的Python基础编程书
将Selenium与Python结合可以简化自动化测试脚本的编写,借助Python强大的库支持,可以更方便地处理数据和执行复杂的测试逻辑。书中通过Python来控制Selenium,实现Web自动化测试。 作者在书中提到了自己的学习经历...
在Python环境中,Selenium与Python结合,可以快速实现Web自动化测试。以下知识点将围绕“Selenium2 Python自动化测试 PDF学习”的相关内容展开。 首先,了解Selenium是进行Web自动化测试的基础。Selenium提供了...
Selenium 2自动化测试实战 基于Python语言 高清完整版
首先,"Selenium自动化测试:基于Python语言.pdf"可能是本书的电子版,详细讲解了Selenium的基础知识、安装配置、元素定位方法(如CSS选择器、XPath、ID、Name等)、各种操作(如点击、输入、截屏)以及高级用法,如...
本书介绍了如何用Python语言调用Selenium WebDriver接口进行自动化测试。主要内容为:基于Python 的 Selenium WebDriver 入门知识、Selenium Python脚本、使用unittest 编写单元测试、生成HTML格式的测试报告、元素...
3. **测试框架集成**: 可以将Selenium与unittest、pytest等Python测试框架集成,实现更高级的测试组织和报告。 4. **数据驱动测试**: 结合`csv`或`Excel`文件,实现数据驱动测试,使得一个测试用例可以适用于多组...
Python+Selenium+Unittest自动化测试框架是一个强大的组合,用于高效地进行Web应用的自动化测试。在本示例中,我们看到一个基于这三个组件构建的自动化测试项目,它提供了丰富的功能,如测试用例管理、批量执行、...
6. **测试框架集成**:可能涵盖了如何将Selenium测试与unittest、pytest等Python测试框架结合,构建自动化测试套件。 7. **高级应用**:可能包含使用Selenium进行分布式测试、模拟键盘鼠标事件、处理弹出框和对话框...
《Selenium2 Python自动化测试实战》是一本面向初级和中级测试工程师的指南,旨在教授如何使用Python和Selenium WebDriver进行Web自动化测试。这本书由一位热衷于技术实践和分享的作者编写,通过大量实例展示了如何...
- **动态页面自动化测试**:针对含有动态加载内容的网页进行自动化测试,比如滚动页面触发新的内容加载。 #### 七、进阶主题 - **测试数据驱动**:通过参数化测试用例,提高测试脚本的复用性和灵活性。 - **持续...
在现代软件开发中,测试自动化已成为不可或缺的一部分,而Selenium和Python的结合正是实现这一目标的强大工具。Selenium是一个开源的Web应用程序自动化测试框架,它允许开发者使用多种编程语言(包括Python)来编写...
安装完成后,可以运行Python测试脚本,如`C:\my_selenium_script.py`: ```bash C:\Python35\python.exe C:\my_selenium_script.py ``` ### 1.4 下载Selenium服务器 若要使用远程WebDriver,需要Selenium服务器。...
资源名称:SELENIUM 2 自动化测试实战 基于PYTHON语言内容简介:《Selenium 2自动化测试实战——基于Python语言》共分 14 章。第 1 章是自动化测试相关基础知识的介绍;第 2 章到第 10 章是《Selenium 2自动化测试...
【标题】"selenium+java+python自动化测试" 涉及到的是使用Selenium这一强大的Web自动化测试工具,结合Java和Python两种编程语言进行网页自动化测试的方法和实践。Selenium是一个开源的测试框架,它允许开发人员模拟...