Vous obtenez une erreur 404 car votre application Flask n'a pas de routes. Je crois que le but du client Splinter Flask est de tester votre application Flask, pas de tester/demander d'autres domaines. La visite d'un autre domaine avec le client Splinter Flask demandera simplement l'URL de votre domaine. Vous n'avez spécifié aucune route pour votre application Flask, donc Flask répond avec une erreur 404.
Voici un exemple qui montre comment le client Splinter Flask fonctionne:
# define simple flask app
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
@app.route('/<name>')
def hello_world(name):
return 'Hello, {name}!'.format(name=name)
# initiate splinter flask client
from splinter import Browser
browser = Browser('flask', app=app)
# simple flask app assertions
browser.visit('http://127.0.0.1:5000')
assert browser.html == 'Hello, World!'
browser.visit('http://127.0.0.1:5000/haofly')
assert browser.html == 'Hello, haofly!'
# Notice that requesting other domains act as if it's your domain
# Here it is requesting the previously defined flask routes
browser.visit('http://www.google.com')
assert browser.html == 'Hello, World!'
browser.visit('http://www.google.com/haofly')
assert browser.html == 'Hello, haofly!'
Voici un autre test qui montre ce qui se passe réellement:
from flask import Flask
app = Flask(__name__)
@app.errorhandler(404)
def page_not_found(e):
return 'Flask 404 error!', 404
from splinter import Browser
browser = Browser('flask', app=app)
browser.visit('http://www.google.com/haofly')
assert browser.html == 'Flask 404 error!'
Avez-vous Firefox, Flask, lxml et cssselect installée? –
Je l'ai résolu, merci – haofly