add robot tests

This commit is contained in:
Matej Cotman 2014-01-25 18:07:57 +01:00
parent db825d4226
commit 6624dd51f5
4 changed files with 67 additions and 103 deletions

17
.travis.yml Normal file
View File

@ -0,0 +1,17 @@
language: python
python:
- "2.7"
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
install:
- "make"
script:
- "make tests"
- "make robot"
notifications:
irc:
channels:
- "irc.freenode.org#searx"
template:
- "%{repository}/#%{build_number}/%{branch} (%{author}): %{message} %{build_url}"

6
searx/engines/dummy.py Normal file
View File

@ -0,0 +1,6 @@
def request(query, params):
return params
def response(resp):
return []

View File

@ -6,109 +6,14 @@ server:
base_url: False base_url: False
engines: engines:
- name : wikipedia - name : general_dummy
engine : mediawiki engine : dummy
url : https://en.wikipedia.org/
number_of_results : 1
- name : bing
engine : bing
locale : en-US
- name : currency
engine : currency_convert
categories : general categories : general
- name : deviantart - name : dummy_dummy
engine : deviantart engine : dummy
categories : images categories : dummy
- name : ddg definitions locales:
engine : duckduckgo_definitions en : English
hu : Magyar
- name : duckduckgo
engine : duckduckgo
locale : en-us
- name : filecrop
engine : filecrop
categories : files
- name : flickr
engine : flickr
categories : images
- name : github
engine : github
categories : it
- name : google
engine : json_engine
search_url : https://ajax.googleapis.com/ajax/services/search/web?v=2.0&start=0&rsz=large&safe=off&filter=off&q={query}
categories : general
url_query : /responseData/results/unescapedUrl
content_query : /responseData/results/content
title_query : /responseData/results/titleNoFormatting
- name : google images
engine : google_images
categories : images
- name : piratebay
engine : piratebay
categories : videos, music, files
- name : soundcloud
engine : soundcloud
categories : music
- name : stackoverflow
engine : stackoverflow
categories : it
- name : startpage
engine : startpage
base_url : 'https://startpage.com/'
search_url : 'https://startpage.com/do/search'
- name : ixquick
engine : startpage
base_url : 'https://www.ixquick.com/'
search_url : 'https://www.ixquick.com/do/search'
- name : twitter
engine : twitter
categories : social media
- name : urbandictionary
engine : xpath
search_url : http://www.urbandictionary.com/define.php?term={query}
url_xpath : //div[@class="word"]//a/@href
title_xpath : //div[@class="word"]//a
content_xpath : //div[@class="definition"]
- name : yahoo
engine : xpath
search_url : http://search.yahoo.com/search?p={query}
results_xpath : //div[@class="res"]
url_xpath : .//h3/a/@href
title_xpath : .//h3/a
content_xpath : .//div[@class="abstr"]
suggestion_xpath : //div[@id="satat"]//a
- name : youtube
engine : youtube
categories : videos
- name : dailymotion
engine : dailymotion
locale : en_US
categories : videos
- name : vimeo
engine : vimeo
categories : videos
results_xpath : //div[@id="browse_content"]/ol/li
url_xpath : ./a/@href
title_xpath : ./a/div[@class="data"]/p[@class="title"]/text()
content_xpath : ./a/img/@src

View File

@ -9,3 +9,39 @@ Front page
Page Should Contain about Page Should Contain about
Page Should Contain preferences Page Should Contain preferences
About page
Click Element link=about
Page Should Contain Why use Searx?
Page Should Contain Element link=search engines
Engines page
Go To http://localhost:11111/engines
Page Should Contain Currently used search engines
Page Should Contain dummy_dummy
Page Should Contain general_dummy
Preferences page
Click Element link=preferences
Page Should Contain Preferences
Page Should Contain Default categories
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 Form id=search_form
Location Should Be http://localhost:11111/
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 Form id=search_form
Location Should Be http://localhost:11111/
Page Should Contain rólunk
Page Should Contain beállítások