From f859a3d40e91e64d4b5292cefd880075a27ddaf9 Mon Sep 17 00:00:00 2001 From: Elliot Smith Date: Thu, 31 Mar 2016 19:55:43 +0100 Subject: bitbake: toaster: tests Migrate to Selenium for UI tests Create a new folder for Selenium tests. Add a new base Selenium testcase class and a helper which instantiates a webdriver for a given browser. Add a sample Selenium test case which can be used as a template for creating new tests. (Bitbake rev: b7a377aa2ab36390d619e2a0436ccb4b8d186c23) Signed-off-by: Elliot Smith Signed-off-by: Michael Wood Signed-off-by: Richard Purdie --- bitbake/lib/toaster/tests/browser/test_sample.py | 41 ++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 bitbake/lib/toaster/tests/browser/test_sample.py (limited to 'bitbake/lib/toaster/tests/browser/test_sample.py') diff --git a/bitbake/lib/toaster/tests/browser/test_sample.py b/bitbake/lib/toaster/tests/browser/test_sample.py new file mode 100644 index 0000000000..7bb8b97e8c --- /dev/null +++ b/bitbake/lib/toaster/tests/browser/test_sample.py @@ -0,0 +1,41 @@ +#! /usr/bin/env python +# ex:ts=4:sw=4:sts=4:et +# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +# +# BitBake Toaster Implementation +# +# Copyright (C) 2013-2016 Intel Corporation +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# 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 General Public License for more details. +# +# You should have received a copy of the GNU 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. + +""" +A small example test demonstrating the basics of writing a test with +Toaster's SeleniumTestCase; this just fetches the Toaster home page +and checks it has the word "Toaster" in the brand link + +New test files should follow this structure, should be named "test_*.py", +and should be in the same directory as this sample. +""" + +from django.core.urlresolvers import reverse +from tests.browser.selenium_helpers import SeleniumTestCase + +class TestSample(SeleniumTestCase): + """ Test landing page shows the Toaster brand """ + + def test_landing_page_has_brand(self): + url = reverse('landing') + self.get(url) + brand_link = self.find('span.brand a') + self.assertEqual(brand_link.text.strip(), 'Toaster') -- cgit v1.2.3-54-g00ecf