Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6281)

Unified Diff: chrome/browser/engagement/site_engagement_service_browsertest.cc

Issue 1368533004: Add UMA metrics to the site engagement service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@time-on-site
Patch Set: Adding tests, addressing reviewer feedback Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/engagement/site_engagement_service_browsertest.cc
diff --git a/chrome/browser/engagement/site_engagement_service_browsertest.cc b/chrome/browser/engagement/site_engagement_service_browsertest.cc
index 096ea82dbb4bef9b01a61318c63baa7368860dee..2c82e771aa6be5e9858926e2535177d8a7f1c44e 100644
--- a/chrome/browser/engagement/site_engagement_service_browsertest.cc
+++ b/chrome/browser/engagement/site_engagement_service_browsertest.cc
@@ -6,6 +6,7 @@
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/task_runner.h"
+#include "base/test/histogram_tester.h"
#include "base/test/simple_test_clock.h"
#include "base/thread_task_runner_handle.h"
#include "base/timer/mock_timer.h"
@@ -32,8 +33,8 @@ class TestSiteEngagementHelper : public SiteEngagementHelper {
~TestSiteEngagementHelper() override { }
- void RecordUserInput() override {
- SiteEngagementHelper::RecordUserInput();
+ void RecordUserInput(SiteEngagementMetrics::EngagementType type) override {
+ SiteEngagementHelper::RecordUserInput(type);
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, quit_closure_);
}
@@ -209,9 +210,19 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest,
SiteEngagementServiceFactory::GetForProfile(browser()->profile());
DCHECK(service);
+ base::HistogramTester histograms;
+
+ // Histograms should start off empty.
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ 0);
+
ui_test_utils::NavigateToURL(browser(), url1);
EXPECT_DOUBLE_EQ(0.5, service->GetScore(url1));
EXPECT_EQ(0, service->GetScore(url2));
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ 1);
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1);
HandleKeyPress(helper.get(), ui::VKEY_UP);
HandleKeyPress(helper.get(), ui::VKEY_RETURN);
@@ -222,6 +233,14 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest,
EXPECT_DOUBLE_EQ(0.7, service->GetScore(url1));
EXPECT_EQ(0, service->GetScore(url2));
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ 5);
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 1);
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ SiteEngagementMetrics::ENGAGEMENT_KEYPRESS, 3);
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ SiteEngagementMetrics::ENGAGEMENT_MOUSE, 1);
HandleMouseEvent(helper.get(), blink::WebMouseEvent::ButtonRight,
blink::WebInputEvent::MouseDown);
@@ -232,6 +251,10 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest,
EXPECT_DOUBLE_EQ(0.85, service->GetScore(url1));
EXPECT_EQ(0, service->GetScore(url2));
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ 8);
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ SiteEngagementMetrics::ENGAGEMENT_MOUSE, 4);
ui_test_utils::NavigateToURL(browser(), url2);
@@ -246,6 +269,14 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest,
EXPECT_DOUBLE_EQ(0.85, service->GetScore(url1));
EXPECT_DOUBLE_EQ(0.6, service->GetScore(url2));
EXPECT_DOUBLE_EQ(1.45, service->GetTotalEngagementPoints());
+ histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ 11);
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ SiteEngagementMetrics::ENGAGEMENT_NAVIGATION, 2);
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ SiteEngagementMetrics::ENGAGEMENT_KEYPRESS, 4);
+ histograms.ExpectBucketCount(SiteEngagementMetrics::kEngagementTypeHistogram,
+ SiteEngagementMetrics::ENGAGEMENT_MOUSE, 5);
}
IN_PROC_BROWSER_TEST_F(SiteEngagementServiceBrowserTest,

Powered by Google App Engine
This is Rietveld 408576698