aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>2017-08-09 15:28:49 +0200
committerGrégoire Aubert <gregoire.aubert@sonarsource.com>2017-08-14 11:44:44 +0200
commit70b083b432c50098a01855da9d2afb1ab63c7f62 (patch)
treeec3dec49ed2d663fce4ffb87b93161db5ef29ffb
parent423f35f160d8c1b7821ee34ab8589a8d2632c52f (diff)
downloadsonarqube-70b083b432c50098a01855da9d2afb1ab63c7f62.tar.gz
sonarqube-70b083b432c50098a01855da9d2afb1ab63c7f62.zip
Update measures page IT's
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.js54
-rw-r--r--server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.js40
-rw-r--r--tests/src/test/java/org/sonarqube/pageobjects/Navigation.java7
-rw-r--r--tests/src/test/java/org/sonarqube/pageobjects/measures/MeasureContent.java63
-rw-r--r--tests/src/test/java/org/sonarqube/pageobjects/measures/MeasuresPage.java90
-rw-r--r--tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java66
-rw-r--r--tests/src/test/java/org/sonarqube/tests/ui/UiTest.java4
-rw-r--r--tests/src/test/resources/measure/ProjectMeasuresPageTest/should_display_measures_page.html49
-rw-r--r--tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_list_view.html69
-rw-r--r--tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_tree_view.html84
10 files changed, 263 insertions, 263 deletions
diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.js b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.js
index 84b429306f1..2d9518f1d61 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.js
@@ -258,35 +258,33 @@ export default class MeasureContent extends React.PureComponent {
<div className={this.props.className}>
<div className="layout-page-header-panel layout-page-main-header issues-main-header">
<div className="layout-page-header-panel-inner layout-page-main-header-inner">
- <div className="layout-page-main-inner clearfix">
- <Breadcrumbs
- backToFirst={view === 'list'}
- className="measure-breadcrumbs spacer-right text-ellipsis"
- component={component}
- handleSelect={this.onOpenComponent}
- rootComponent={rootComponent}
- />
- {component.key !== rootComponent.key &&
- isLoggedIn &&
- <MeasureFavoriteContainer
- component={component.key}
- className="measure-favorite spacer-right"
- />}
- {!isFile &&
- <MeasureViewSelect
- className="measure-view-select"
- metric={metric}
- handleViewChange={this.props.updateView}
- view={view}
- />}
- <PageActions
- current={selectedIdx && selectedIdx + 1}
- loading={this.props.loading}
- isFile={isFile}
- paging={this.state.paging}
+ <Breadcrumbs
+ backToFirst={view === 'list'}
+ className="measure-breadcrumbs spacer-right text-ellipsis"
+ component={component}
+ handleSelect={this.onOpenComponent}
+ rootComponent={rootComponent}
+ />
+ {component.key !== rootComponent.key &&
+ isLoggedIn &&
+ <MeasureFavoriteContainer
+ component={component.key}
+ className="measure-favorite spacer-right"
+ />}
+ {!isFile &&
+ <MeasureViewSelect
+ className="measure-view-select"
+ metric={metric}
+ handleViewChange={this.props.updateView}
view={view}
- />
- </div>
+ />}
+ <PageActions
+ current={selectedIdx && selectedIdx + 1}
+ loading={this.props.loading}
+ isFile={isFile}
+ paging={this.state.paging}
+ view={view}
+ />
</div>
</div>
{metric == null && <MetricNotFound className="layout-page-main-inner" />}
diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.js b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.js
index 5ce4d695124..027e0345455 100644
--- a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.js
+++ b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureOverview.js
@@ -140,27 +140,25 @@ export default class MeasureOverview extends React.PureComponent {
<div className={this.props.className}>
<div className="layout-page-header-panel layout-page-main-header issues-main-header">
<div className="layout-page-header-panel-inner layout-page-main-header-inner">
- <div className="layout-page-main-inner clearfix">
- <Breadcrumbs
- backToFirst={true}
- className="measure-breadcrumbs spacer-right text-ellipsis"
- component={component}
- handleSelect={this.props.updateSelected}
- rootComponent={rootComponent}
- />
- {component.key !== rootComponent.key &&
- isLoggedIn &&
- <MeasureFavoriteContainer
- component={component.key}
- className="measure-favorite spacer-right"
- />}
- <PageActions
- current={this.state.components.length}
- loading={this.props.loading}
- isFile={isFile}
- paging={this.state.paging}
- />
- </div>
+ <Breadcrumbs
+ backToFirst={true}
+ className="measure-breadcrumbs spacer-right text-ellipsis"
+ component={component}
+ handleSelect={this.props.updateSelected}
+ rootComponent={rootComponent}
+ />
+ {component.key !== rootComponent.key &&
+ isLoggedIn &&
+ <MeasureFavoriteContainer
+ component={component.key}
+ className="measure-favorite spacer-right"
+ />}
+ <PageActions
+ current={this.state.components.length}
+ loading={this.props.loading}
+ isFile={isFile}
+ paging={this.state.paging}
+ />
</div>
</div>
<div className="layout-page-main-inner">
diff --git a/tests/src/test/java/org/sonarqube/pageobjects/Navigation.java b/tests/src/test/java/org/sonarqube/pageobjects/Navigation.java
index b71307e1587..a586cb31c47 100644
--- a/tests/src/test/java/org/sonarqube/pageobjects/Navigation.java
+++ b/tests/src/test/java/org/sonarqube/pageobjects/Navigation.java
@@ -31,6 +31,7 @@ import javax.annotation.Nullable;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.html5.WebStorage;
+import org.sonarqube.pageobjects.measures.MeasuresPage;
import org.sonarqube.tests.Tester;
import org.sonarqube.pageobjects.issues.IssuesPage;
import org.sonarqube.pageobjects.licenses.LicensesPage;
@@ -136,6 +137,12 @@ public class Navigation {
return open(url, ProjectActivityPage.class);
}
+ public MeasuresPage openProjectMeasures(String projectKey) {
+ // TODO encode projectKey
+ String url = "/component_measures?id=" + projectKey;
+ return open(url, MeasuresPage.class);
+ }
+
public MembersPage openOrganizationMembers(String orgKey) {
String url = "/organizations/" + orgKey + "/members";
return open(url, MembersPage.class);
diff --git a/tests/src/test/java/org/sonarqube/pageobjects/measures/MeasureContent.java b/tests/src/test/java/org/sonarqube/pageobjects/measures/MeasureContent.java
new file mode 100644
index 00000000000..6c8e7381098
--- /dev/null
+++ b/tests/src/test/java/org/sonarqube/pageobjects/measures/MeasureContent.java
@@ -0,0 +1,63 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonarqube.pageobjects.measures;
+
+import com.codeborne.selenide.ElementsCollection;
+import com.codeborne.selenide.SelenideElement;
+
+import static com.codeborne.selenide.Condition.exist;
+import static com.codeborne.selenide.Condition.text;
+
+public class MeasureContent {
+ private final SelenideElement elt;
+
+ public MeasureContent(SelenideElement elt) {
+ this.elt = elt;
+ }
+
+ public MeasureContent shouldHaveTitle(String title) {
+ this.elt.$(".measure-details-header .measure-details-metric").should(exist).shouldHave(text(title));
+ return this;
+ }
+
+ public MeasureContent shouldHaveHeaderValue(String value) {
+ this.elt.$(".measure-details-header .measure-details-value").should(exist).shouldHave(text(value));
+ return this;
+ }
+
+ public MeasureContent shouldHaveFile(String path) {
+ this.getFiles().find(text(path)).should(exist);
+ return this;
+ }
+
+ public MeasureContent drillDown(String item) {
+ this.getFiles().find(text(item)).should(exist).find("a").click();
+ return this;
+ }
+
+ public MeasureContent shouldDisplayCode() {
+ this.elt.$(".source-line-code").should(exist);
+ return this;
+ }
+
+ private ElementsCollection getFiles() {
+ return this.elt.$$(".measure-details-component-row");
+ }
+}
diff --git a/tests/src/test/java/org/sonarqube/pageobjects/measures/MeasuresPage.java b/tests/src/test/java/org/sonarqube/pageobjects/measures/MeasuresPage.java
new file mode 100644
index 00000000000..d7fd6845997
--- /dev/null
+++ b/tests/src/test/java/org/sonarqube/pageobjects/measures/MeasuresPage.java
@@ -0,0 +1,90 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonarqube.pageobjects.measures;
+import com.codeborne.selenide.CollectionCondition;
+import com.codeborne.selenide.SelenideElement;
+import org.openqa.selenium.Keys;
+
+import static com.codeborne.selenide.Condition.exist;
+import static com.codeborne.selenide.Condition.text;
+import static com.codeborne.selenide.Selenide.$;
+
+public class MeasuresPage {
+ public MeasuresPage() {
+ $("#component-measures").should(exist);
+ }
+
+ public MeasuresPage displayBubbleChart(String title) {
+ SelenideElement bubblechart = $("#component-measures .measure-overview-bubble-chart");
+ bubblechart.$(".measure-overview-bubble-chart-title").shouldHave(text(title));
+ return this;
+ }
+
+ public MeasuresPage measureHasValue(String measure, Integer value) {
+ SelenideElement sidebar = this.getSideBar();
+ sidebar.$("#measure-" + measure + "-name").should(exist);
+ sidebar.$("#measure-" + measure + "-value").should(exist).shouldHave(text(value.toString()));
+ return this;
+ }
+
+ public MeasuresPage measureHasLeak(String measure, Integer value) {
+ SelenideElement sidebar = this.getSideBar();
+ sidebar.$("#measure-" + measure + "-name").should(exist);
+ sidebar.$("#measure-" + measure + "-leak").should(exist).shouldHave(text(value.toString()));
+ return this;
+ }
+
+ public MeasuresPage breadcrumbsShouldHave(String item) {
+ $(".layout-page-header-panel .measure-breadcrumbs").shouldHave(text(item));
+ return this;
+ }
+
+ public MeasuresPage breadcrumbsShouldNotHave(String item) {
+ $(".layout-page-header-panel .measure-breadcrumbs").shouldNotHave(text(item));
+ return this;
+ }
+
+ public MeasuresPage backShortcut() {
+ $(".layout-page-header-panel").sendKeys(Keys.LEFT);
+ return this;
+ }
+
+ public MeasuresPage switchView(String view) {
+ SelenideElement select = $(".measure-view-select").should(exist);
+ select.click();
+ select.$(".Select-menu-outer").should(exist)
+ .$$(".Select-option").shouldHave(CollectionCondition.sizeGreaterThan(1))
+ .find(text(view)).should(exist).click();
+ return this;
+ }
+
+ public MeasureContent openMeasureContent(String measure) {
+ SelenideElement sidebar = this.getSideBar();
+ SelenideElement facetItem = sidebar.$("#measure-" + measure + "-name").should(exist);
+ facetItem.click();
+ MeasureContent content = new MeasureContent($("#component-measures .layout-page-main-inner").should(exist));
+ content.shouldHaveTitle(facetItem.getText());
+ return content;
+ }
+
+ private SelenideElement getSideBar() {
+ return $("#component-measures .layout-page-side").should(exist);
+ }
+}
diff --git a/tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java b/tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java
index e0acee4fc3c..5ecedb276db 100644
--- a/tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java
@@ -21,12 +21,19 @@ package org.sonarqube.tests.measure;
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarScanner;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.sonarqube.pageobjects.measures.MeasureContent;
+import org.sonarqube.pageobjects.measures.MeasuresPage;
import org.sonarqube.tests.Category1Suite;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonarqube.pageobjects.Navigation;
+import org.sonarqube.tests.Tester;
+import static com.codeborne.selenide.Condition.exist;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.$$;
@@ -40,40 +47,78 @@ public class ProjectMeasuresPageTest {
@ClassRule
public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
- @BeforeClass
- public static void inspectProject() {
+ @Rule
+ public Tester tester = new Tester(orchestrator);
+
+ private static String projectKey = "project-measures-page-test-project";
+
+ @Before
+ public void inspectProject() {
orchestrator.executeBuild(
SonarScanner
.create(projectDir("shared/xoo-sample"))
- .setProperty("sonar.projectKey", "project-measures-page-test-project")
+ .setProperty("sonar.projectKey", projectKey)
.setProperty("sonar.projectName", "ProjectMeasuresPageTest Project"));
// one more time
orchestrator.executeBuild(
SonarScanner
.create(projectDir("shared/xoo-sample"))
- .setProperty("sonar.projectKey", "project-measures-page-test-project")
+ .setProperty("sonar.projectKey", projectKey)
.setProperty("sonar.projectName", "ProjectMeasuresPageTest Project"));
}
@Test
public void should_display_measures_page() {
- runSelenese(orchestrator, "/measure/ProjectMeasuresPageTest/should_display_measures_page.html");
+ MeasuresPage page = tester.openBrowser().openProjectMeasures(projectKey);
+ page
+ .displayBubbleChart("Risk")
+ .measureHasValue("code_smells", 0)
+ .measureHasLeak("new_code_smells", 0);
+ page
+ .openMeasureContent("code_smells")
+ .shouldHaveFile("src/main/xoo/sample")
+ .shouldHaveHeaderValue("0");
}
@Test
public void should_drilldown_on_list_view() {
- runSelenese(orchestrator, "/measure/ProjectMeasuresPageTest/should_drilldown_on_list_view.html");
+ MeasuresPage page = tester.openBrowser().openProjectMeasures(projectKey);
+ MeasureContent content = page.openMeasureContent("ncloc");
+ content
+ .drillDown("src/main/xoo/sample/Sample.xoo")
+ .shouldHaveHeaderValue("13")
+ .shouldDisplayCode();
+ page
+ .breadcrumbsShouldHave("Sample.xoo")
+ .backShortcut()
+ .breadcrumbsShouldNotHave("Sample.xoo");
+ content.shouldHaveFile("src/main/xoo/sample/Sample.xoo");
}
@Test
public void should_drilldown_on_tree_view() {
- runSelenese(orchestrator, "/measure/ProjectMeasuresPageTest/should_drilldown_on_tree_view.html");
+ MeasuresPage page = tester.openBrowser().openProjectMeasures(projectKey);
+ MeasureContent content = page.openMeasureContent("ncloc");
+ page.switchView("tree");
+ content
+ .shouldHaveFile("src/main/xoo/sample");
+ page.breadcrumbsShouldNotHave("src/main/xoo/sample").breadcrumbsShouldNotHave("Sample.xoo");
+ content.drillDown("src/main/xoo/sample")
+ .shouldHaveFile("src/main/xoo/sample/Sample.xoo");
+ page.breadcrumbsShouldHave("src/main/xoo/sample").breadcrumbsShouldNotHave("Sample.xoo");
+ content.drillDown("src/main/xoo/sample/Sample.xoo").shouldDisplayCode();
+ page
+ .breadcrumbsShouldHave("Sample.xoo")
+ .backShortcut()
+ .breadcrumbsShouldHave("src/main/xoo/sample")
+ .breadcrumbsShouldNotHave("Sample.xoo");
}
@Test
+ @Ignore
public void should_redirect_history_to_project_activity() {
- Navigation nav = Navigation.create(orchestrator);
+ Navigation nav = tester.openBrowser();
nav.open("/component_measures/metric/reliability_rating/history?id=project-measures-page-test-project");
assertThat(url())
.contains("/project/activity")
@@ -82,11 +127,10 @@ public class ProjectMeasuresPageTest {
.contains("custom_metrics=reliability_rating");
}
-
@Test
public void should_show_link_to_history() {
- Navigation nav = Navigation.create(orchestrator);
- nav.open("/component_measures/metric/reliability_rating/list?id=project-measures-page-test-project");
+ Navigation nav = tester.openBrowser();
+ nav.open("/component_measures?id=project-measures-page-test-project&metric=reliability_rating");
$(".js-show-history").shouldBe(visible).click();
$("#project-activity").shouldBe(visible);
}
diff --git a/tests/src/test/java/org/sonarqube/tests/ui/UiTest.java b/tests/src/test/java/org/sonarqube/tests/ui/UiTest.java
index ff4b65c0f14..ebb9f9edcc4 100644
--- a/tests/src/test/java/org/sonarqube/tests/ui/UiTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/ui/UiTest.java
@@ -32,10 +32,12 @@ import org.sonarqube.ws.client.WsResponse;
import org.sonarqube.pageobjects.Navigation;
import util.ItUtils;
+import static com.codeborne.selenide.Condition.exist;
import static com.codeborne.selenide.Condition.hasText;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.$;
+import static com.codeborne.selenide.Selenide.$$;
import static com.codeborne.selenide.WebDriverRunner.url;
import static org.assertj.core.api.Assertions.assertThat;
import static util.ItUtils.projectDir;
@@ -120,7 +122,7 @@ public class UiTest {
// on project issues page
assertThat(url()).contains("/project/issues?id=sample&resolved=false&types=CODE_SMELL");
- $("[data-property=\"resolutions\"] .facet.active").shouldBe(visible);
+ $$(".facet.active").shouldHaveSize(3).find(text("Unresolved")).should(exist);
$("#global-navigation").find("a[href=\"/profiles\"]").click();
diff --git a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_display_measures_page.html b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_display_measures_page.html
deleted file mode 100644
index 4c5a77a9545..00000000000
--- a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_display_measures_page.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should_display_measure_drilldown</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/component_measures?id=project-measures-page-test-project</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>id=measure-code_smells</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>id=measure-code_smells-value</td>
- <td>*0*</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>id=measure-new_code_smells-leak</td>
- <td>*0*</td>
-</tr>
-<tr>
- <td>click</td>
- <td>css=#measure-code_smells &gt; a</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>content</td>
- <td>*Code Smells*0*</td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>content</td>
- <td>*src/main/xoo/sample*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
diff --git a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_list_view.html b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_list_view.html
deleted file mode 100644
index e68d8b87dfb..00000000000
--- a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_list_view.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should_drilldown_on_list_view</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/component_measures/metric/ncloc/list?id=project-measures-page-test-project</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td>
- <td>*src/main/xoo/sample/Sample.xoo*</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>id=component-measures-component-measure-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo-ncloc</td>
- <td>*13*</td>
-</tr>
-<tr>
- <td>click</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.source-line-code</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.component-measures-breadcrumbs</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>id=component-measures-breadcrumb-project-measures-page-test-project</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>css=.component-measures-breadcrumbs</td>
- <td>*Sample.xoo*13*</td>
-</tr>
-<tr>
- <td>click</td>
- <td>id=component-measures-breadcrumb-project-measures-page-test-project</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td>
- <td></td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
diff --git a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_tree_view.html b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_tree_view.html
deleted file mode 100644
index 489c9d93afc..00000000000
--- a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_tree_view.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>should_drilldown_on_tree_view</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/component_measures/metric/ncloc/tree?id=project-measures-page-test-project</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample</td>
- <td>*src/main/xoo/sample*</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>id=component-measures-component-measure-project-measures-page-test-project:src/main/xoo/sample-ncloc</td>
- <td>*13*</td>
-</tr>
-<tr>
- <td>click</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td>
- <td>*src/main/xoo/sample/Sample.xoo*</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>id=component-measures-component-measure-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo-ncloc</td>
- <td>*13*</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>css=.component-measures-breadcrumbs</td>
- <td>*ProjectMeasuresPageTest Project*src/main/xoo/sample*13*</td>
-</tr>
-<tr>
- <td>click</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.source-line-code</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>css=.component-measures-breadcrumbs</td>
- <td>*ProjectMeasuresPageTest Project*src/main/xoo/sample*13*Sample.xoo*13*</td>
-</tr>
-<tr>
- <td>click</td>
- <td>id=component-measures-breadcrumb-project-measures-page-test-project</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample</td>
- <td></td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>