ユーザーが XML スタイルのファイルをアップロードして、ブラウザーで変更できるようにする Web アプリケーションがあります。
私はスプリンターでシナリオをテストしようとしています。入力が正しい場合 ( id="form-widgets-body"
):
...私はそれを問題なく見つけることができattach_file
、その名前で使用することもできます:
(Pdb) brwsr.find_by_id('form-widgets-body')
[<splinter.driver.webdriver.WebDriverElement object at 0x7f2be3a32dd0>]
brwsr.attach_file('form.widgets.body', PATH_TO_FILE)
しかし、問題attach_file
は、実際にはファイルにアクセスできないことです。たぶん、何かが入力されたことを入力に伝えるだけで、他の種類のテストには適していますか? (たとえば、ドキュメント X をアップロードするまで、金融アプリの次の画面に進むことはできません)
代わりに試しsend_keys
ましたが、期待どおりに機能しませんでした:
(Pdb) brwsr.find_by_id('form-widgets-body').send_keys
*** AttributeError: 'ElementList' object has no attribute 'send_keys'
(Pdb) brwsr.find_by_id('form-widgets-body')[0].send_keys
*** AttributeError: 'WebDriverElement' object has no attribute 'send_keys'
そうは言っても、いくつかの質問:
send_keys
実際に私がやりたいこと (つまり、本物そっくりのアクセス可能なファイルのアップロード) を行いますか? もしそうなら、それを呼び出す正しい方法は何ですか?そうでない場合、他に何ができますか?(おそらくjsが必要ですか?)