diff --git a/tests/acceptance/config/behat.yml b/tests/acceptance/config/behat.yml
index 15310e6883f7df3b58373a4c15a2a2b0b16f9356..865100837612d0edfda39175204d3aaaefa87f20 100644
--- a/tests/acceptance/config/behat.yml
+++ b/tests/acceptance/config/behat.yml
@@ -9,6 +9,7 @@ default:
         - ActorContext
         - NextcloudTestServerContext
 
+        - AppNavigationContext
         - FeatureContext
         - FilesAppContext
         - FilesSharingAppContext
diff --git a/tests/acceptance/features/bootstrap/AppNavigationContext.php b/tests/acceptance/features/bootstrap/AppNavigationContext.php
new file mode 100644
index 0000000000000000000000000000000000000000..9ef71a060650fb663380f7e075425c56d6b0ae34
--- /dev/null
+++ b/tests/acceptance/features/bootstrap/AppNavigationContext.php
@@ -0,0 +1,69 @@
+<?php
+
+/**
+ *
+ * @copyright Copyright (c) 2017, Daniel CalviĂąo SĂĄnchez (danxuliu@gmail.com)
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+use Behat\Behat\Context\Context;
+
+class AppNavigationContext implements Context, ActorAwareInterface {
+
+	use ActorAware;
+
+	/**
+	 * @return Locator
+	 */
+	public static function appNavigation() {
+		return Locator::forThe()->id("app-navigation")->
+				describedAs("App navigation");
+	}
+
+	/**
+	 * @return Locator
+	 */
+	public static function appNavigationSectionItemFor($sectionText) {
+		return Locator::forThe()->xpath("//li[normalize-space() = '$sectionText']")->
+				descendantOf(self::appNavigation())->
+				describedAs($sectionText . " section item in App Navigation");
+	}
+
+	/**
+	 * @return Locator
+	 */
+	public static function appNavigationCurrentSectionItem() {
+		return Locator::forThe()->css(".active")->descendantOf(self::appNavigation())->
+				describedAs("Current section item in App Navigation");
+	}
+
+	/**
+	 * @Given I open the :section section
+	 */
+	public function iOpenTheSection($section) {
+		$this->actor->find(self::appNavigationSectionItemFor($section), 10)->click();
+	}
+
+	/**
+	 * @Then I see that the current section is :section
+	 */
+	public function iSeeThatTheCurrentSectionIs($section) {
+		PHPUnit_Framework_Assert::assertEquals($this->actor->find(self::appNavigationCurrentSectionItem(), 10)->getText(), $section);
+	}
+
+}
diff --git a/tests/acceptance/features/bootstrap/FilesAppContext.php b/tests/acceptance/features/bootstrap/FilesAppContext.php
index 135d603c2a65df874314bea9b622abe21bb523a5..782972033fdf8500dbcc114a22beb5b9bfe44212 100644
--- a/tests/acceptance/features/bootstrap/FilesAppContext.php
+++ b/tests/acceptance/features/bootstrap/FilesAppContext.php
@@ -41,31 +41,6 @@ class FilesAppContext implements Context, ActorAwareInterface {
 				 "Deleted files" => "trashbin" ];
 	}
 
-	/**
-	 * @return Locator
-	 */
-	public static function appNavigation() {
-		return Locator::forThe()->id("app-navigation")->
-				describedAs("App navigation");
-	}
-
-	/**
-	 * @return Locator
-	 */
-	public static function appNavigationSectionItemFor($sectionText) {
-		return Locator::forThe()->xpath("//li[normalize-space() = '$sectionText']")->
-				descendantOf(self::appNavigation())->
-				describedAs($sectionText . " section item in App Navigation");
-	}
-
-	/**
-	 * @return Locator
-	 */
-	public static function appNavigationCurrentSectionItem() {
-		return Locator::forThe()->css(".active")->descendantOf(self::appNavigation())->
-				describedAs("Current section item in App Navigation");
-	}
-
 	/**
 	 * @return Locator
 	 */
@@ -354,13 +329,6 @@ class FilesAppContext implements Context, ActorAwareInterface {
 		$this->actor->find(self::createNewFolderMenuItemNameInput(), 2)->setValue($folderName . "\r");
 	}
 
-	/**
-	 * @Given I open the :section section
-	 */
-	public function iOpenTheSection($section) {
-		$this->actor->find(self::appNavigationSectionItemFor($section), 10)->click();
-	}
-
 	/**
 	 * @Given I open the details view for :fileName
 	 */
@@ -445,13 +413,6 @@ class FilesAppContext implements Context, ActorAwareInterface {
 				$this->actor->getSession()->getCurrentUrl());
 	}
 
-	/**
-	 * @Then I see that the current section is :section
-	 */
-	public function iSeeThatTheCurrentSectionIs($section) {
-		PHPUnit_Framework_Assert::assertEquals($this->actor->find(self::appNavigationCurrentSectionItem(), 10)->getText(), $section);
-	}
-
 	/**
 	 * @Then I see that the details view for :section section is open
 	 */