summaryrefslogtreecommitdiff
path: root/tests/robot
diff options
context:
space:
mode:
authorAdam Tauber <asciimoo@gmail.com>2016-11-30 18:43:03 +0100
committerAdam Tauber <asciimoo@gmail.com>2017-05-15 12:02:30 +0200
commit52e615dede8538c36f569d2cf07835427a9a0db6 (patch)
treeac65990c72156def2d49e81d981f0b3beda4fd2e /tests/robot
parent46a2c63f8e1c3819cceff2d61fe9106051e8ecee (diff)
downloadsearxng-52e615dede8538c36f569d2cf07835427a9a0db6.tar.gz
searxng-52e615dede8538c36f569d2cf07835427a9a0db6.zip
[enh] py3 compatibility
Diffstat (limited to 'tests/robot')
-rw-r--r--tests/robot/__init__.py75
-rw-r--r--tests/robot/test_basic.robot153
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