phbergsmann / behat-google-analytics-extension
此包已被放弃且不再维护。未建议替代包。
0.1.0
2014-04-21 13:29 UTC
Requires
- behat/behat: 2.4.x
- behat/mink: 1.4.x
- behat/mink-extension: *
- behat/mink-selenium2-driver: *
- google/apiclient: 1.0.4-beta
This package is not auto-updated.
Last update: 2020-02-21 15:53:56 UTC
README
先决条件
Google Analytics 实时 API 测试版访问权限
只需填写此表格并等待一段时间:https://docs.google.com/forms/d/1qfRFysCikpgCMGqgF3yXdUyQW4xAlLyjKuOoOEFN2Uw/viewform
Google API 服务帐户
Google 提供了一些帮助: https://developers.google.com/console/help/#service_accounts
Google Analytics 帐户
为您的测试域名添加一个属性,授权您的服务帐户具有“读取与分析”权限。
安装和配置
通过 composer 添加扩展
添加依赖到
"phbergsmann/behat-google-analytics-extension": "*"
扩展您的 behat.yml
default: extension: PhBergsmann\BehatGoogleAnalyticsExtension\Extension: service_account_name: 1234567890@developer.gserviceaccount.com key_file_location: /PATH/TO/YOUR/PRIVATE/KEY client_id: 1234567890.apps.googleusercontent.com view: 123456789
包含上下文类
在您的自定义特征上下文中,在构造函数中添加新的上下文
/** * Initializes context. * Every scenario gets it's own context object. * * @param array $parameters context parameters (set them up through behat.yml) */ public function __construct(array $parameters) { $this->useContext('googleanalytics', new PhBergsmann\BehatGoogleAnalyticsExtension\Behat\Context\GoogleAnalyticsContext()); }
如果您想使用活动标识符以允许并发测试(推荐),请在您的特征上下文中添加以下行
/** * Opens specified page. * * @Override Given /^(?:|I )am on "(?P<page>[^"]+)"$/ * @Override When /^(?:|I )go to "(?P<page>[^"]+)"$/ */ public function visit($page) { $this->getSubcontext('test')->visit($page); }
开始测试
识别测试运行
Google Analytics 没有识别用户(通过提供一些可检索的 ID)的功能。为了绕过这一限制,扩展添加了通过注入活动跟踪参数来“标记”测试运行的功能。测试在没有用户标记的情况下运行良好,但如果在 5 分钟内运行同一测试两次,则无法保证第二次运行不会产生误报,因为第一次运行测试是成功的。要启用活动标记,请将以下标记添加到您的场景中
@GoogleAnalyticsIdentifyByCampaign
扩展添加以下步骤定义
检查给定的 URL 是否已被跟踪
Google Analytics tracks a pageview on "/the/url/i/want/to/be/tracked/"
检查给定的事件是否已触发
Google Analytics tracks an event with category "<<EVENT-CATEGORY>>", action "<<EVENT-ACTION>>" and label "<<EVENT-LABEL>>"