问题是,我们有一个网站,它根据用户的操作触发多个事件,我们想使用自动化脚本来模拟这些场景,并且还需要了解 Google Analytics 事件是否在幕后引发。
只是好奇市场上是否有任何工具可以帮助我们实现自动化。谢谢!
安装 Chrome 扩展源查看器。转到商店中的analytics 调试器扩展,然后使用扩展源查看器下载该扩展的 zip 文件。打开
background.js
并将 debug = false
(当前为第 4 行)编辑为 debug = true
。
在 Chrome 浏览器中,转到扩展程序窗口,打开开发模式(该窗口中的复选框)。使用“打包扩展”按钮并选择您刚刚编辑的文件夹以创建一个名为
ga_tracker.crx
的文件。
将该
crx
文件拖放到您的项目中。例如,我将其复制到我的virtualenv
中。
test.py
env/
bin/
ga_tracker.crx
这是 Python Selenium 测试
test.py
。如果将 add_extension
放在其他位置,请编辑它的路径。
import re
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
class FindTest():
def test(self):
self.chrome_options = webdriver.ChromeOptions()
self.chrome_options.add_extension('env/bin/ga_tracker.crx')
self.driver = webdriver.Chrome(chrome_options=self.chrome_options)
self.driver.get('https://www.localsbarguide.com')
for entry in self.driver.get_log('browser'):
print(entry)
for entry in context.driver.get_log('browser'):
if 'https://www.google-analytics.com/analytics_debug.js' in entry['message']:
my_regex = re.escape('title') + r".*." + re.escape('The Premiere Drink Special & Happy Hour resource | Locals Bar Guide San Francisco')
if re.search(my_regex, entry, re.IGNORECASE):
print('Found GA event with expected title.')
self.driver.quit()
runtest = FindTest()
runtest.test()