diff options
Diffstat (limited to 'tests/robot')
-rw-r--r-- | tests/robot/__init__.py | 75 | ||||
-rw-r--r-- | tests/robot/test_basic.robot | 153 |
2 files changed, 75 insertions, 153 deletions
diff --git a/tests/robot/__init__.py b/tests/robot/__init__.py index e69de29bb..038a3196f 100644 --- a/tests/robot/__init__.py +++ b/tests/robot/__init__.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- + +from time import sleep + +url = "http://localhost:11111/" + + +def test_index(browser): + # Visit URL + browser.visit(url) + assert browser.is_text_present('about') + + +def test_404(browser): + # Visit URL + browser.visit(url + 'missing_link') + assert browser.is_text_present('Page not found') + + +def test_about(browser): + browser.visit(url) + browser.click_link_by_text('about') + assert browser.is_text_present('Why use searx?') + + +def test_preferences(browser): + browser.visit(url) + browser.click_link_by_text('preferences') + assert browser.is_text_present('Preferences') + assert browser.is_text_present('Cookies') + + assert browser.is_element_present_by_xpath('//label[@for="checkbox_dummy"]') + + +def test_preferences_engine_select(browser): + browser.visit(url) + browser.click_link_by_text('preferences') + + assert browser.is_element_present_by_xpath('//a[@href="#tab_engine"]') + browser.find_by_xpath('//a[@href="#tab_engine"]').first.click() + + assert not browser.find_by_xpath('//input[@id="engine_general_dummy__general"]').first.checked + browser.find_by_xpath('//label[@for="engine_general_dummy__general"]').first.check() + browser.find_by_xpath('//input[@value="save"]').first.click() + + # waiting for the redirect - without this the test is flaky.. + sleep(1) + + browser.visit(url) + browser.click_link_by_text('preferences') + browser.find_by_xpath('//a[@href="#tab_engine"]').first.click() + + assert browser.find_by_xpath('//input[@id="engine_general_dummy__general"]').first.checked + + +def test_preferences_locale(browser): + browser.visit(url) + browser.click_link_by_text('preferences') + + browser.select('locale', 'hu') + browser.find_by_xpath('//input[@value="save"]').first.click() + + # waiting for the redirect - without this the test is flaky.. + sleep(1) + + browser.visit(url) + browser.click_link_by_text('beállítások') + browser.is_text_present('Beállítások') + + +def test_search(browser): + browser.visit(url) + browser.fill('q', 'test search query') + browser.find_by_xpath('//button[@type="submit"]').first.click() + assert browser.is_text_present('didn\'t find any results') diff --git a/tests/robot/test_basic.robot b/tests/robot/test_basic.robot deleted file mode 100644 index d0074cd00..000000000 --- a/tests/robot/test_basic.robot +++ /dev/null @@ -1,153 +0,0 @@ -*** Settings *** -Library Selenium2Library timeout=10 implicit_wait=0.5 -Test Setup Open Browser http://localhost:11111/ -Test Teardown Close All Browsers - - -*** Keywords *** -Submit Preferences - Set Selenium Speed 2 seconds - Submit Form id=search_form - Location Should Be http://localhost:11111/ - Set Selenium Speed 0 seconds - - -*** Test Cases *** -Front page - Page Should Contain about - Page Should Contain preferences - -404 page - Go To http://localhost:11111/no-such-page - Page Should Contain Page not found - Page Should Contain Go to search page - -About page - Click Element link=about - Page Should Contain Why use searx? - Page Should Contain Element link=search engines - -Preferences page - Click Element link=preferences - Page Should Contain Preferences - Page Should Contain Default categories - Page Should Contain Currently used search engines - Page Should Contain dummy dummy - Page Should Contain general dummy - -Switch category - Go To http://localhost:11111/preferences - Page Should Contain Checkbox category_general - Page Should Contain Checkbox category_dummy - Click Element xpath=//*[.="general"] - Click Element xpath=//*[.="dummy"] - Submit Preferences - Checkbox Should Not Be Selected category_general - Checkbox Should Be Selected category_dummy - -Change language - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - Select From List locale hu - Submit Preferences - Page Should Contain rólunk - Page Should Contain beállítások - -Change method - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - Select From List method GET - Submit Preferences - Go To http://localhost:11111/preferences - List Selection Should Be method GET - Select From List method POST - Submit Preferences - Go To http://localhost:11111/preferences - List Selection Should Be method POST - -Change theme - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - List Selection Should Be theme legacy - Select From List theme oscar - Submit Preferences - Go To http://localhost:11111/preferences - List Selection Should Be theme oscar - -Change safesearch - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - List Selection Should Be safesearch None - Select From List safesearch Strict - Submit Preferences - Go To http://localhost:11111/preferences - List Selection Should Be safesearch Strict - -Change image proxy - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - List Selection Should Be image_proxy Disabled - Select From List image_proxy Enabled - Submit Preferences - Go To http://localhost:11111/preferences - List Selection Should Be image_proxy Enabled - -Change search language - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - List Selection Should Be language Default language - Select From List language Türkçe - tr-TR - Submit Preferences - Go To http://localhost:11111/preferences - List Selection Should Be language Türkçe - tr-TR - -Change autocomplete - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - List Selection Should Be autocomplete - - Select From List autocomplete google - Submit Preferences - Go To http://localhost:11111/preferences - List Selection Should Be autocomplete google - -Change allowed/disabled engines - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - Page Should Contain Engine name - Element Should Contain xpath=//label[@class="deny"][@for='engine_dummy_dummy_dummy'] Block - Element Should Contain xpath=//label[@class="deny"][@for='engine_general_general_dummy'] Block - Click Element xpath=//label[@class="deny"][@for='engine_general_general_dummy'] - Submit Preferences - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - Page Should Contain Engine name - Element Should Contain xpath=//label[@class="deny"][@for='engine_dummy_dummy_dummy'] Block - Element Should Contain xpath=//label[@class="deny"][@for='engine_general_general_dummy'] \ - -Block a plugin - Page Should Contain about - Page Should Contain preferences - Go To http://localhost:11111/preferences - List Selection Should Be theme legacy - Select From List theme oscar - Submit Preferences - Go To http://localhost:11111/preferences - List Selection Should Be theme oscar - Page Should Contain Plugins - Click Link Plugins - Checkbox Should Not Be Selected id=plugin_HTTPS_rewrite - Click Element xpath=//label[@for='plugin_HTTPS_rewrite'] - Submit Preferences - Go To http://localhost:11111/preferences - Page Should Contain Plugins - Click Link Plugins - Checkbox Should Be Selected id=plugin_HTTPS_rewrite |