UI Integration Testing

You can write integration tests using the Selenium Driver. frappe.utils.selenium_driver gives you a friendly API to write selenium based tests

To write integration tests, create a standard test case by creating a python file starting with test_

All integration tests will be run at the end of the unittests.

Example

Here is an example of an integration test to check insertion of a To Do

from __future__ import print_function
from frappe.utils.selenium_testdriver import TestDriver
import unittest
import time

class TestToDo(unittest.TestCase):
    def setUp(self):
        self.driver = TestDriver()

    def test_todo(self):
        self.driver.login()

        # list view
        self.driver.set_route('List', 'ToDo')

        time.sleep(2)

        # new
        self.driver.click_primary_action()

        time.sleep(2)

        # set input
        self.driver.set_text_editor('description', 'hello')

        # save
        self.driver.click_modal_primary_action()

        time.sleep(2)

        self.assertTrue(self.driver.get_visible_element('.result-list')
            .find_element_by_css_selector('.list-item')
            .find_element_by_css_selector('.list-id').text=='hello')

    def tearDown(self):
        self.driver.close()